❦ 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)