On Fri, 2008-10-03 at 03:44 -0400, Peter Memishian wrote:
> > On Thu, 2008-10-02 at 23:18 -0400, Sebastien.Roy at Sun.COM wrote:
>  > > Author:    Sebastien Roy <Sebastien.Roy at Sun.COM>
>  > > Changeset: 7716:775d51a3292f
>  > > Comments:
>  > > 6749628 ipv6 multicast traffic from remote host not visible via ipnet
>  > > 6755448 ifconfig wedged in SIOCLIFREMOVEIF
>  > > need to keep track of promisc_multi for both IPv4 and IPv6
>  > > allmulti state gets lost when addresses are unplumbed; need to use ilm 
> list
>  > > calling ipsq_enter() while holding an ill reference can deadlock
>  > > need to purge allmulti memberships on unplumb
>  > > need a more efficient check for ipobs callbacks in the ip datapath
>  > 
>  > The webrev for this change is:
>  > 
>  > http://zhadum/ws/seb/seb-ipobs-fix/webrev.6749628/
> 
> This looks good, though it's not clear to me why we need if_multicnt,
> IPNETIF_IPV6ALLMULTI and IPNETIF_IPV4ALLMULTI.   Seems like we could
> instead have two counters (e.g. if_multi4cnt and if_multi6cnt) and remove
> the flags and if_multicnt.

The semantics are clearer to me this way.  The count represents how many
times DL_PROMISC_MULTI has been enabled on an ipnetif_t (this is
independent of address families), and the flags represents which ill
we've enabled the allmulti group on underneath (this is only done once
per address family, not multiple times).

-Seb



Reply via email to