Subject: Re: interface destruction issues with multicast membership
To: None <tech-net@netbsd.org>
From: Christos Zoulas <christos@tac.gw.com>
List: tech-net
Date: 05/10/2005 15:52:48
In article <rmiu0lazz1w.fsf@fnord.ir.bbn.com>,
Greg Troxel  <gdt@ir.bbn.com> wrote:
>Earlier, I wrote about trouble with destroying a ppp(4) interface when
>it had not IP addresses but did have multicast memberships.  The
>udp_usrreq PRU_PURGEIF did not get invoked due to not having
>configured addresses.
>
>I patched sys/net/if.c to unconditionally call foo_usrreq for all
>protocols in all domains, and got a panic for an unhandled request in
>raw_usrreq called from key_usrreq.  My thinking is that telling a
>protocol that an interface is gone is always legitimate, even if the
>protocol doesn't care, and thus such usrreq functions should be
>adjusted to just return quietly in such cases.  Would a patch that had
>the below changes and also such "if PURGEIF return 0" cleanups be
>reasonable?

I think that is perfectly reasonable. What is the alternative? To have
the last interface address removal code handle it?

christos