]> git.puffer.fish Git - mirror/frr.git/commit
mgmtd: Add MGMT Backend Interface Framework
authorYash Ranjan <ranjany@vmware.com>
Wed, 27 Oct 2021 10:53:44 +0000 (03:53 -0700)
committerChristian Hopps <chopps@labn.net>
Wed, 6 Apr 2022 01:41:23 +0000 (21:41 -0400)
commit5af2ccc6aaa197f886c78e71e5065f054a158376
tree19e0e802237a60e472d152be2df5d17f98544f3f
parent17bfa8eb86b382730a13cd96edd07cc252ae2a45
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>
21 files changed:
.clang-format
lib/mgmt_bcknd_client.c [new file with mode: 0644]
lib/mgmt_bcknd_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_bcknd_adapter.c [new file with mode: 0644]
mgmtd/mgmt_bcknd_adapter.h [new file with mode: 0644]
mgmtd/mgmt_bcknd_server.c [new file with mode: 0644]
mgmtd/mgmt_bcknd_server.h [new file with mode: 0644]
mgmtd/mgmt_defines.h
mgmtd/mgmt_memory.c
mgmtd/mgmt_memory.h
mgmtd/mgmt_vty.c
mgmtd/mgmt_vty.h
mgmtd/subdir.am