Subject: Re: netinet, netinet6, and PRC_IFDOWN
To: Jason Thorpe <thorpej@nas.nasa.gov>
From: None <itojun@iijlab.net>
List: tech-net
Date: 02/03/2000 09:42:42
>So, I've discovered a problem with IPv4 and IPv6 in that they don't
>pay attention to PRC_IFDOWN.  Other protocols do (e.g. OSI, XNS), and
>generate "host unreachable" errors for everything using that interface.
>
>Possibly what netinet{,6} should do is an in{,6}_rtchange() to release
>the refernce to the routes they're holding (these are e.g. default
>route, ARP entries, etc.), so as to force allocation of a new one the
>next time through.  This is what redirects do, and I suspeect it will
>be harmless... if it's a case of "ifconfig tlp0 down" *without*
>detaching the interface, I'm pretty sure it will just allocate the
>same route as before, so no side-effects like "ifconfig down/up
>causes my connections to zorf".  But I obviously need to double-check
>that :-)

	(I've already seen your commit, but...)
	My impression is that PRC_xxx is not well documented, and there
	are missing cases that should be implemented.
	I can't understand why one PRC_xxx is supported in one AF and
	not the other, but I'm not quite sure since the only description we
	have is sys/protosw.h.
	Are there any documents/whatever for this domain?

>...or should we add a PRC_IFGONE?  Note I'm not speaking for ifaddrs
>and the PRU_PRUGEIF issue; this one would be for e.g. notifying PCBs
>that they need to refresh themselves?

	(separate thing)
	I imagined of having both PURGEADDR and PURGEIF (purge addresses by
	PURGEADDR and then final cleanup by PURGEIF - AFs can choose either
	of them to use, or both) during last email exchanges.
	anyway I'm very happy with the latest code.

itojun