Subject: Re: stray ifnet pointers in mcast membership records & cloning -> crash
To: Greg Troxel <gdt@ir.bbn.com>
From: Christos Zoulas <christos@zoulas.com>
List: tech-net
Date: 03/02/2005 12:23:49
On Mar 2, 11:49am, gdt@ir.bbn.com (Greg Troxel) wrote:
-- Subject: Re: stray ifnet pointers in mcast membership records & cloning ->

|   Greg, please put all this information and the previous message to a PR.
| 
| Sure, will do.

Thanks.

|   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.

Ok, I understand. Is it a feature to be able to join a v4 multicast group
without having a v4 address? Are there cases where this is useful? Like
for a DHCP like protocol?

| 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.

Well, if there are cases where having a multicast group joined without
having a v4 address make sense, it probably does not make sense to
remove the memberships when the last address is removed, but only on
interface deletion.

christos