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