Subject: if_detach
To: None <thorpej@netbsd.org>
From: None <itojun@iijlab.net>
List: tech-net
Date: 02/02/2000 10:27:05
>Module Name:	syssrc
>Committed By:	thorpej
>Date:		Tue Feb  1 22:52:14 UTC 2000
>Modified Files:
>	syssrc/sys/net: if.c if.h if_ethersubr.c route.c rtsock.c
>	syssrc/sys/netatalk: at_control.c at_extern.h ddp_usrreq.c
>	syssrc/sys/netccitt: hd_subr.c pk_input.c pk_usrreq.c
>	syssrc/sys/netinet: in.c in_var.h raw_ip.c tcp_usrreq.c udp_usrreq.c
>	syssrc/sys/netinet6: in6.c in6_ifattach.c in6_var.h nd6.c nd6_nbr.c
>	    nd6_rtr.c raw_ip6.c udp6_usrreq.c
>	syssrc/sys/netiso: cltp_usrreq.c iso.c iso_var.h
>	syssrc/sys/netns: idp_usrreq.c ns.c spp_usrreq.c
>	syssrc/sys/sys: protosw.h
>
>Log Message:
>First-draft if_detach() implementation, originally from Bill Studnemund,
>although this version has been changed somewhat:
>- reference counting on ifaddrs isn't as complete as Bill's original
>  work was.  This is hard to get right, and we should attack one
>  protocol at a time.
>- This doesn't do reference counting or dynamic allocation of ifnets yet.
>- This version introduces a new PRU -- PRU_PURGEADDR, which is used to
>  purge an ifaddr from a protocol.  The old method Bill used didn't work
>  on all protocols, and it only worked on some because it was Very Lucky.
>
>This mostly works ... i.e. works for my USB Ethernet, except for a dangling
>ifaddr reference left by the IPv6 code; have not yet tracked this down.

	in which part do you suspect them left?  i'll try to look at it.

itojun