summaryrefslogtreecommitdiff
path: root/yang
diff options
context:
space:
mode:
authorRuss White <russ@riw.us>2025-04-01 17:30:30 -0400
committerGitHub <noreply@github.com>2025-04-01 17:30:30 -0400
commit90b004cd468b224a079a9f7501244e5aa3e4e83e (patch)
tree1f2707457bc20c5bbf50434053ce4039f2bec622 /yang
parent9f8027b8a4e9c54c196ddc80af9d732b212aedda (diff)
parent094072e94877a38de8f4a0cd71af82575931b974 (diff)
Merge pull request #18543 from y-bharath14/srib-yang-v8
yang: Corrected pyang errors in frr-zebra.yang
Diffstat (limited to 'yang')
-rw-r--r--yang/frr-zebra.yang240
1 files changed, 223 insertions, 17 deletions
diff --git a/yang/frr-zebra.yang b/yang/frr-zebra.yang
index 72f3f7072e..4dd8e98ddb 100644
--- a/yang/frr-zebra.yang
+++ b/yang/frr-zebra.yang
@@ -79,6 +79,9 @@ module frr-zebra {
revision 2019-06-01 {
description
"Initial revision.";
+
+ reference
+ "FRRouting";
}
feature ipv6-router-advertisements {
@@ -188,6 +191,8 @@ module frr-zebra {
"Multicast PIM-SM.";
}
}
+ description
+ "Type for VTEP flood type.";
}
/*
@@ -317,7 +322,13 @@ module frr-zebra {
*/
grouping vni-information {
+ description
+ "Grouping for VNI information.";
+
choice type-choice {
+ description
+ "Choice between L2 and L3 VNI information.";
+
case l2 {
leaf is-layer2 {
type empty;
@@ -383,6 +394,9 @@ module frr-zebra {
*/
grouping vni-l2-detail {
+ description
+ "Grouping for VNI L2 details.";
+
leaf if-index {
type uint32;
description
@@ -402,6 +416,9 @@ module frr-zebra {
}
list remote-vtep-list {
+ description
+ "List of remote VTEPs.";
+
leaf remote-vtep {
type inet:ipv4-address;
description
@@ -410,6 +427,8 @@ module frr-zebra {
leaf vtep-flood {
type vni-vtep-flood-type;
+ description
+ "VTEP flood type.";
}
}
}
@@ -419,6 +438,9 @@ module frr-zebra {
*/
grouping vni-l3-detail {
+ description
+ "Grouping for VNI L3 details.";
+
leaf svi-interface {
type frr-interface:interface-ref;
description
@@ -459,6 +481,9 @@ module frr-zebra {
*/
grouping zebra-debugs {
+ description
+ "Grouping for Zebra debugging options.";
+
leaf debug-events {
type boolean;
description
@@ -569,12 +594,19 @@ module frr-zebra {
}
grouping ribs {
+ description
+ "Grouping for RIBs supported by FRR.";
+
container ribs {
config false;
description
"RIBs supported by FRR.";
list rib {
key "afi-safi-name table-id";
+
+ description
+ "List of RIBs, each with a specific AFI/SAFI name and table ID.";
+
leaf afi-safi-name {
type identityref {
base frr-rt:afi-safi-type;
@@ -585,13 +617,16 @@ module frr-zebra {
leaf table-id {
type uint32;
- default "254";
description
"Routing Table id (default id - 254).";
}
list route {
key "prefix";
+
+ description
+ "List of routes, each with a specific prefix.";
+
leaf prefix {
type inet:ip-prefix;
description
@@ -600,6 +635,10 @@ module frr-zebra {
list route-entry {
key "protocol";
+
+ description
+ "List of route entries, each owned by a specific protocol.";
+
leaf protocol {
type frr-route-types:frr-route-types;
description
@@ -647,6 +686,9 @@ module frr-zebra {
"Retrieve IPv4 or IPv6 unicast routes.";
input {
choice ip-type {
+ description
+ "Choice between retrieving IPv4 routes and retrieving IPv6 routes.";
+
case v4 {
leaf ipv4 {
type empty;
@@ -685,6 +727,10 @@ module frr-zebra {
}
choice vrf-choice {
+ description
+ "Choice between retrieving routes in a non-default VRF or |
+ retrieving routes from all VRFs.";
+
case single {
leaf vrf {
type frr-vrf:vrf-ref;
@@ -732,6 +778,10 @@ module frr-zebra {
}
choice detail {
+ description
+ "Choice between including detailed information and |
+ including summary information only.";
+
case det {
leaf include-detail {
type empty;
@@ -752,11 +802,17 @@ module frr-zebra {
// End of input
output {
choice route-list {
+ description
+ "Choice between IPv4 route information and IPv6 route information.";
+
case v4 {
container routes-v4 {
description
"IPv4 route information.";
list route {
+ description
+ "List of IPv4 routes.";
+
uses ip4-route;
}
}
@@ -767,6 +823,9 @@ module frr-zebra {
description
"IPv6 route information.";
list route {
+ description
+ "List of IPv6 routes.";
+
uses ip6-route;
}
}
@@ -783,6 +842,10 @@ module frr-zebra {
"Retrieve IPv6 multicast routes.";
input {
choice vrf-choice {
+ description
+ "Choice between retrieving routes in a non-default VRF or |
+ retrieving routes from all VRFs.";
+
case single {
leaf vrf {
type frr-vrf:vrf-ref;
@@ -806,6 +869,9 @@ module frr-zebra {
description
"IPv6 mcast route information.";
list route {
+ description
+ "List of IPv6 routes.";
+
uses ip6-route;
}
}
@@ -820,6 +886,10 @@ module frr-zebra {
// Note: no input clause.
output {
list vrf-list {
+ description
+ "List of VRF information including name, user configuration status, |
+ VRF ID, and VRF type.";
+
leaf name {
type frr-vrf:vrf-ref;
description
@@ -839,6 +909,10 @@ module frr-zebra {
}
choice vrf-type {
+ description
+ "Choice between specifying the VRF as inactive, associated with a net namespace, |
+ or associated with a table ID.";
+
case inactive {
leaf is-inactive {
type empty;
@@ -875,6 +949,10 @@ module frr-zebra {
// Note: no input clause.
output {
list vrf-vni-list {
+ description
+ "List of VRF VNI information including VRF name, EVPN VNI, VxLAN interface name, |
+ SVI interface name, router MAC address, and state.";
+
leaf vrf-name {
type frr-vrf:vrf-ref;
description
@@ -971,6 +1049,10 @@ module frr-zebra {
}
choice dad-freeze-choice {
+ description
+ "Choice between setting duplicate address detection |
+ freeze to permanent or specifying a timer.";
+
case freeze-permanent {
leaf dad-freeze-perm {
type empty;
@@ -994,10 +1076,16 @@ module frr-zebra {
// End get-evpn-info
rpc get-vni-info {
+ description
+ "Retrieve information about EVPN VNIs.";
+
// If no vni is specified, retrieve global list.
input {
choice vni-choice {
default "all-vnis";
+ description
+ "Choice between retrieving information about all VNIs or a specific EVPN VNI.";
+
case all-vnis {
leaf all-vnis {
type empty;
@@ -1029,6 +1117,9 @@ module frr-zebra {
uses vni-information;
choice detail-choice {
+ description
+ "Choice between detailed L2 or L3 information.";
+
case l2 {
description
"Detailed L2 information.";
@@ -1053,6 +1144,10 @@ module frr-zebra {
input {
choice vni-choice {
default "all-vnis";
+ description
+ "Choice between retrieving information about all VNIs or |
+ a specific EVPN VNI and a single RMAC address.";
+
case all-vnis {
leaf all-vnis {
type empty;
@@ -1079,6 +1174,10 @@ module frr-zebra {
output {
list rmac-info-list {
+ description
+ "List of RMAC information including RMAC address, remote VTEP IP address, |
+ refcount, and associated IP prefixes.";
+
leaf rmac {
type yang:mac-address;
description
@@ -1098,6 +1197,9 @@ module frr-zebra {
}
list prefix-list {
+ description
+ "List of IP prefixes associated with the RMAC.";
+
leaf prefix-item {
type inet:ip-prefix;
description
@@ -1116,6 +1218,10 @@ module frr-zebra {
input {
choice vni-choice {
default "all-vnis";
+ description
+ "Choice between retrieving information about all VNIs or |
+ a specific EVPN VNI and a single host IP address.";
+
case all-vnis {
leaf all-vnis {
type empty;
@@ -1142,6 +1248,9 @@ module frr-zebra {
output {
list nh-info-list {
+ description
+ "List of nexthop information including IP address, MAC address, and refcount.";
+
leaf ip-addr {
type inet:ip-address;
description
@@ -1161,6 +1270,9 @@ module frr-zebra {
}
list prefix-list {
+ description
+ "List of IP prefixes associated with the RMAC.";
+
leaf prefix-item {
type inet:ip-prefix;
description
@@ -1178,6 +1290,11 @@ module frr-zebra {
"Clear duplicate address detection state for one or all VNIs.";
input {
choice clear-dup-choice {
+ description
+ "Choice between clearing all VNIs or |
+ clearing state for a single EVPN VNI |
+ and a specific MAC or IP address.";
+
case all-case {
leaf all-vnis {
type empty;
@@ -1225,6 +1342,11 @@ module frr-zebra {
input {
choice all-choice {
default "all-vni";
+ description
+ "Choice between retrieving information for all VNIs or |
+ including detailed results, a single VTEP address, or |
+ showing duplicate addresses.";
+
case all-vni {
leaf all-vnis {
type empty;
@@ -1233,6 +1355,10 @@ module frr-zebra {
}
choice all-choices {
+ description
+ "Choice between including detailed results, a single VTEP address, |
+ or showing duplicate addresses.";
+
case detail-case {
leaf all-detail {
type empty;
@@ -1267,6 +1393,10 @@ module frr-zebra {
}
choice single-choices {
+ description
+ "Choice between including detailed results, a specific MAC address, |
+ a single VTEP address, or showing duplicate addresses.";
+
case detail-case {
leaf single-detail {
type empty;
@@ -1305,6 +1435,9 @@ module frr-zebra {
// End of input section
output {
list mac-list {
+ description
+ "List of MAC addresses.";
+
leaf mac-addr {
type yang:mac-address;
description
@@ -1348,6 +1481,9 @@ module frr-zebra {
}
container dup-detect-started {
+ description
+ "Container for duplicate detection process start time and count.";
+
leaf dup-detect-start {
type unix-timestamp;
description
@@ -1386,6 +1522,9 @@ module frr-zebra {
}
list neighbor-list {
+ description
+ "List of neighbor addresses.";
+
leaf neighbor-addr {
type inet:ip-address;
description
@@ -1406,6 +1545,9 @@ module frr-zebra {
}
choice local-rem-choice {
+ description
+ "Choice between local interface and VLAN or remote VTEP IP address.";
+
case local-case {
leaf intf {
type frr-interface:interface-ref;
@@ -1440,6 +1582,8 @@ module frr-zebra {
input {
choice all-choice {
default "all-vni";
+ description
+ "Choice between retrieving information for all VNIs or including detailed results or showing duplicates.";
case all-vni {
leaf all-vnis {
type empty;
@@ -1448,6 +1592,9 @@ module frr-zebra {
}
choice all-choices {
+ description
+ "Choice between including detailed results or showing duplicates.";
+
case detail-case {
leaf all-detail {
type empty;
@@ -1474,6 +1621,9 @@ module frr-zebra {
}
choice single-choices {
+ description
+ "Choice between single VTEP, neighbor address, or show duplicates.";
+
case vtep-case {
leaf single-vtep {
type inet:ipv4-address;
@@ -1504,6 +1654,9 @@ module frr-zebra {
// End input section
output {
list vni-list {
+ description
+ "List of VNI containers.";
+
container vni-container {
description
"Information for one VNI.";
@@ -1535,6 +1688,9 @@ module frr-zebra {
}
choice local-remote-choice {
+ description
+ "Choice between local and remote entries.";
+
case local-case {
leaf is-local {
type empty;
@@ -1596,6 +1752,9 @@ module frr-zebra {
// End get-evpn-arp-cache
rpc get-pbr-ipset {
+ description
+ "RPC to retrieve PBR IP set.";
+
input {
leaf name {
type string {
@@ -1608,6 +1767,9 @@ module frr-zebra {
output {
list ipset-list {
+ description
+ "List of IP sets.";
+
leaf name {
type string {
length "1..32";
@@ -1621,24 +1783,26 @@ module frr-zebra {
enum "net-net" {
value 1;
description
- "";
+ "Network to network IP set type.";
}
enum "net-port-net" {
value 2;
description
- "";
+ "Network to port to network IP set type.";
}
enum "net-port" {
value 3;
description
- "";
+ "Network to port IP set type.";
}
enum "net" {
value 4;
description
- "";
+ "Network IP set type.";
}
}
+ description
+ "Type of IP set.";
}
leaf src-prefix {
@@ -1714,6 +1878,9 @@ module frr-zebra {
}
container ipset-stats {
+ description
+ "Container for IP set statistics.";
+
leaf is-unique {
type empty;
description
@@ -1739,6 +1906,9 @@ module frr-zebra {
// End get-pbr-ipset
rpc get-pbr-iptable {
+ description
+ "RPC to retrieve PBR iptables.";
+
input {
leaf name {
type string {
@@ -1751,6 +1921,9 @@ module frr-zebra {
output {
list iptable-list {
+ description
+ "List of iptables entries.";
+
leaf name {
type string {
length "1..32";
@@ -1828,6 +2001,9 @@ module frr-zebra {
}
container dscp-info {
+ description
+ "Container for dscp information.";
+
leaf dscp-value {
type uint32;
description
@@ -1842,6 +2018,9 @@ module frr-zebra {
}
container fragment-info {
+ description
+ "Container for fragment information.";
+
leaf fragment-val {
type uint32;
description
@@ -1856,16 +2035,19 @@ module frr-zebra {
}
container iptable-stats {
+ description
+ "Container for iptables statistics.";
+
leaf packet-counter {
type uint64;
description
- "";
+ "Number of packets processed by iptables.";
}
leaf bytes-counter {
type uint64;
description
- "";
+ "Number of packets processed by iptables.";
}
}
@@ -1894,6 +2076,9 @@ module frr-zebra {
*/
rpc get-debugs {
+ description
+ "RPC to retrieve debug information.";
+
output {
uses zebra-debugs;
}
@@ -1905,6 +2090,9 @@ module frr-zebra {
description
"Extends interface model with Zebra-related parameters.";
container zebra {
+ description
+ "Container for Zebra-related information.";
+
list ipv4-addrs {
key "ip prefix-length";
description
@@ -2079,18 +2267,21 @@ module frr-zebra {
description
"Legacy mode. Only support standard admin-group (RFC3630/5305/5329)";
leaf legacy-admin-group {
- description "Admin-Group value";
type uint32;
+ description "Admin-Group value";
}
}
case affinity {
container affinities {
+ description
+ "Container for affinity information.";
+
leaf-list affinity {
type frr-affinity-map:affinity-map-ref;
- max-elements "256";
must '../../affinity-mode != "standard" or /frr-affinity-map:lib/frr-affinity-map:affinity-maps/frr-affinity-map:affinity-map[frr-affinity-map:name=current()]/frr-affinity-map:value < 32' {
error-message "Affinity bit-position must be less than 32 when used with standard affinity mode";
}
+ max-elements "256";
description
"Array of Attribute Names";
}
@@ -2098,9 +2289,6 @@ module frr-zebra {
}
}
leaf affinity-mode {
- description
- "Affinity mode";
- default "extended";
type enumeration {
enum extended {
value 0;
@@ -2118,9 +2306,11 @@ module frr-zebra {
"Standard and extended Admin-Group";
}
}
+ default "extended";
+ description
+ "Affinity mode";
}
container neighbor {
- description "Remote ASBR information (RFC 5316 & RFC 5392)";
presence "Activates neighbor information on this interface.";
leaf remote-as {
type inet:as-number;
@@ -2134,6 +2324,8 @@ module frr-zebra {
description
"IPv4 Remote ASBR ID (RFC 5316 & RFC 5392)";
}
+ description
+ "Remote ASBR information (RFC 5316 & RFC 5392)";
}
leaf delay {
type uint32 {
@@ -2143,8 +2335,6 @@ module frr-zebra {
"Average Unidirectional Link Delay";
}
container min-max-delay {
- description
- "Min/Max Unidirectional Link Delay";
presence "Activates min/max delay.";
leaf delay-min {
type uint32 {
@@ -2168,6 +2358,8 @@ module frr-zebra {
description
"Max Delay";
}
+ description
+ "Min/Max Unidirectional Link Delay";
}
leaf delay-variation {
type uint32 {
@@ -2192,6 +2384,9 @@ module frr-zebra {
choice esi-choice {
description "ESI type";
container type-0 {
+ description
+ "Container for type-0 information.";
+
leaf esi {
type yang:hex-string {
length "29";
@@ -2201,6 +2396,9 @@ module frr-zebra {
}
}
container type-3 {
+ description
+ "Container for type-3 information.";
+
leaf system-mac {
type yang:mac-address;
description
@@ -2680,6 +2878,8 @@ module frr-zebra {
leaf vni-id {
type vni-id-type;
+ description
+ "A VNI id.";
}
leaf remote-vtep {
@@ -2805,10 +3005,10 @@ module frr-zebra {
}
leaf end {
type uint32;
- mandatory true;
must ". >= ../start" {
error-message "End table must be greater than or equal to start table";
}
+ mandatory true;
description
"The last table to use.";
}
@@ -2832,6 +3032,9 @@ module frr-zebra {
}
augment "/frr-vrf:lib/frr-vrf:vrf/frr-zebra:zebra/ribs/rib/route/route-entry/nexthop-group/nexthop" {
+ description
+ "Augments the nexthop with operational data.";
+
uses frr-nh:frr-nexthop-operational;
}
@@ -2843,10 +3046,10 @@ module frr-zebra {
description
"Data model for the Zebra daemon.";
leaf max-multipath {
- config false;
type uint16 {
range "1..65535";
}
+ config false;
description
"The maximum number of nexthops for a route. At this point it
is unlikely that a multipath number will ever get larger then
@@ -2939,6 +3142,9 @@ module frr-zebra {
* Debug options
*/
container debugs {
+ description
+ "This container contains debug information for the zebra daemon.";
+
uses zebra-debugs;
}
/* End of debugs */