[patch] interface routes

Alexander V. Chernikov melifaro at FreeBSD.org
Sat Mar 9 19:20:23 UTC 2013


On 09.03.2013 23:17, Nikolay Denev wrote:
> On Mar 7, 2013, at 9:42 PM, John-Mark Gurney<jmg at funkthat.com>  wrote:
>
>> Andre Oppermann wrote this message on Thu, Mar 07, 2013 at 08:39 +0100:
>>>> Adding interface address is handled via atomically deleting old prefix and
>>>> adding interface one.
>>>
>>> This brings up a long standing sore point of our routing code
>>> which this patch makes more pronounced.  When an interface link
>>> state is down I don't want the route to it to persist but to
>>> become inactive so another path can be chosen.  This the very
>>> point of running a routing daemon.  So on the link-down event
>>> the installed interface routes should be removed from the routing
>>> table.  The configured addresses though should persist and the
>>> interface routes re-installed on a link-up event.  What's your
>>> opinion on it?
>>>
>>> Other than these points I think your code is fine and can go
>>> into the tree.
>>
>> The issue that I see with this is that if you bump your cable, all
>> your connections will be dropped, because as soon as they try to send
>> something, they'll get a no route to host, and this will break the
>> TCP connection...  If we keep the routes when the link goes down,
>> the packet will be queued or dropped (depending upon ethernet driver),
>> but the TCP connection will not break...
>>
>> --
>>   John-Mark Gurney				Voice: +1 415 225 5579
>>
>>      "All that I will do, has been done, All that I have, has not."
>
> Maybe this can be made a option that can be turned on when needed.
Yes. There is another patch in this thread with 
"remove_iface_routes_on_change" per-VNET sysctl, turned off by default.
> What you describe can be very undesirable for a workstation/laptop or a server,
> but a router that itself does not have many connections originating or terminating on it could
> actually benefit from this.
> The current state is actually much worse for routers. A link down does not do anything, and
> while there may be a alternative route to be installed for example from OSPF, the interface without link
> pertains its routes and effectively blackholes all traffic.
>
> --
> Nikolay
>
>



More information about the freebsd-net mailing list