Hi Jeff:

See comments below.

> -----Original Message-----
> From: Jeff Dike [mailto:[EMAIL PROTECTED] 
> Sent: Thursday, August 03, 2006 2:26 PM
> To: Stephens, Allan
> Cc: Paolo Giarrusso; 
> user-mode-linux-devel@lists.sourceforge.net; 
> user-mode-linux-user@lists.sourceforge.net
> Subject: Re: [uml-devel] [uml-user] Promiscuous mode interface bug?
> 
> On Thu, Aug 03, 2006 at 09:29:51AM -0700, Stephens, Allan wrote:
> > These differences may make sense to people who understand how the 
> > various transport mechanisms work, but it still leave me with a
> > question: why, in the latter two cases, is UML allowing 
> > non-promiscuous interfaces to receive traffic that wasn't sent to 
> > them?  I can understand that configuring uml_switch as a hub means 
> > that packets may be forwarded to places they don't need to go, but 
> > shouldn't these packets still be filtered out somewhere 
> further down 
> > the line?  As I naive user, I'm not expecting a (simulated) 
> interface 
> > to receive traffic that wasn't addressed to it unless it has been 
> > explicitly configured as promiscuous.
> 
> Either you or I have a very basic misunderstanding of how 
> these things are supposed to work.

That is entirely possible.

> You seem to be thinking that when you set an interface 
> promiscuous, it somehow reaches out to the switch and tells 
> it to start sending it everything, and when it is set 
> non-promiscuous, it tells the switch to only send stuff 
> addressed to it.

No, this isn't my thinking at all.  (See next point.)

> I seem to be thinking that the packets that actually reach 
> the interface is not controlled by its promiscuous setting, 
> and the setting controls whether the packets reach the 
> network stack and are visible to software.

I agree with this view completely.

> Needless to say, I think my thinking is closer to the truth.  
> There is no mechanism that I know of for an interface to 
> communicate its promiscuous setting to a switch.  Switches do 
> remember the MAC associated with a port, but that is done by 
> sniffing the packets going by.
> 
>                               Jeff

Agreed.

Where I think my confusion is arising is in the details of how the
filtering
controlled by the promiscuous setting is actually done.  If a packet
with 
the "wrong" destination address arrives at an interface, who checks to
see
whether the interface has been configured as promiscuous and
passes/discards it
accordingly?  I have naively assumed that this was handled in hardware
on the
NIC card in a real system, but is it really done by software?  If so,
where in
the kernel is this done?  Again, I would naively assume it was done by
the Ethernet
driver code that passes packets up to the network stack.  What I seem to
be
observing in my UML testing is that *nobody* is doing this filtering,
resulting in
unwanted packets being handed to my protocol (which sits directly on top
of the
Ethernet driver).  Is this truly the effect I would see if I had a bunch
of PCs
connected together using an Ethernet hub?

Regards,
Al

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
User-mode-linux-user mailing list
User-mode-linux-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-user

Reply via email to