]> git.proxmox.com Git - mirror_frr.git/commit - lib/northbound_cli.c
mgmtd: Add MGMT Backend Interface Framework
authorChristian Hopps <chopps@labn.net>
Tue, 28 Feb 2023 15:00:19 +0000 (10:00 -0500)
committerChristian Hopps <chopps@labn.net>
Wed, 22 Mar 2023 02:08:32 +0000 (22:08 -0400)
commit7d65b7b7f441ddb2e730d4274023c0d3d2907c6b
treea1a7106459429fb936a493cba746aff105d3ce06
parentef43a6329b063f0fa4acc0c3d9ae3e3875b65da6
mgmtd: Add MGMT Backend Interface Framework

This commit introduces the MGMT Backend Interface which can be used
by back-end management client daemons like BGPd, Staticd, Zebra to
connect with new FRR Management daemon (MGMTd) and utilize the new
FRR Management Framework to let any Frontend clients to retrieve any
operational data or manipulate any configuration data owned by the
individual Backend daemon component.

This commit includes the following functionalities in the changeset:
1. Add new Backend server for Backend daemons connect to.
2. Add a C-based Backend client library which can be used by daemons
   to communicate with MGMTd via the Backend interface.
3. Maintain a backend adapter for each connection from an appropriate
   Backend client to facilitate client requests and track one or more
   transactions initiated from Frontend client sessions that involves
   the backend client component.
4. Add the following commands to inspect various Backend client
   related information
a. show mgmt backend-adapter all
b. show mgmt backend-yang-xpath-registry
        c. show mgmt yang-xpath-subscription

Co-authored-by: Pushpasis Sarkar <pushpasis@gmail.com>
Co-authored-by: Abhinay Ramesh <rabhinay@vmware.com>
Co-authored-by: Ujwal P <ujwalp@vmware.com>
Signed-off-by: Yash Ranjan <ranjany@vmware.com>
22 files changed:
.clang-format
lib/mgmt.proto
lib/mgmt_be_client.c [new file with mode: 0644]
lib/mgmt_be_client.h [new file with mode: 0644]
lib/northbound.c
lib/northbound.h
lib/northbound_cli.c
lib/northbound_confd.c
lib/northbound_grpc.cpp
lib/northbound_sysrepo.c
lib/subdir.am
mgmtd/mgmt.c
mgmtd/mgmt_be_adapter.c [new file with mode: 0644]
mgmtd/mgmt_be_adapter.h [new file with mode: 0644]
mgmtd/mgmt_be_server.c [new file with mode: 0644]
mgmtd/mgmt_be_server.h [new file with mode: 0644]
mgmtd/mgmt_defines.h
mgmtd/mgmt_main.c
mgmtd/mgmt_memory.c
mgmtd/mgmt_memory.h
mgmtd/mgmt_vty.c
mgmtd/subdir.am