Subject: Re: if_detach
To: Jason Thorpe <thorpej@nas.nasa.gov>
From: None <itojun@iijlab.net>
List: tech-net
Date: 02/02/2000 15:16:37
> > 	in6_purgeaddr() calls in6_savemkludge().  when the last interface
> > 	address is removed by in6_purgeaddr(), the list of joined multicast
> > 	group will be attached into in6_mk.  when if_detach() removes ifnet
> > 	from if_list, I think if_detach should notify IPv6 part and ask
> > 	removal of kludge entry (otherwise ifnet * will be kept there).
>Well... here's what I have:
>        if (oia->ia6_multiaddrs.lh_first != NULL) {
(snip)
>...i.e. if the interface associated with the ifaddr is dead, delete
>the multicast addresses, rather than do the savemkludge... shouldn't
>that get rid of them?
> > 	i think the code does the thing right.  the missing piece is
> > 	removal of kludge entry when ifnet goes invisible by if_detach
> > 	(I think kludge entry should go away - am I correct?)
>Right... Shouldn't my code do that? :-)

	oops sorry, I misread that part.  It should do the right thing.
	(still waiting for make build to complete....)

>BTW, I've also noticed that ARP entries for IPv4 aren't going
>away (don't know why I didn't notice that before, sigh).  I
>do a routing table walk, so I'm a little confused about what's
>really going on here... clearly time for more printfs...

	will situation change if we remove options INET6?  or some other
	reasons?

itojun