On 18 Aug 2014, at 18:32, Alexander Demenshin <[email protected]> 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
