mgmtd/bgpd: register bgpd backend client and add frr-bgp-peer operational data support[DRAFT]#21297
Draft
ashred-lnx wants to merge 8 commits intoFRRouting:masterfrom
Draft
Conversation
Extend NOTIFY_SELECT to carry mode/mode_data, add FE client API support, and implement per-session periodic sampling timers in mgmtd while keeping backend notify-select operations on-change. Signed-off-by: Ashwini Reddy <ashred@nvidia.com>
Update tests/topotests/lib/fe_client.py to encode NOTIFY_SELECT mode/mode_data and add CLI flags for periodic sample testing, then remove the temporary standalone tools/mgmtd_notify_test_client.py helper. Signed-off-by: Ashwini Reddy <ashred@nvidia.com>
Clarify mode/mode_data behavior for native NOTIFY_SELECT in user docs and add inline code-path comments around validation and periodic scheduling. Signed-off-by: Ashwin Reddy <ashwinreddy@users.noreply.github.com>
Register bgpd backend/xpath wiring for frr-bgp-peer and ensure mgmtd can resolve and load the model for operational queries. Signed-off-by: Ashwini Reddy <ashred@nvidia.com>
Add callback-backed operational data handlers for peer state and afi-safi fields under /frr-bgp-peer:lib/vrf. Signed-off-by: Ashwini Reddy <ashred@nvidia.com>
Apply version compatibility updates and safe peer iteration to prevent runtime aborts during operational data walks. Signed-off-by: Ashwini Reddy <ashred@nvidia.com>
Add missing SPDX-License-Identifier tags to bgpd peer northbound source/header files to satisfy verify-source checks. Signed-off-by: Ashwini Reddy <ashred@nvidia.com>
Include zebra.h first for platform portability and cast epoch timestamp to uint64_t for explicit type conversion in YANG data emission. Signed-off-by: Ashwini Reddy <ashred@nvidia.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.
Register bgpd as an mgmtd backend client (config/oper/rpc path wiring).
Add and wire frr-bgp-peer operational model/callback support under /frr-bgp-peer:lib/vrf.
Expose per-peer and per-AFI/SAFI operational fields through vtysh and FE periodic sampling.
Include compatibility and iterator hardening fixes to keep oper walks stable across FRR variants.
Stacked:
This branch is intentionally stacked on top of periodic notify/select support from #21253
Changes:
bgpd backend client wiring and operational xpath registration for /frr-bgp-peer:lib/vrf.
bgpd/bgp_peer_nb.c + bgpd/bgp_peer_nb.h callback implementation for:
peer identity/state, ASNs, queues, transitions, message counters, graceful-shutdown
AFI/SAFI list and counters
Build/YANG wiring updates required for bgpd/mgmtd integration.
Safe peer iteration in oper walk path to prevent runtime aborts.
Version-compatible callback handling for notify/AFI-SAFI lookup differences.
Testing: