Sorry, there was a mistake in my first listing.
IFF_PROMISC should allow acceptance, but it should not be passed to upper 
layers.
IFF_PPROMISC should also pass the packet to upper layers if I'm right.

If a packet ingresses an interface where
  ( dst MAC != interface MAC ) &&
  ( dst MAC != multicast joined groups ) &&
  ( dst MAC != broadcast )
I'd expect
  - the packet to be directly discarded if !( IFF_PROMISC || IFF_PPROMISC )
  - the packet to be accepted but not passed to upper layers if ( IFF_PROMISC 
&& !IFF_PPROMISC )
  - the packet to be accepted and passed to upper layers if ( IFF_PPROMISC )


Reply via email to