On Wednesday 26 July 2006 16:34, Stephens, Allan wrote:
> Hi there:
> I've been running UML using Linux 2.6.17 (guest) and 2.6.12 (host) and
> configured a guest with a pair of Ethernet multicast interfaces as shown
> below. (Note that I didn't configure any IP addresses, as I'm not
> trying to use them to carry IP traffic.)
> uml_mconsole <session> config eth1=mcast,00:00:00:00:01:01
> uml_mconsole <session> config eth2=mcast,00:00:00:00:02:02
> When a second guest transmitted traffic using a destination address of
> 00:00:00:00:01:01, the message showed up on both interfaces (as
> expected). However, the kernel protocol handled incoming messages did
> not recognize and discard the unwanted copy that showed up at "eth2"
> because the associated "struct net_device" object did not have the
> "promiscuity" field set to indicate that the interface might receive
> traffic other than its own.
That's a slightly wrong interpretation of the flag (it actually means that the
interface should accept others' packets; whether it may receive them or not
is indicated by the BROADCAST/POINTTOPOINT flag in ifconfig output).
It's also a slightly complex way to check it:
ifconfig eth2 |grep PROMISC would be simpler.
and ifconfig eth2 promisc would enable it.
> It seems to me that any UML interface configured to use multicast should
> cause the promiscuity field of the associated net_device to be set --
> but maybe I'm missing something here. Is the scenario I encountered
> really a bug?
No, it's a feature; I understand your point of view and what you say makes
sense from that, but you're looking from an unusual point of view (and you
went very fast up the knowledge hill so it's not a problem, you must be a
You're more or less claiming that if you have a hub-based Ethernet LAN
(multicast networking has the same properties, it's a broadcast LAN
implemented over multicast IP) all PCs should auto-configure their interfaces
to work in promiscuos mode.
That's wrong, as promiscuos mode only makes sense in hub-based networks and
You can still configure your interface to work in promiscuos mode as said
All this said, if when trying what I suggested you see unexpected behaviour,
it _may_ be a bug (especially in UML network support and/or UML multicast
Inform me of my mistakes, so I can keep imitating Homer Simpson's "Doh!".
Paolo Giarrusso, aka Blaisorblade
Chiacchiera con i tuoi amici in tempo reale!