bgp keepalive and expired issues on bird 1.6.8
Hello, we have encountered some issues using bird 1.6.8 there are two issues : 1) sometimes bird looks like doesn't handle neighbor's bgp keepalive messages. when we get bgp hold timer exprired issue, on tcpdump there are keepalive packets that neighbor physical router sent and the server replied. but there is no "Got KEEPALIVE" messages on bird.log and bgp session closed after "Error: Hold timer expired" message. 2) bgp session exprired less than bgp hold timer value. we set BGP hold timer to 9 seconds, but bgp expired in 7 seconds In logs got it: 2022-08-28 10:25:55 <TRACE> as1: Got KEEPALIVE <- 10:25:56 ( got keepalived from as1 neighbor on tcpdump but not on bird.log ) <- 10:25:59 ( got keepalived from as1 neighbor on tcpdump but not on bird.log ) 2022-08-28 10:26:02 <RMT> as1: Error: Hold timer expired 2022-08-28 10:26:02 <TRACE> as1: BGP session closed bgp neighbor is physical router. have you got reported this cases? or we should upgrade to bird 2? Thank you and best regards, ted
안녕하세요 Ted, Not sure if this applies to bird as we have not had this issue with it, but we did see this with our Cisco ASR9k peering with a carrier that uses Nokia routers. This issue was that the protocol is supposed to negotiate the keepalive values so that the lowest value between them takes precedent. The issue is that the Nokia routers negotiate it and then ignore it. We had to match the keepalives with what that carrier had set in their routers. Hope that this may help with the same issue in bird. Best, -Troy Sent from my iPhone
On Sep 27, 2022, at 8:30 PM, 안상혁 via Bird-users <bird-users@network.cz> wrote:
Hello,
we have encountered some issues using bird 1.6.8
there are two issues :
1) sometimes bird looks like doesn't handle neighbor's bgp keepalive messages.
when we get bgp hold timer exprired issue, on tcpdump there are keepalive packets that neighbor physical router sent and the server replied.
but there is no "Got KEEPALIVE" messages on bird.log and bgp session closed after "Error: Hold timer expired" message.
2) bgp session exprired less than bgp hold timer value.
we set BGP hold timer to 9 seconds, but bgp expired in 7 seconds
In logs got it:
2022-08-28 10:25:55 <TRACE> as1: Got KEEPALIVE
<- 10:25:56 ( got keepalived from as1 neighbor on tcpdump but not on bird.log ) <- 10:25:59 ( got keepalived from as1 neighbor on tcpdump but not on bird.log )
2022-08-28 10:26:02 <RMT> as1: Error: Hold timer expired 2022-08-28 10:26:02 <TRACE> as1: BGP session closed
bgp neighbor is physical router.
have you got reported this cases? or we should upgrade to bird 2?
Thank you and best regards, ted
Hello, I hope this is the right place to ask my question: I used bird2.0.10 (from debian backports) since some time I get the message "Netlink: No route to host", however in the bird log it does not specify which host it is. Is there any way to find out? Oct 03 19:04:04 blinky bird[1062]: Netlink: No route to host Oct 03 19:04:03 blinky bird[1062]: ... Oct 03 19:04:03 blinky bird[1062]: Netlink: No route to host Oct 03 19:04:02 blinky bird[1062]: ... Oct 03 19:04:02 blinky bird[1062]: Netlink: No route to host Oct 03 19:04:01 blinky bird[1062]: ... Oct 03 19:04:01 blinky bird[1062]: Netlink: No route to host Oct 03 19:04:00 blinky bird[1062]: ... Oct 03 19:04:00 blinky bird[1062]: Netlink: No route to host Oct 03 19:03:59 blinky bird[1062]: ... Oct 03 19:03:59 blinky bird[1062]: Netlink: No route to host Oct 03 19:03:58 blinky bird[1062]: ... Oct 03 19:03:58 blinky bird[1062]: Netlink: No route to host Oct 03 19:03:57 blinky bird[1062]: ... Oct 03 19:03:57 blinky bird[1062]: Netlink: No route to host Oct 03 19:03:56 blinky bird[1062]: ... Oct 03 19:03:56 blinky bird[1062]: Netlink: No route to host Oct 03 19:03:55 blinky bird[1062]: ... Oct 03 19:03:55 blinky bird[1062]: Netlink: No route to host Oct 03 19:03:54 blinky bird[1062]: ... Oct 03 19:03:54 blinky bird[1062]: Netlink: No route to host I am very happy about help! With kind regards Marek Küthe
On Mon, Oct 03, 2022 at 07:07:58PM +0200, Marek Küthe via Bird-users wrote:
Hello,
I hope this is the right place to ask my question:
I used bird2.0.10 (from debian backports) since some time I get the message "Netlink: No route to host", however in the bird log it does not specify which host it is. Is there any way to find out?
Hello This is most likely related to failure to push route to kernel, perhaps with invalid/strange next hop or iface. You can enable 'debug all' for kernel protocol. That would at least show which routes it tries to send. If you do 'show route', you see '!' for routes that failed to install into the kernel table. -- Elen sila lumenn' omentielvo Ondrej 'Santiago' Zajicek (email: santiago@crfreenet.org) OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net) "To err is human -- to blame it on a computer is even more so."
On Wed, Sep 28, 2022 at 12:22:10PM +0900, 안상혁 via Bird-users wrote:
Hello,
we have encountered some issues using bird 1.6.8
there are two issues :
1) sometimes bird looks like doesn't handle neighbor's bgp keepalive messages.
It is good idea to check which are effective keepalive and hold timeouts (in 'show protocols all'), they may be different from configured ones due to negotiation. It was possible to configure BIRD to have shorter or similar hold interval to keepalive interval. Also did that happen during CPU/BIRD full load, or during regular operation?
when we get bgp hold timer exprired issue, on tcpdump there are keepalive packets that neighbor physical router sent and the server replied.
but there is no "Got KEEPALIVE" messages on bird.log and bgp session closed after "Error: Hold timer expired" message.
2) bgp session exprired less than bgp hold timer value.
we set BGP hold timer to 9 seconds, but bgp expired in 7 seconds
Note that BGP timers are randomized a bit (RFC 4271 section 10, although RFC leaves out HoldTimer, we randomize it too), so that is expected.
or we should upgrade to bird 2?
We would strongly suggest upgrading to bird 2. -- Elen sila lumenn' omentielvo Ondrej 'Santiago' Zajicek (email: santiago@crfreenet.org) OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net) "To err is human -- to blame it on a computer is even more so."
participants (4)
-
Marek Küthe -
Ondrej Zajicek -
Troy Beisigl -
안상혁