Subject: Re: CVS commit: syssrc
To: enami tsugutomo <enami@but-b.or.jp>
From: None <itojun@iijlab.net>
List: source-changes
Date: 10/09/2000 12:21:00
>>> maybe the above commit changed the goal slightly.
>>> the goal of multicast kludge table (which i ported from
>>> sys/netinet6/in6.c) was to keep multicast group information ONLY,
>>> when all the interface address is gone. it was not my intention
>>> to avoid the removal of the last IPv4 interface address.
>>> could you tell me why is the change?
>>Hmm, I guess you're misunderstanding my change or the comment I wrote
>>was miss the point. I didn't change ``to avoid the removal of the
>>last IPv4 interface address.''
>(snip)
> i see, your code looks more correct. i'll need to fix IPv6 counterpart.
i ran some experiment with IPv6, and now I think in_pcbpurgeif() is
incorrect. it should not leave multicast groups the user application
have joined.
for example:
- have an interface if0.
- run a multicast application. join a multicast group on if0.
- remove if0 (for example, pcmcia card).
in_pcbpurgeif() nukes all multicast groups joined by the application.
- re-insert if0. now, the application has no multicast group with it.
if you agree that in_pcbpurgeif() should not leave multicast groups
for pcb, we should revisit in_purgeaddr()...
itojun