Subject: Re: IFF_SIMPLEX and multicast
To: None <itojun@iijlab.net>
From: enami tsugutomo <enami@sm.sony.co.jp>
List: tech-net
Date: 04/09/2001 19:47:50
itojun@iijlab.net writes:

> >> 	sys/net/if_ethersubr.c has IFF_SIMPLEX checks for broadcast cases
> >> 	(M_BCAST) and not for multicast (M_MCAST).  are there specific
> >> 	reasons for this?   if multicast handling was introduced after
> >> 	IFF_SIMPLEX is invented, it may be a bug in L2 multicast support.
> >Unless explicitly disabled, multicast packets are looped back in L3,
> >aren't they?
> 
> 	oops, you right.  i still have one question - should we put a check
> 	for "multicast outgoing packet looped back to myself" packets,
> 	in sys/net/if_ethersubr.c?  we have a couple of ethernet
> 	chips/drivers that do this.

Which one?  I've grep'ed roughly (grep -B 32 'if_input)'
{ic,isa,pci}/*.c) and found tulip and lance discards some packet under
some condition, but exact behaviour doesn't look like `discards
multicast packet sent by me'.

>	for example, see sys/dev/ic/smc91cxx.c.
> 	(the chip loops outgoing multicast packets back to itself, while
> 	it does not loop back broadcasts)

As far as reading the driver code (and comments), packets looped back
to aren't only multicast.

enami.