Subject: Re: interface destruction issues with multicast membership
To: Christos Zoulas <christos@tac.gw.com>
From: Greg Troxel <gdt@ir.bbn.com>
List: tech-net
Date: 05/10/2005 16:31:24
[handle PRU_PURGEIF in all protocols]
I think that is perfectly reasonable. What is the alternative? To have
the last interface address removal code handle it?
I can see either:
Purge on last address removal. This seems like it has to happen on
all protocols in a domain, so it has the same issue. (I don't
understand why the panic I got doesn't happen without my change,
since I thought all protocols in the domain were called if there was
an address in the domain.) Has a touch of elegance, but I'm not
optimistic that such a complicated invariant can be maintained over
time as code changes.
Have a per-protocol NEEDS_PURGEIF flag, and only invoke the method
on such protocols. But this seems inelegant to me.
So, I'll start down the path of (not) handling PRU_PURGEIF in \forall
foo \in protocols: foo_usrreq, and submit a patch with that and the
new for loop I just sent.
--
Greg Troxel <gdt@ir.bbn.com>