Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 09 Mar 2013 23:19:50 +0400
From:      "Alexander V. Chernikov" <melifaro@FreeBSD.org>
To:        Nikolay Denev <ndenev@gmail.com>
Cc:        John-Mark Gurney <jmg@funkthat.com>, Andre Oppermann <andre@freebsd.org>, net@freebsd.org
Subject:   Re: [patch] interface routes
Message-ID:  <513B8B56.1000005@FreeBSD.org>
In-Reply-To: <5205A02F-E886-4B7E-8494-1D92F930933B@gmail.com>
References:  <513834E4.7050203@FreeBSD.org> <51384443.5070209@freebsd.org> <20130307214205.GD50035@funkthat.com> <5205A02F-E886-4B7E-8494-1D92F930933B@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 09.03.2013 23:17, Nikolay Denev wrote:
> On Mar 7, 2013, at 9:42 PM, John-Mark Gurney<jmg@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
>
>




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?513B8B56.1000005>