Implement BGP-wide configuration for graceful restart#16099
Merged
ton31337 merged 9 commits intoFRRouting:masterfrom Jul 2, 2024
Merged
Implement BGP-wide configuration for graceful restart#16099ton31337 merged 9 commits intoFRRouting:masterfrom
ton31337 merged 9 commits intoFRRouting:masterfrom
Conversation
d962059 to
2165b33
Compare
Contributor
Author
|
ci:rerun |
a0e03bd to
80d92e8
Compare
ton31337
requested changes
May 29, 2024
Member
ton31337
left a comment
There was a problem hiding this comment.
Need a documentation update and topotests yet.
5825807 to
dde73af
Compare
Contributor
Author
|
Working on updating documentation and topotest. |
cb6b85a to
4456f95
Compare
Contributor
Author
|
ci:rerun |
0d7c60b to
4bbb1eb
Compare
Member
|
This will be reviewed/merged after the stabilization branch is pulled (stable/10.1). |
riw777
reviewed
Jun 11, 2024
Member
riw777
left a comment
There was a problem hiding this comment.
one small question, but code looks good
4bbb1eb to
85dc667
Compare
Member
|
Could you also rebase? It's quite too much behind the base. |
b6615f6 to
e962370
Compare
Contributor
Author
|
Added new commit: *: Add and use option for graceful (re)start |
a93fed3 to
233a6eb
Compare
Contributor
Author
|
ci:rerun |
Contributor
Author
Add support for a BGP-wide setting for graceful restart modes and parameters. This setting will apply to all BGP peers across all BGP instances, but per-neighbor configuration can override it. Per-instance configuration is disallowed if the BGP-wide setting is in effect. Signed-off-by: Vivek Venkatraman <vivek@nvidia.com>
Signed-off-by: Pooja Jagadeesh Doijode <pdoijode@nvidia.com>
Streamline the BGP graceful-restart configuration at the global and peer level some more. Similar to many other neighbor capability parameters like MP and ENHE, reset the session immediately upon a change to the configuration. This will be more aligned with the transactional UI model also and will not require a separate 'clear' command to be executed. Note: Peer-group graceful-restart configuration is not yet supported. Signed-off-by: Vivek Venkatraman <vivek@nvidia.com>
233a6eb to
96633cd
Compare
Contributor
Author
|
Rebased again with master |
ton31337
reviewed
Jun 27, 2024
Member
ton31337
left a comment
There was a problem hiding this comment.
I don't see --graceful_restart documented, or I'm blind?
Contributor
Author
Member
96633cd to
f2cb95c
Compare
Contributor
Author
|
Wasn't aware that daemon options were also documented in .rst. Thanks for pointing it out. Updated documentation in 6f342c1 |
f2cb95c to
d8b898f
Compare
ton31337
reviewed
Jun 30, 2024
tests/topotests/bgp_gr_notification/test_bgp_gr_notification.py
Outdated
Show resolved
Hide resolved
87a1bc6 to
f7a73fa
Compare
Introduce BGP-wide flags to denote if BGP has started gracefully and GR is in progress or not. Use this for setting of the R-bit in the GR capability, and not a timer which is set for any new instance creation. Mark graceful restart is complete when the deferred path selection has been done and route sync with zebra as well as deferred EOR advertisement has been initiated. Introduce a function to check on F-bit setting rather than just base it on configuration. Subsequent commits will extend these functionalities. Signed-off-by: Vivek Venkatraman <vivek@nvidia.com>
This also fixes Rx F-bit log which was incorrect. Signed-off-by: Vivek Venkatraman <vivek@nvidia.com>
Signed-off-by: Vivek Venkatraman <vivek@nvidia.com>
Signed-off-by: Vivek Venkatraman <vivek@nvidia.com>
Added topotest and documentation for BGP wide GR configurations Signed-off-by: Pooja Jagadeesh Doijode <pdoijode@nvidia.com>
Add a new start option "-K" to libfrr to denote a graceful start, and use it in zebra and bgpd. zebra will use this option to denote a planned FRR graceful restart (supporting only bgpd currently) to wait for a route sync completion from bgpd before cleaning up old stale routes from the FIB. An optional timer provides an upper-bounds for this cleanup. bgpd will use this option to denote either a planned FRR graceful restart or a bgpd-only graceful restart, and this will drive the BGP GR restarting router procedures. Signed-off-by: Vivek Venkatraman <vivek@nvidia.com>
f7a73fa to
b5682ff
Compare
Contributor
Author
|
ci:rerun |
Contributor
Author
Jafaral
added a commit
that referenced
this pull request
Nov 12, 2024
New Features Highlight: - PIM candidate BSR/RP [#16438] - Static IGMP join without an IGMP report [1#6450] - PIM AutoRP discovery/announcements [#16634] - IGMP proxy [#16861] - SRv6 SID Manager [#15604] - Add `bgp ipv6-auto-ra` command [#16354] - Implement `neighbor x remote-as auto` for BGP [#16345] - Implement `bgp dual-as` for BGP [#16816] - Implement BGP-wide configuration for graceful restart [#16099] - Handle kernel routes appropriately (should fix recent NOPREFIXROUTE issue) [#16300] - Add `cisco-authentication` password support for NHRP [#16172] Signed-off-by: Jafar Al-Gharaibeh <jafar@atcorp.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Commit 1:
Add support for a BGP-wide setting for graceful restart modes and
parameters. This setting will apply to all BGP peers across all BGP
instances, but per-neighbor configuration can override it.
Per-instance configuration is disallowed if the BGP-wide setting
is in effect.
Commit2:
Streamline the BGP graceful-restart configuration at the global and
peer level some more. Similar to many other neighbor capability
parameters like MP and ENHE, reset the session immediately upon a
change to the configuration. This will be more aligned with the
transactional UI model also and will not require a separate 'clear'
command to be executed.
Commit3:
bgpd: Refine restarter operation - R-bit & F-bit
Commit 4:
bgpd: Refine OPEN debug logs for graceful restart