Re: BIRD trying to reinsert existing kernel routes, netlink issue?
I know this was an old thread, but would really appreciate if anyone is interested in digging in deeper. I can confirm the exact same behavior happens to me on NixOS with the 5.4.69 kernel but not on 4.19.149. BIRD 2.0.7 on 5.4.69 would incessantly attempt to insert the same routes, rendering birdc unusable as it was presumably taking up so much time in the main loop (it was receiving an IPv4 full table over iBGP as well). While it was doing that, it stopped announcing the prefixes of stub interfaces to OSPF neighbors. Thanks, Zhaofeng Li On Sun, Aug 2, 2020, at 17:36 PM, Sasha Romijn wrote:
Hello,
I’m running into a rather complex issue where BIRD tries to reinsert routes into the kernel routing table that are already in there. I’m at the point of suspecting a netlink bug in the 5.x linux kernel. However, I may be entirely off, and would like to hear what people with more BIRD and/or netlink expertise think about it.
My setup is bird 2.0.7 on Ubuntu 20.04. I’ve been able to reproduce this with the default 5.4.0-42-generic kernel as well as the ubuntu mainline 5.7.0-050700-generic kernel. This bird instance has an IBGP peering with another bird 2.0.7 instance, which sends an IPv4 full table. The IBGP peering is set up over a GRE tunnel. There is no other routing software running. I am seeing this issue on another server too, ubuntu 20.04 with 5.4.0-42-generic. A third one with ubuntu 18.04 and a 4.15.0-20-generic kernel, is fine.
Hello, I narrowed it down to being introduced in 5.3.0, and did look at the changes in that compared to the latest 5.2, but they are too large and complex for me to debug further. I don’t really have anything else to go on. I work around it now by just running the 5.2 kernel or OpenBSD instead. Sasha
On 8 Oct 2020, at 23:53, Zhaofeng Li <hello@zhaofeng.li> wrote:
I know this was an old thread, but would really appreciate if anyone is interested in digging in deeper. I can confirm the exact same behavior happens to me on NixOS with the 5.4.69 kernel but not on 4.19.149.
BIRD 2.0.7 on 5.4.69 would incessantly attempt to insert the same routes, rendering birdc unusable as it was presumably taking up so much time in the main loop (it was receiving an IPv4 full table over iBGP as well). While it was doing that, it stopped announcing the prefixes of stub interfaces to OSPF neighbors.
Thanks, Zhaofeng Li
On Sun, Aug 2, 2020, at 17:36 PM, Sasha Romijn wrote:
Hello,
I’m running into a rather complex issue where BIRD tries to reinsert routes into the kernel routing table that are already in there. I’m at the point of suspecting a netlink bug in the 5.x linux kernel. However, I may be entirely off, and would like to hear what people with more BIRD and/or netlink expertise think about it.
My setup is bird 2.0.7 on Ubuntu 20.04. I’ve been able to reproduce this with the default 5.4.0-42-generic kernel as well as the ubuntu mainline 5.7.0-050700-generic kernel. This bird instance has an IBGP peering with another bird 2.0.7 instance, which sends an IPv4 full table. The IBGP peering is set up over a GRE tunnel. There is no other routing software running. I am seeing this issue on another server too, ubuntu 20.04 with 5.4.0-42-generic. A third one with ubuntu 18.04 and a 4.15.0-20-generic kernel, is fine.
Hello, I tried the snapshot of 2.0.9 (git hash 71c9484b00b4428ae6c7d7c8eea6d96073683a54) and I don’t have any netlink error messages on 5.x anymore. The exact version is 5.15.23-gentoo. On Sat 10 Oct 2020 15:32:58 GMT, Sasha Romijn wrote:
Hello,
I narrowed it down to being introduced in 5.3.0, and did look at the changes in that compared to the latest 5.2, but they are too large and complex for me to debug further. I don’t really have anything else to go on.
I work around it now by just running the 5.2 kernel or OpenBSD instead.
Sasha
On 8 Oct 2020, at 23:53, Zhaofeng Li <hello@zhaofeng.li> wrote:
I know this was an old thread, but would really appreciate if anyone is interested in digging in deeper. I can confirm the exact same behavior happens to me on NixOS with the 5.4.69 kernel but not on 4.19.149.
BIRD 2.0.7 on 5.4.69 would incessantly attempt to insert the same routes, rendering birdc unusable as it was presumably taking up so much time in the main loop (it was receiving an IPv4 full table over iBGP as well). While it was doing that, it stopped announcing the prefixes of stub interfaces to OSPF neighbors.
Thanks, Zhaofeng Li
On Sun, Aug 2, 2020, at 17:36 PM, Sasha Romijn wrote:
Hello,
I’m running into a rather complex issue where BIRD tries to reinsert routes into the kernel routing table that are already in there. I’m at the point of suspecting a netlink bug in the 5.x linux kernel. However, I may be entirely off, and would like to hear what people with more BIRD and/or netlink expertise think about it.
My setup is bird 2.0.7 on Ubuntu 20.04. I’ve been able to reproduce this with the default 5.4.0-42-generic kernel as well as the ubuntu mainline 5.7.0-050700-generic kernel. This bird instance has an IBGP peering with another bird 2.0.7 instance, which sends an IPv4 full table. The IBGP peering is set up over a GRE tunnel. There is no other routing software running. I am seeing this issue on another server too, ubuntu 20.04 with 5.4.0-42-generic. A third one with ubuntu 18.04 and a 4.15.0-20-generic kernel, is fine.
participants (3)
-
Alarig Le Lay -
Sasha Romijn -
Zhaofeng Li