Subject: Re: CVS commit: syssrc
To: None <enami@netbsd.org>
From: None <itojun@iijlab.net>
List: source-changes
Date: 10/08/2000 22:12:36
>Module Name:	syssrc
>Committed By:	enami
>Date:		Sun Oct  8 09:15:29 UTC 2000
>
>Modified Files:
>	syssrc/sys/netinet: in.c in_var.h
>
>Log Message:
>- Keep track of allhost multicast address record we joined into
>  each in_ifaddr and delete it when an address is purged.

	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?

>- Don't simply try to delete a multicast address record listed in the
>  ia_multiaddrs.  It results a dangling pointer.  Let who holds a
>  reference to it to delete it.

	this refers to in_purgemkludge(), correct?  i experimented this
	with IPv6 case and IPv4 case, and don't understand why we have
	dangling pointer.   i assumed that in_purgemkludge() is called
	only after we flushed all interface addresses.

itojun