Subject: Re: stray ifnet pointers in mcast membership records & cloning -> crash
To: Christos Zoulas <christos@zoulas.com>
From: Greg Troxel <gdt@ir.bbn.com>
List: tech-net
Date: 03/02/2005 11:49:40
  Greg, please put all this information and the previous message to a PR.

Sure, will do.

  I think that the code that deletes an address should probably delete
  the multicast memberships from that address. Doesn't that make sense?

Not totally.  The multicast membership contains a multicast address
and a struct ifnet *.  The membership is not about the (unicast)
address on the interface - it is linked to the interface.  When
joining, one can either give a unicast address which is used to find
the interface, or an ifindex.

One could argue that having a v4 multicast group joined on an
interface with no v4 addrs should be illegal, and I'd be sympathetic
to that.  But one would have to delete all memberships from an
interface when the last address is removed.