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.