[BIRD 2.0.x] Netlink: ignore dead routes
Vincent Bernat
bernat at luffy.cx
Fri Jan 15 12:01:47 CET 2021
❦ 15 janvier 2021 05:39 +01, Ondrej Zajicek:
>> It is more complex that I would have expected. First, in-kernel, the
>> next-hop only has RTNH_F_LINKDOWN, not RTNH_F_DEAD. This later flag is
>> added when sending the flags over netlink only.
>>
>> Second, there is no async notification when a route goes down either.
>> There is a notification on the interface. How BIRD handles this case? Is
>> a route scan triggered when an interface goes down? I'll test more
>> later, it's a bit late for me.
>
> Hi
>
> Yes, scan is triggered in krt_if_notify() for iface-admin-down event.
> Perhaps we can also trigger scan for iface-link-down event.
Hello,
You mean this part in krt.c?
if ((flags & IF_CHANGE_DOWN) && KRT_CF->learn)
krt_scan_timer_kick(p);
I was also confused by the debug code in iface.c:
if (i->flags & IF_ADMIN_UP)
debug(" LINK-UP");
I think it should be ADMIN-UP and the if for IF_LINK_UP should be added.
I can test such a change in a few days.
--
Don't stop at one bug.
- The Elements of Programming Style (Kernighan & Plauger)
More information about the Bird-users
mailing list