Skip to content

Withdrawing/announcing BGP routes in a loop with timeout scenario behaves differently with BGP suppress FIB feature enabled #14797

@vadymhlushko-mlnx

Description

@vadymhlushko-mlnx

Describe the bug

For the SONiC NOS, we have a BGP stress test that will do the following:

  1. Withdraw all BGP routes & wait 120 seconds and save a number of routes that are left (usually 32)
  2. In 10 times loop
    a. announce BGP routes
    b. wait 40 seconds
    c. withdraw BGP routes
    d. wait 40 seconds
  3. On the last 10-th iteration test withdraw BGP routes wait 100 seconds and save the number of routes that are left.
  4. 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:

  1. Establish BGP sessions on the switch with 3 neighbors - A1, A2, A3
  2. Go to the A2 and A3 neighbors and withdraw all BGP routes
  3. Stop the zebra process on the switch (in order to simulate busy zebra)
    a. kill -SIGSTOP pidof zebra
  4. Announce BGP routes from A2 neighbor
  5. 2-4 seconds delay
  6. Announce BGP routes from A3 neighbor
  7. Wait until A2 distributes routes and then withdraw routes
  8. Wait until A3 distributes routes and then withdraw routes
  9. Withdraw BGP routes from A3 neighbor
  10. Start the zebra process on the switch
    a. kill -SIGCONT pidof 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions