Merge pull request #17882 from LabNConsulting/chopps/doc-update-mgmtd

small mgmtd-dev doc update and yanglint cleanup
This commit is contained in:
Jafar Al-Gharaibeh 2025-01-20 13:29:37 -06:00 committed by GitHub
commit b2d62e50f1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 31 additions and 7 deletions

View file

@ -160,14 +160,19 @@ Back-End Interface:
should be destroyed with a call to `mgmt_be_client_destroy` and to be safe
NULL out the global `mgmt_be_client` variable.
#. In ``mgmtd/mgmt_be_adapter.c`` add xpath prefix mappings to a one or both
mapping arrays (``be_client_config_xpaths`` and ``be_client_oper_xpaths``) to
direct ``mgmtd`` to send config and oper-state requests to your daemon. NOTE:
make sure to include library supported xpaths prefixes as well (e.g.,
#. In ``mgmtd/mgmt_be_adapter.c`` add xpath prefix mappings to a each of the
mapping arrays (``be_client_config_xpaths``, ``be_client_oper_xpaths``, and
``be_client_rpc_xpaths``) to direct ``mgmtd`` to send config, oper-state, and
RPC requests to your daemon.
NOTE: make sure to include library supported xpaths prefixes as well (e.g.,
"/frr-interface:lib"). A good way to figure these paths out are to look in
each of the YANG modules that the daemon uses and include each of their paths
in the array.
#. In ``python/xref2vtysh.py`` add ``VTYSH_xxxD`` (for client xxx) to
``lib/mgmt_be_client.c`` entry in the ``daemon_falgs`` dictionary.
Add YANG and CLI into MGMTD
^^^^^^^^^^^^^^^^^^^^^^^^^^^^

View file

@ -7,13 +7,14 @@ module frr-test-module {
import ietf-inet-types {
prefix inet;
}
import ietf-yang-types {
prefix yang;
}
import frr-interface {
prefix frr-interface;
}
organization "placeholder for lint";
contact "placeholder for lint";
description
"FRRouting internal testing module.
@ -45,41 +46,56 @@ module frr-test-module {
revision 2018-11-26 {
description
"Initial revision.";
reference "placeholder for lint";
}
container frr-test-module {
config false;
description "a container for test module data";
container vrfs {
description "a container of vrfs";
list vrf {
key "name";
description "a keyed vrf list object";
leaf name {
type string;
description "name of vrf";
}
container interfaces {
description "container of leaf-list interfaces";
leaf-list interface {
type frr-interface:interface-ref;
description "leaf list interface object";
}
leaf-list interface-new {
type frr-interface:interface-ref;
description "second leaf list interface object";
}
}
container routes {
description "container of key-less route objects";
list route {
description "a key-less route object";
leaf prefix {
type inet:ipv4-prefix;
description "prefix of the route object";
}
leaf next-hop {
type inet:ipv4-address;
description "nexthop of the route object";
}
leaf interface {
type frr-interface:interface-ref;
description "interface of the route object";
}
leaf metric {
type uint8;
description "metric of the route object";
}
leaf active {
type empty;
description "active status of the route object";
}
}
}
@ -87,16 +103,19 @@ module frr-test-module {
input {
leaf data {
type string;
description "data input to ping action.";
}
}
output {
leaf vrf {
type string;
description "vrf returned from ping action.";
}
// can't use the same name in input and output
// because of a bug in libyang < 2.1.148
leaf data-out {
type string;
description "data return from ping action.";
}
}
}