Subject: Re: if_detach handling styles
To: Bill Sommerfeld <sommerfeld@orchard.arlington.ma.us>
From: None <itojun@iijlab.net>
List: tech-net
Date: 02/02/2000 23:47:55
>> 	(switched to tech-net)
>> 	Not sure if it is real problem, but shouldn't we better flush inp_route
>> 	on tcp_usrreq(PRU_PURGEADDR) and other occasions?
>What are the ramifications of this?  if it would cause connections to
>break on the next retransmit, no -- if you reinsert/reconfigure the
>interface before TCP gives up (and get the same address..), you should
>be able to continue.

	it won't break any of existing communications.  we need to inform
	inpcb to obtain fresh route so that they are happy across interface
	removal.

	inp_route caches the previously-used outgoing route for an inpcb.
	if interface gets deleted, each of inpcb will need to refresh
	cached route.  For example:
	- you have two interfaces (ne0 and tlp0)
	- default route is pointing toward nexthop on ne0
	- 10.1.1.0/24 is pointing toward nexthop on tlp0
	- you are doing tcp with 10.1.1.1 (yes, toward tlp0)
	you have a route pointing toward tlp0 cached into inpcb.
	when tlp0 gets removed, inpcb for the tcp connection needs to get
	a fresh one.

itojun