Subject: Re: multicast address management
To: None <matt@netbsd.org, tech-net@netbsd.org>
From: None <itojun@iijlab.net>
List: tech-net
Date: 06/26/2003 09:39:02
>>Module Name:	src
>>Committed By:	matt
>>Date:		Sun Jun 15 02:49:35 UTC 2003
>>
>>Modified Files:
>>	src/sys/netinet: igmp.c igmp_var.h in.c in_pcb.c in_pcb.h in_var.h
>>	    ip_input.c ip_var.h tcp_input.c udp_usrreq.c
>>
>>Log Message:
>>Change the way multicasts are kept.  They now use a hash table in the same
>>manner as the ifaddr hash table.  By doing this, the mkludge code can go
>>away.  At the same time, keep track of what pcbs are using what ifaddr and
>>when an address is deleted from an interface, notify/abort all sockets
>>that have that address as a source.  Switch IGMP and multicasts to use pools
>>for allocation.  Fix a number of potential problems in the igmp code where
>>allocation failures could cause a trap/panic.
>	tnx for the change.  we still have issued with ip_mroute.c and
>	if_detach(), which i don't have clear idea how to fix.
>	(rte->ifp keeps pointer to ifp, and if ifp goes away... bomb)

	also it seems to me that rti->ifp filled by rti_fill() would never
	be freed on if_detach().

itojun