Skip to content

suppress-fib-pending config resetting all of the neighbors even if the config already exists #17485

@hasan-brcm

Description

@hasan-brcm

Description

If the bgp suppress-fib-pending config is re-applied, it resets all of the neighbors. The resetting of bgp neighbors was introduced as part of below PR#14982

This behavior is undesirable and unnecessary. If the suppress-fib-pending is already configured, re-configuring the same should be handled gracefully (and ignored in command handler) without impacting the existing bgp neighbors.

dut-a7060cx-03# conf t
dut-a7060cx-03(config)# router bgp
dut-a7060cx-03(config-router)# bgp suppress-fib-pending

This issue was observed when upgrading FRR from 8.5.4 to 10.0.1 in SONiC, A config change to bgp was reapplying the other bgp configs (including suppress-fib-pending) and it was resetting the neighbors resulting in PTF test failures.
This issue did not exist in 8.5.4.

The newly added segment of the code should check if there is any change in the config, and reset the neighbors only if config has changed.
https://github.com/FRRouting/frr/pull/14982/files#diff-2a485107bd513dd693e99b63de03350c46f55affadfda5082728e7060a0ce021R503

Version

10.0.1

How to reproduce

Steps:

  1. configure bgp suppress-fib-pending
  2. configure neighbors
  3. re-configure bgp suppress-fib-pending
    At step (3) all of the neighbors will get reset.

Expected behavior

If the configuration does not change, there should be no neighbor flap.

Actual behavior

All of the bgp neighbors are reset if suppress-fib-pending config is re-applied.

Additional context

No response

Checklist

  • I have searched the open issues for this bug.
  • I have not included sensitive information in this report.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions