Removing device-bound routes when interface is going down
Alex Bligh
alex at alex.org.uk
Mon Aug 18 19:39:09 CEST 2014
On 18 Aug 2014, at 18:32, Alexander Demenshin <aldem-bird.2014 at nk7.net> wrote:
>
> When route is added manually/externally to the kernel, and bound to specific
> interface, like this:
>
> $ ip route add 10.1.1.0/24 dev eth0
>
> ...it is correctly identified by bird (via async netlink message), but when
> the interface goes down, this route is not deleted, as there is no corresponding
> netlink message (tested on most recent kernel, 3.16.1, and also on older 3.11,
> this happens only on if-down event, manual deletion works fine).
Would you expect such routes to be *deleted*? Let's say you had 100 carefully
crafted device routes to an ethernet interface, and the switch at the
other end of the cable rebooted. If the routes were deleted, you would
lose them all.
> Fixing this problem in the mainstream kernel (if this is indeed unintentional behavior)
> will clearly take ages, but it could be easily solved in bird itself - if interface
> is going down, all routes pointing to this device must be removed (not only
> direct and static routes - where it works perfectly).
That would seem the right thing to do.
--
Alex Bligh
More information about the Bird-users
mailing list