Subject: Re: if_detach handling styles
To: None <itojun@iijlab.net>
From: Jonathan Stone <jonathan@DSG.Stanford.EDU>
List: tech-net
Date: 02/02/2000 08:31:23
In message <22027.949502875@coconut.itojun.org>itojun@iijlab.net writes
>
>>> 	(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)
[...]

I think Bill is talking about the case where you have only one card,
and he wants _some_ kind of route to stay around, so apps don't get an
ENETUNREACH and give up. Say, switching a single-cardbus-slot laptop
(without builtin ethernet) from PCMCIA Ethernet to PCMCIA wireless, or
vice-versa. Apps that retransmit while there's no interface are in
trouble.  (Bill--is that right?)