[patch] interface routes
Alexander V. Chernikov
melifaro at ipfw.ru
Thu Mar 7 14:10:59 UTC 2013
It seems I have no choice :)
WBR, Alexander
On 07.03.2013, at 18:03, Andre Oppermann <andre at freebsd.org> wrote:
> On 07.03.2013 14:54, Alexander V. Chernikov wrote:
>> On 07.03.2013 15:55, Andre Oppermann wrote:
>>> On 07.03.2013 12:43, Alexander V. Chernikov wrote:
>>>> On 07.03.2013 11:39, Andre Oppermann wrote:
>>>>> 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?
>>>>
>>>> This is exactly what is done in current code for IPv4:
>>>> if_down calls if_unroute(), it cals prctlinput() for every interface
>>>> address, and domain-dependent function like rip_ctlinput calls
>>>> in_ifscrub() cleaning given interface route.
>>>> However, address route (/32) still remains (but route daemons, at least
>>>> bird, tends to ignore it since it is not listed as valid interface
>>>> address/mask).
>>>
>>> IF_DOWN and link state down are not the same thing. When the cable
>>> is unplugged the link state goes down but not the interface.
> >
>> Ups. I've missed 'link' keyword.
>> Imho 'operational down' should behave exactly the same as 'admin down'
>> e.g. delete interface routes from route table.
>> It should be not very hard to do.
>
> Are you to implement it after the pinning patch? ;-)
>
> --
> Andre
>
>
More information about the freebsd-net
mailing list