-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Withdrawing/announcing BGP routes in a loop with timeout scenario behaves differently with BGP suppress FIB feature enabled #14797
Description
Describe the bug
For the SONiC NOS, we have a BGP stress test that will do the following:
- Withdraw all BGP routes & wait 120 seconds and save a number of routes that are left (usually 32)
- In 10 times loop
a. announce BGP routes
b. wait 40 seconds
c. withdraw BGP routes
d. wait 40 seconds - On the last 10-th iteration test withdraw BGP routes wait 100 seconds and save the number of routes that are left.
- Compare the number from Step 3 to the number from Step 1
On the SONiC image with FRR tag - frr-8.5.1, Kernel version - 5.10.0-23-2-amd64, Debian version - 5.10.179 and BGP suppress FIB feature enabled - from the switch logs you can observe that the switch is still busy announcing/withdrawing routes even after the tests completed (you could see 5-6 times announce/withdraw after test completed).
But it didn't happen, if the BGP suppress FIB feature is completely disabled (in SONiC and FRR)
- Did you check if this is a duplicate issue?
- Did you test it on the latest FRRouting/frr master branch?
To Reproduce
In order to reproduce we should simulate a "busy" zebra and add some routes via the ECMP group, then disable one of the ECMP group members in order to simulate the add/update route scenario:
- Establish BGP sessions on the switch with 3 neighbors - A1, A2, A3
- Go to the A2 and A3 neighbors and withdraw all BGP routes
- Stop the zebra process on the switch (in order to simulate busy zebra)
a. kill -SIGSTOPpidof zebra - Announce BGP routes from A2 neighbor
- 2-4 seconds delay
- Announce BGP routes from A3 neighbor
- Wait until A2 distributes routes and then withdraw routes
- Wait until A3 distributes routes and then withdraw routes
- Withdraw BGP routes from A3 neighbor
- Start the zebra process on the switch
a. kill -SIGCONTpidof zebra
Expected behavior
As if the BGP suppress FIB is disabled.
Screenshots
Versions
- OS Version: Debian version - 5.10.179
- Kernel: 5.10.0-23-2-amd64
- FRR Version: tag frr-8.5.1
- BGP suppress FIB enabled/disabled
Additional context