mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-09 03:47:47 +00:00
Merge pull request #17882 from LabNConsulting/chopps/doc-update-mgmtd
small mgmtd-dev doc update and yanglint cleanup
This commit is contained in:
commit
b2d62e50f1
@ -160,14 +160,19 @@ Back-End Interface:
|
|||||||
should be destroyed with a call to `mgmt_be_client_destroy` and to be safe
|
should be destroyed with a call to `mgmt_be_client_destroy` and to be safe
|
||||||
NULL out the global `mgmt_be_client` variable.
|
NULL out the global `mgmt_be_client` variable.
|
||||||
|
|
||||||
#. In ``mgmtd/mgmt_be_adapter.c`` add xpath prefix mappings to a one or both
|
#. In ``mgmtd/mgmt_be_adapter.c`` add xpath prefix mappings to a each of the
|
||||||
mapping arrays (``be_client_config_xpaths`` and ``be_client_oper_xpaths``) to
|
mapping arrays (``be_client_config_xpaths``, ``be_client_oper_xpaths``, and
|
||||||
direct ``mgmtd`` to send config and oper-state requests to your daemon. NOTE:
|
``be_client_rpc_xpaths``) to direct ``mgmtd`` to send config, oper-state, and
|
||||||
make sure to include library supported xpaths prefixes as well (e.g.,
|
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
|
"/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
|
each of the YANG modules that the daemon uses and include each of their paths
|
||||||
in the array.
|
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
|
Add YANG and CLI into MGMTD
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
@ -7,13 +7,14 @@ module frr-test-module {
|
|||||||
import ietf-inet-types {
|
import ietf-inet-types {
|
||||||
prefix inet;
|
prefix inet;
|
||||||
}
|
}
|
||||||
import ietf-yang-types {
|
|
||||||
prefix yang;
|
|
||||||
}
|
|
||||||
import frr-interface {
|
import frr-interface {
|
||||||
prefix frr-interface;
|
prefix frr-interface;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
organization "placeholder for lint";
|
||||||
|
|
||||||
|
contact "placeholder for lint";
|
||||||
|
|
||||||
description
|
description
|
||||||
"FRRouting internal testing module.
|
"FRRouting internal testing module.
|
||||||
|
|
||||||
@ -45,41 +46,56 @@ module frr-test-module {
|
|||||||
revision 2018-11-26 {
|
revision 2018-11-26 {
|
||||||
description
|
description
|
||||||
"Initial revision.";
|
"Initial revision.";
|
||||||
|
reference "placeholder for lint";
|
||||||
}
|
}
|
||||||
|
|
||||||
container frr-test-module {
|
container frr-test-module {
|
||||||
config false;
|
config false;
|
||||||
|
description "a container for test module data";
|
||||||
container vrfs {
|
container vrfs {
|
||||||
|
description "a container of vrfs";
|
||||||
list vrf {
|
list vrf {
|
||||||
key "name";
|
key "name";
|
||||||
|
description "a keyed vrf list object";
|
||||||
|
|
||||||
leaf name {
|
leaf name {
|
||||||
type string;
|
type string;
|
||||||
|
description "name of vrf";
|
||||||
}
|
}
|
||||||
container interfaces {
|
container interfaces {
|
||||||
|
description "container of leaf-list interfaces";
|
||||||
leaf-list interface {
|
leaf-list interface {
|
||||||
type frr-interface:interface-ref;
|
type frr-interface:interface-ref;
|
||||||
|
description "leaf list interface object";
|
||||||
}
|
}
|
||||||
leaf-list interface-new {
|
leaf-list interface-new {
|
||||||
type frr-interface:interface-ref;
|
type frr-interface:interface-ref;
|
||||||
|
description "second leaf list interface object";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
container routes {
|
container routes {
|
||||||
|
description "container of key-less route objects";
|
||||||
list route {
|
list route {
|
||||||
|
description "a key-less route object";
|
||||||
leaf prefix {
|
leaf prefix {
|
||||||
type inet:ipv4-prefix;
|
type inet:ipv4-prefix;
|
||||||
|
description "prefix of the route object";
|
||||||
}
|
}
|
||||||
leaf next-hop {
|
leaf next-hop {
|
||||||
type inet:ipv4-address;
|
type inet:ipv4-address;
|
||||||
|
description "nexthop of the route object";
|
||||||
}
|
}
|
||||||
leaf interface {
|
leaf interface {
|
||||||
type frr-interface:interface-ref;
|
type frr-interface:interface-ref;
|
||||||
|
description "interface of the route object";
|
||||||
}
|
}
|
||||||
leaf metric {
|
leaf metric {
|
||||||
type uint8;
|
type uint8;
|
||||||
|
description "metric of the route object";
|
||||||
}
|
}
|
||||||
leaf active {
|
leaf active {
|
||||||
type empty;
|
type empty;
|
||||||
|
description "active status of the route object";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -87,16 +103,19 @@ module frr-test-module {
|
|||||||
input {
|
input {
|
||||||
leaf data {
|
leaf data {
|
||||||
type string;
|
type string;
|
||||||
|
description "data input to ping action.";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
output {
|
output {
|
||||||
leaf vrf {
|
leaf vrf {
|
||||||
type string;
|
type string;
|
||||||
|
description "vrf returned from ping action.";
|
||||||
}
|
}
|
||||||
// can't use the same name in input and output
|
// can't use the same name in input and output
|
||||||
// because of a bug in libyang < 2.1.148
|
// because of a bug in libyang < 2.1.148
|
||||||
leaf data-out {
|
leaf data-out {
|
||||||
type string;
|
type string;
|
||||||
|
description "data return from ping action.";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user