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?)