Skip to content

Commit

Permalink
Merge pull request #17882 from LabNConsulting/chopps/doc-update-mgmtd
Browse files Browse the repository at this point in the history
small mgmtd-dev doc update and yanglint cleanup
  • Loading branch information
Jafaral authored Jan 20, 2025
2 parents 00eb5cc + aa8212d commit b2d62e5
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 7 deletions.
13 changes: 9 additions & 4 deletions doc/developer/mgmtd-dev.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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
^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Expand Down
25 changes: 22 additions & 3 deletions yang/frr-test-module.yang
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Expand Down Expand Up @@ -45,58 +46,76 @@ 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";
}
}
}
action ping {
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.";
}
}
}
Expand Down

0 comments on commit b2d62e5

Please sign in to comment.