This module contains a collection of YANG definitions for Cisco IOS-XR l2rib package operational data. This module contains def...
Version: 2019-11-22
module Cisco-IOS-XR-l2rib-oper { yang-version 1; namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-l2rib-oper"; prefix l2rib-oper; import ietf-inet-types { prefix inet; } import ietf-yang-types { prefix yang; } import cisco-semver { prefix semver; } include Cisco-IOS-XR-l2rib-oper-sub1 { revision-date "2019-11-22"; } organization "Cisco Systems, Inc."; contact "Cisco Systems, Inc. Customer Service Postal: 170 West Tasman Drive San Jose, CA 95134 Tel: +1 800 553-NETS E-mail: cs-yang@cisco.com"; description "This module contains a collection of YANG definitions for Cisco IOS-XR l2rib package operational data. This module contains definitions for the following management objects: l2rib: L2RIB operational information Copyright (c) 2013-2019 by Cisco Systems, Inc. All rights reserved."; revision "2019-11-22" { description "Added to path for Mac/IP Table and Mac/IP Detail Table"; } revision "2019-04-05" { description "Establish semantic version baseline."; } revision "2015-11-09" { description "IOS XR 6.0 revision."; } semver:module-version "2.1.0"; semver:module-version "1.0.0"; container l2rib { config false; description "L2RIB operational information "; container producers-details { description "L2RIB detailed producer table"; list producers-detail { description "L2RIB producers detail information"; leaf object-id { type uint32; description "Object ID"; } leaf product-id { type uint32; description "Product ID"; } container producer { description "Non-detail Producer Bag"; leaf client-id { type uint32; description "Client ID"; } leaf object-type { type L2rib-bag-obj; description "Object Type"; } leaf producer-id { type L2rib-bag-producer-id; description "Producer ID"; } leaf producer-name { type string; description "Producer Name"; } leaf admin-distance { type uint32; description "Admin Distance"; } leaf purge-time { type uint32; description "Purge Time"; } leaf state { type L2rib-bag-producer-state; description "Producer State"; } } // container producer container statistics { description "Producer Statistics"; container statistics { description "Statistics"; leaf memory-size { type uint32; description "Memory Size"; } leaf object-count { type uint32; description "Number of Objects"; } leaf endof-interval-ts { type uint64; description "End of Interval Timestamp"; } list extended-counter { description "Extended Counters"; leaf counter-type { type uint8; description "CounterType"; } leaf counter-name { type string; description "CounterName"; } leaf l2rb-first-event-ts { type uint64; description "Real-clock timestamp in msec of first event"; } leaf l2rb-last-event-ts { type uint64; description "Real-clock timestamp in msec of last event"; } leaf l2rb-interval-event-count { type uint32; description "number of events in interval"; } leaf l2rb-total-event-count { type uint32; description "total number of events"; } } // list extended-counter } // container statistics leaf producer-id { type L2rib-bag-producer-id; description "Producer ID"; } leaf producer-name { type string; description "Producer Name"; } } // container statistics leaf last-update-timestamp { type uint64; description "Last Update Timestamp"; } } // list producers-detail } // container producers-details container summary { description "L2RIB EVPN Summary"; container mac-dd-params { description "MAC duplicate detection parameters"; leaf dd-params-disable { type boolean; description "Disable duplicate detection for MAC, IPv4 or IPv6 addresses."; } leaf dd-params-infinite-retry-count { type boolean; description "Disable permanent freezing for MAC, IPv4 or IPv6 addresses with infinite retry-count."; } leaf dd-params-freeze-time { type uint16; description "Length of time to freeze the mac after it has been detected as duplicate. Default is 30s."; } leaf dd-params-retry-count { type uint16; description "Number of times to unfreeze a MAC before permanently freezing it. Default is 3 times."; } leaf dd-params-reset-freeze-count-interval { type uint16; units "hour"; description "Interval after which the count of duplicate detection events used to determine whether MAC or IP needs to be permanently frozen, is reset. Default is 24 hours."; } leaf dd-params-move-count { type uint32; units "second"; description "Number of moves to occur in move-interval seconds before freezing the MAC. Default is 5s."; } leaf dd-params-move-interval { type uint32; description "Interval to watch for subsequent moves before freezing the MAC. Default is 180s."; } } // container mac-dd-params container ipv4-dd-params { description "IPv4 duplicate detection parameters"; leaf dd-params-disable { type boolean; description "Disable duplicate detection for MAC, IPv4 or IPv6 addresses."; } leaf dd-params-infinite-retry-count { type boolean; description "Disable permanent freezing for MAC, IPv4 or IPv6 addresses with infinite retry-count."; } leaf dd-params-freeze-time { type uint16; description "Length of time to freeze the mac after it has been detected as duplicate. Default is 30s."; } leaf dd-params-retry-count { type uint16; description "Number of times to unfreeze a MAC before permanently freezing it. Default is 3 times."; } leaf dd-params-reset-freeze-count-interval { type uint16; units "hour"; description "Interval after which the count of duplicate detection events used to determine whether MAC or IP needs to be permanently frozen, is reset. Default is 24 hours."; } leaf dd-params-move-count { type uint32; units "second"; description "Number of moves to occur in move-interval seconds before freezing the MAC. Default is 5s."; } leaf dd-params-move-interval { type uint32; description "Interval to watch for subsequent moves before freezing the MAC. Default is 180s."; } } // container ipv4-dd-params container ipv6-dd-params { description "IPv6 duplicate detection parameters"; leaf dd-params-disable { type boolean; description "Disable duplicate detection for MAC, IPv4 or IPv6 addresses."; } leaf dd-params-infinite-retry-count { type boolean; description "Disable permanent freezing for MAC, IPv4 or IPv6 addresses with infinite retry-count."; } leaf dd-params-freeze-time { type uint16; description "Length of time to freeze the mac after it has been detected as duplicate. Default is 30s."; } leaf dd-params-retry-count { type uint16; description "Number of times to unfreeze a MAC before permanently freezing it. Default is 3 times."; } leaf dd-params-reset-freeze-count-interval { type uint16; units "hour"; description "Interval after which the count of duplicate detection events used to determine whether MAC or IP needs to be permanently frozen, is reset. Default is 24 hours."; } leaf dd-params-move-count { type uint32; units "second"; description "Number of moves to occur in move-interval seconds before freezing the MAC. Default is 5s."; } leaf dd-params-move-interval { type uint32; description "Interval to watch for subsequent moves before freezing the MAC. Default is 180s."; } } // container ipv6-dd-params leaf converged-tables-count { type uint32; description "Number of Converged Tables"; } leaf total-memory { type uint32; description "Total Allocated Memory"; } list table-summary { description "Per Object Table summary"; leaf object-type { type L2rib-bag-obj; description "Object Type"; } leaf object-count { type uint32; description "Number of Objects"; } leaf table-memory { type uint32; description "Allocated Memory"; } list producer-stat { description "Statistics per producer"; container statistics { description "Statistics"; leaf memory-size { type uint32; description "Memory Size"; } leaf object-count { type uint32; description "Number of Objects"; } leaf endof-interval-ts { type uint64; description "End of Interval Timestamp"; } list extended-counter { description "Extended Counters"; leaf counter-type { type uint8; description "CounterType"; } leaf counter-name { type string; description "CounterName"; } leaf l2rb-first-event-ts { type uint64; description "Real-clock timestamp in msec of first event"; } leaf l2rb-last-event-ts { type uint64; description "Real-clock timestamp in msec of last event"; } leaf l2rb-interval-event-count { type uint32; description "number of events in interval"; } leaf l2rb-total-event-count { type uint32; description "total number of events"; } } // list extended-counter } // container statistics leaf producer-id { type L2rib-bag-producer-id; description "Producer ID"; } leaf producer-name { type string; description "Producer Name"; } } // list producer-stat } // list table-summary } // container summary container producers { description "L2RIB producer table"; list producer { description "L2RIB producers"; leaf object-id { type uint32; description "Object ID"; } leaf product-id { type uint32; description "Product ID"; } leaf client-id { type uint32; description "Client ID"; } leaf object-type { type L2rib-bag-obj; description "Object Type"; } leaf producer-id { type L2rib-bag-producer-id; description "Producer ID"; } leaf producer-name { type string; description "Producer Name"; } leaf admin-distance { type uint32; description "Admin Distance"; } leaf purge-time { type uint32; description "Purge Time"; } leaf state { type L2rib-bag-producer-state; description "Producer State"; } } // list producer } // container producers container clients { description "L2RIB client table"; list client { key "client-id"; description "L2RIB clients"; leaf client-id { type uint32; description "Client ID"; } leaf client-id-xr { type uint32; description "Client ID"; } leaf process-id { type uint32; description "Process ID"; } leaf node-id { type xr:Node-id; description "Node ID"; } leaf proc-name { type string; description "Process Name"; } leaf proc-suffix { type string; description "Process Suffix"; } } // list client } // container clients container evis-xr { description "L2RIB EVPN EVI Detail Table"; list evi { key "evi"; description "L2RIB EVPN EVI Entry"; leaf evi { type uint32; description "EVI ID"; } container topology { description "Topology"; leaf topology-id { type uint32; description "Topology ID"; } leaf topology-name { type string; description "Topology Name"; } leaf topology-type { type uint32; description "Topology Type"; } } // container topology leaf l2r-vni { type uint32; description "l2r vni"; } leaf l2r-encap-type { type uint16; description "l2r encap type"; } leaf l2r-nve-iod { type uint32; description "l2r nve iod"; } leaf l2r-nve-ifhandle { type uint32; description "l2r nve ifhandle"; } leaf vtep-ip { type string; description "VTEP IP"; } leaf l2r-topo-txid { type uint32; description "l2r topo txid"; } leaf l2r-topo-flags { type uint32; description "Topology Flags"; } leaf l2r-subtype { type uint8; description "Topology Subtype"; } leaf pad1 { type yang:hex-string; description "pad1"; } } // list evi } // container evis-xr container clients-details { description "L2RIB detailed client table"; list clients-detail { key "client-id"; description "L2RIB clients detail information"; leaf client-id { type uint32; description "Client ID"; } container client { description "Non-detail Client bag"; leaf client-id-xr { type uint32; description "Client ID"; } leaf process-id { type uint32; description "Process ID"; } leaf node-id { type xr:Node-id; description "Node ID"; } leaf proc-name { type string; description "Process Name"; } leaf proc-suffix { type string; description "Process Suffix"; } } // container client container registration-table-statistics { description "Registration table statistics"; container statistics { description "Statistics"; leaf memory-size { type uint32; description "Memory Size"; } leaf object-count { type uint32; description "Number of Objects"; } leaf endof-interval-ts { type uint64; description "End of Interval Timestamp"; } list extended-counter { description "Extended Counters"; leaf counter-type { type uint8; description "CounterType"; } leaf counter-name { type string; description "CounterName"; } leaf l2rb-first-event-ts { type uint64; description "Real-clock timestamp in msec of first event"; } leaf l2rb-last-event-ts { type uint64; description "Real-clock timestamp in msec of last event"; } leaf l2rb-interval-event-count { type uint32; description "number of events in interval"; } leaf l2rb-total-event-count { type uint32; description "total number of events"; } } // list extended-counter } // container statistics leaf producer-id { type L2rib-bag-producer-id; description "Producer ID"; } leaf producer-name { type string; description "Producer Name"; } } // container registration-table-statistics leaf producer-count { type uint8; description "Number of Producers"; } leaf last-update-timestamp { type uint64; description "Last Update Timestamp"; } list producer-array { description "List of Producers"; leaf object-type { type L2rib-bag-obj; description "Object Type"; } leaf producer-id { type L2rib-bag-producer-id; description "Producer ID"; } leaf producer-name { type string; description "Producer Name"; } leaf admin-distance { type uint32; description "Admin Distance"; } leaf purge-time { type uint32; description "Purge Time"; } } // list producer-array } // list clients-detail } // container clients-details container evi-child-tables { description "Container for all EVI Child Tables"; container macip-details { description "L2RIB EVPN EVI MAC IP Detail table"; list macip-detail { description "L2RIB EVPN MAC IP Detail table"; leaf evi { type uint32; description "EVPN ID"; } leaf mac-addr { type yang:mac-address; description "MAC IP Address"; } leaf ip-addr { type inet:ip-address-no-zone; description "IP Address"; } leaf prod-id { type uint32; description "Producer ID"; } leaf admin-dist { type uint32; description "Admin Distance"; } leaf flags { type uint32; description "Mac-IP route flags"; } leaf seq-num { type uint32; description "Mac-IP route sequence number"; } container mac-ip-route { description "MAC-IP Route"; container next-hop { description "Next Hop"; container next-hop { description "Next hop"; container labeled { when "../type = 'l2rib-next-hop-label-ed'" { description "../Type = 'L2RIB_NEXT_HOP_LABELED'"; } description "Labeled Next Hop"; leaf address-family { type L2rib-afi; description "L2RIB Address Family"; } leaf ip-address { type string; description "IP Address"; } leaf label { type uint32; description "Label"; } leaf internal { type boolean; description "Internal Label"; } } // container labeled leaf type { type L2rib-next-hop; description "Type"; } leaf ipv4 { when "../type = 'l2rib-next-hop-ipv4'" { description "../Type = 'L2RIB_NEXT_HOP_IPV4'"; } type inet:ipv4-address; description "IPV4 address Next Hop"; } leaf ipv6 { when "../type = 'l2rib-next-hop-ipv6'" { description "../Type = 'L2RIB_NEXT_HOP_IPV6'"; } type L2rib-ipv6-addr; description "IPV6 address Next Hop"; } leaf mac { when "../type = 'l2rib-next-hop-mac'" { description "../Type = 'L2RIB_NEXT_HOP_MAC'"; } type L2rib-mac-addr; description "MAC address Next Hop"; } leaf interface-handle { when "../type = 'l2rib-next-hop-interface-index'" { description "../Type = 'L2RIB_NEXT_HOP_INTERFACE_INDEX'"; } type xr:Interface-name; description "Intefrace Handle Next Hop"; } leaf xid { when "../type = 'l2rib-next-hop-xid'" { description "../Type = 'L2RIB_NEXT_HOP_XID'"; } type uint32; description "XID Next Hop"; } } // container next-hop leaf topology-id { type uint32; description "Next-hop TOPOLOGY ID"; } leaf flags { type uint16; description "Next-hop flags"; } } // container next-hop container backup-next-hop { description "Secondary Next Hop"; container next-hop { description "Next hop"; container labeled { when "../type = 'l2rib-next-hop-label-ed'" { description "../Type = 'L2RIB_NEXT_HOP_LABELED'"; } description "Labeled Next Hop"; leaf address-family { type L2rib-afi; description "L2RIB Address Family"; } leaf ip-address { type string; description "IP Address"; } leaf label { type uint32; description "Label"; } leaf internal { type boolean; description "Internal Label"; } } // container labeled leaf type { type L2rib-next-hop; description "Type"; } leaf ipv4 { when "../type = 'l2rib-next-hop-ipv4'" { description "../Type = 'L2RIB_NEXT_HOP_IPV4'"; } type inet:ipv4-address; description "IPV4 address Next Hop"; } leaf ipv6 { when "../type = 'l2rib-next-hop-ipv6'" { description "../Type = 'L2RIB_NEXT_HOP_IPV6'"; } type L2rib-ipv6-addr; description "IPV6 address Next Hop"; } leaf mac { when "../type = 'l2rib-next-hop-mac'" { description "../Type = 'L2RIB_NEXT_HOP_MAC'"; } type L2rib-mac-addr; description "MAC address Next Hop"; } leaf interface-handle { when "../type = 'l2rib-next-hop-interface-index'" { description "../Type = 'L2RIB_NEXT_HOP_INTERFACE_INDEX'"; } type xr:Interface-name; description "Intefrace Handle Next Hop"; } leaf xid { when "../type = 'l2rib-next-hop-xid'" { description "../Type = 'L2RIB_NEXT_HOP_XID'"; } type uint32; description "XID Next Hop"; } } // container next-hop leaf topology-id { type uint32; description "Next-hop TOPOLOGY ID"; } leaf flags { type uint16; description "Next-hop flags"; } } // container backup-next-hop leaf mac-address { type yang:mac-address; description "MAC Address"; } leaf ip-address { type string; description "IP Address"; } leaf admin-distance { type uint8; description "Admin Distance"; } leaf producer-id { type uint8; description "Producer ID"; } leaf topology-id { type uint32; description "Topology ID"; } } // container mac-ip-route container rt-tlv { description "Mac-IP Route Opaque Data TLV"; leaf tlv-type { type uint16; description "TLV Type"; } leaf tlv-len { type uint16; description "TLV Length"; } list tlv-val { description "TLV Value"; leaf entry { type uint8; description "TLV Value"; } } // list tlv-val } // container rt-tlv container nh-tlv { description "Mac-IP Route Opaque NH TLV"; leaf tlv-type { type uint16; description "TLV Type"; } leaf tlv-len { type uint16; description "TLV Length"; } list tlv-val { description "TLV Value"; leaf entry { type uint8; description "TLV Value"; } } // list tlv-val } // container nh-tlv leaf sequence-number { type uint32; description "MAC-IP route sequence Number"; } leaf flags-xr { type xr:Hex-integer; description "MAC-IP route flags"; } leaf soo { type uint32; description "SOO"; } leaf last-update-timestamp { type uint64; description "Last Update Timestamp"; } } // list macip-detail } // container macip-details container mac-ips { description "L2RIB EVPN EVI MAC IP table"; list mac-ip { description "L2RIB EVPN MAC IP table"; leaf evi { type uint32; description "EVPN ID"; } leaf mac-addr { type yang:mac-address; description "MAC-IP Address"; } leaf ip-addr { type inet:ip-address-no-zone; description "IP Address"; } leaf prod-id { type uint32; description "Producer ID"; } leaf admin-dist { type uint32; description "Admin Distance"; } leaf flags { type uint32; description "Mac-IP route flags"; } leaf seq-num { type uint32; description "Mac-IP route sequence number"; } container next-hop { description "Next Hop"; container next-hop { description "Next hop"; container labeled { when "../type = 'l2rib-next-hop-label-ed'" { description "../Type = 'L2RIB_NEXT_HOP_LABELED'"; } description "Labeled Next Hop"; leaf address-family { type L2rib-afi; description "L2RIB Address Family"; } leaf ip-address { type string; description "IP Address"; } leaf label { type uint32; description "Label"; } leaf internal { type boolean; description "Internal Label"; } } // container labeled leaf type { type L2rib-next-hop; description "Type"; } leaf ipv4 { when "../type = 'l2rib-next-hop-ipv4'" { description "../Type = 'L2RIB_NEXT_HOP_IPV4'"; } type inet:ipv4-address; description "IPV4 address Next Hop"; } leaf ipv6 { when "../type = 'l2rib-next-hop-ipv6'" { description "../Type = 'L2RIB_NEXT_HOP_IPV6'"; } type L2rib-ipv6-addr; description "IPV6 address Next Hop"; } leaf mac { when "../type = 'l2rib-next-hop-mac'" { description "../Type = 'L2RIB_NEXT_HOP_MAC'"; } type L2rib-mac-addr; description "MAC address Next Hop"; } leaf interface-handle { when "../type = 'l2rib-next-hop-interface-index'" { description "../Type = 'L2RIB_NEXT_HOP_INTERFACE_INDEX'"; } type xr:Interface-name; description "Intefrace Handle Next Hop"; } leaf xid { when "../type = 'l2rib-next-hop-xid'" { description "../Type = 'L2RIB_NEXT_HOP_XID'"; } type uint32; description "XID Next Hop"; } } // container next-hop leaf topology-id { type uint32; description "Next-hop TOPOLOGY ID"; } leaf flags { type uint16; description "Next-hop flags"; } } // container next-hop container backup-next-hop { description "Secondary Next Hop"; container next-hop { description "Next hop"; container labeled { when "../type = 'l2rib-next-hop-label-ed'" { description "../Type = 'L2RIB_NEXT_HOP_LABELED'"; } description "Labeled Next Hop"; leaf address-family { type L2rib-afi; description "L2RIB Address Family"; } leaf ip-address { type string; description "IP Address"; } leaf label { type uint32; description "Label"; } leaf internal { type boolean; description "Internal Label"; } } // container labeled leaf type { type L2rib-next-hop; description "Type"; } leaf ipv4 { when "../type = 'l2rib-next-hop-ipv4'" { description "../Type = 'L2RIB_NEXT_HOP_IPV4'"; } type inet:ipv4-address; description "IPV4 address Next Hop"; } leaf ipv6 { when "../type = 'l2rib-next-hop-ipv6'" { description "../Type = 'L2RIB_NEXT_HOP_IPV6'"; } type L2rib-ipv6-addr; description "IPV6 address Next Hop"; } leaf mac { when "../type = 'l2rib-next-hop-mac'" { description "../Type = 'L2RIB_NEXT_HOP_MAC'"; } type L2rib-mac-addr; description "MAC address Next Hop"; } leaf interface-handle { when "../type = 'l2rib-next-hop-interface-index'" { description "../Type = 'L2RIB_NEXT_HOP_INTERFACE_INDEX'"; } type xr:Interface-name; description "Intefrace Handle Next Hop"; } leaf xid { when "../type = 'l2rib-next-hop-xid'" { description "../Type = 'L2RIB_NEXT_HOP_XID'"; } type uint32; description "XID Next Hop"; } } // container next-hop leaf topology-id { type uint32; description "Next-hop TOPOLOGY ID"; } leaf flags { type uint16; description "Next-hop flags"; } } // container backup-next-hop leaf mac-address { type yang:mac-address; description "MAC Address"; } leaf ip-address { type string; description "IP Address"; } leaf admin-distance { type uint8; description "Admin Distance"; } leaf producer-id { type uint8; description "Producer ID"; } leaf topology-id { type uint32; description "Topology ID"; } } // list mac-ip } // container mac-ips container macs { description "L2RIB EVPN EVI MAC table"; list mac { description "L2RIB EVPN MAC table"; leaf evi { type uint32; description "EVPN ID"; } leaf mac-addr { type yang:mac-address; description "MAC Address"; } leaf prod-id { type uint32; description "Producer ID"; } leaf admin-dist { type uint32; description "Admin Distance"; } leaf flags { type uint32; description "Mac route flags"; } leaf seq-num { type uint32; description "Mac route sequence number"; } container route { description "MAC route"; container regular { when "../type = 'l2rib-mac-route-type-regular'" { description "../Type = 'L2RIB_MAC_ROUTE_TYPE_REGULAR'"; } description "Regular MAC route"; container next-hop { description "Next Hop"; container next-hop { description "Next hop"; container labeled { when "../type = 'l2rib-next-hop-label-ed'" { description "../Type = 'L2RIB_NEXT_HOP_LABELED'"; } description "Labeled Next Hop"; leaf address-family { type L2rib-afi; description "L2RIB Address Family"; } leaf ip-address { type string; description "IP Address"; } leaf label { type uint32; description "Label"; } leaf internal { type boolean; description "Internal Label"; } } // container labeled leaf type { type L2rib-next-hop; description "Type"; } leaf ipv4 { when "../type = 'l2rib-next-hop-ipv4'" { description "../Type = 'L2RIB_NEXT_HOP_IPV4'"; } type inet:ipv4-address; description "IPV4 address Next Hop"; } leaf ipv6 { when "../type = 'l2rib-next-hop-ipv6'" { description "../Type = 'L2RIB_NEXT_HOP_IPV6'"; } type L2rib-ipv6-addr; description "IPV6 address Next Hop"; } leaf mac { when "../type = 'l2rib-next-hop-mac'" { description "../Type = 'L2RIB_NEXT_HOP_MAC'"; } type L2rib-mac-addr; description "MAC address Next Hop"; } leaf interface-handle { when "../type = 'l2rib-next-hop-interface-index'" { description "../Type = 'L2RIB_NEXT_HOP_INTERFACE_INDEX'"; } type xr:Interface-name; description "Intefrace Handle Next Hop"; } leaf xid { when "../type = 'l2rib-next-hop-xid'" { description "../Type = 'L2RIB_NEXT_HOP_XID'"; } type uint32; description "XID Next Hop"; } } // container next-hop leaf topology-id { type uint32; description "Next-hop TOPOLOGY ID"; } leaf flags { type uint16; description "Next-hop flags"; } } // container next-hop container backup-next-hop { description "Secondary Next Hop"; container next-hop { description "Next hop"; container labeled { when "../type = 'l2rib-next-hop-label-ed'" { description "../Type = 'L2RIB_NEXT_HOP_LABELED'"; } description "Labeled Next Hop"; leaf address-family { type L2rib-afi; description "L2RIB Address Family"; } leaf ip-address { type string; description "IP Address"; } leaf label { type uint32; description "Label"; } leaf internal { type boolean; description "Internal Label"; } } // container labeled leaf type { type L2rib-next-hop; description "Type"; } leaf ipv4 { when "../type = 'l2rib-next-hop-ipv4'" { description "../Type = 'L2RIB_NEXT_HOP_IPV4'"; } type inet:ipv4-address; description "IPV4 address Next Hop"; } leaf ipv6 { when "../type = 'l2rib-next-hop-ipv6'" { description "../Type = 'L2RIB_NEXT_HOP_IPV6'"; } type L2rib-ipv6-addr; description "IPV6 address Next Hop"; } leaf mac { when "../type = 'l2rib-next-hop-mac'" { description "../Type = 'L2RIB_NEXT_HOP_MAC'"; } type L2rib-mac-addr; description "MAC address Next Hop"; } leaf interface-handle { when "../type = 'l2rib-next-hop-interface-index'" { description "../Type = 'L2RIB_NEXT_HOP_INTERFACE_INDEX'"; } type xr:Interface-name; description "Intefrace Handle Next Hop"; } leaf xid { when "../type = 'l2rib-next-hop-xid'" { description "../Type = 'L2RIB_NEXT_HOP_XID'"; } type uint32; description "XID Next Hop"; } } // container next-hop leaf topology-id { type uint32; description "Next-hop TOPOLOGY ID"; } leaf flags { type uint16; description "Next-hop flags"; } } // container backup-next-hop } // container regular container evpn-esi { when "../type = 'l2rib-mac-route-type-evpn-esi'" { description "../Type = 'L2RIB_MAC_ROUTE_TYPE_EVPN_ESI'"; } description "EVPN ESI MAC route"; container ethernet-segment-id { description "Ethernet Segment Identifier"; leaf system-priority { type uint16; description "LACP System Priority"; } leaf system-id { type yang:mac-address; description "LACP System Id"; } leaf port-key { type uint16; description "LACP Port Key"; } } // container ethernet-segment-id container path-list { description "Path list information. Set for detailed MAC route information"; container path-list-info { description "Type-specific Path List info"; container path-list-esi { when "../type = 'l2rib-mac-route-type-evpn-esi'" { description "../Type = 'L2RIB_MAC_ROUTE_TYPE_EVPN_ESI'"; } description "ESI Path List"; container ethernet-segment-id { description "Ethernet Segment Identifier"; leaf system-priority { type uint16; description "LACP System Priority"; } leaf system-id { type yang:mac-address; description "LACP System Id"; } leaf port-key { type uint16; description "LACP Port Key"; } } // container ethernet-segment-id leaf resolved { type boolean; description "Path list Resolved"; } list mac-update-next-hop-array { description "Array of Next Hops from MAC Update"; container next-hop { description "Next hop"; container labeled { when "../type = 'l2rib-next-hop-label-ed'" { description "../Type = 'L2RIB_NEXT_HOP_LABELED'"; } description "Labeled Next Hop"; leaf address-family { type L2rib-afi; description "L2RIB Address Family"; } leaf ip-address { type string; description "IP Address"; } leaf label { type uint32; description "Label"; } leaf internal { type boolean; description "Internal Label"; } } // container labeled leaf type { type L2rib-next-hop; description "Type"; } leaf ipv4 { when "../type = 'l2rib-next-hop-ipv4'" { description "../Type = 'L2RIB_NEXT_HOP_IPV4'"; } type inet:ipv4-address; description "IPV4 address Next Hop"; } leaf ipv6 { when "../type = 'l2rib-next-hop-ipv6'" { description "../Type = 'L2RIB_NEXT_HOP_IPV6'"; } type L2rib-ipv6-addr; description "IPV6 address Next Hop"; } leaf mac { when "../type = 'l2rib-next-hop-mac'" { description "../Type = 'L2RIB_NEXT_HOP_MAC'"; } type L2rib-mac-addr; description "MAC address Next Hop"; } leaf interface-handle { when "../type = 'l2rib-next-hop-interface-index'" { description "../Type = 'L2RIB_NEXT_HOP_INTERFACE_INDEX'"; } type xr:Interface-name; description "Intefrace Handle Next Hop"; } leaf xid { when "../type = 'l2rib-next-hop-xid'" { description "../Type = 'L2RIB_NEXT_HOP_XID'"; } type uint32; description "XID Next Hop"; } } // container next-hop leaf topology-id { type uint32; description "Next-hop TOPOLOGY ID"; } leaf flags { type uint16; description "Next-hop flags"; } } // list mac-update-next-hop-array } // container path-list-esi container path-list-mac { when "../type = 'l2rib-mac-route-type-bmac'" { description "../Type = 'L2RIB_MAC_ROUTE_TYPE_BMAC'"; } description "MAC Path List"; leaf mac-address { type yang:mac-address; description "MAC Address"; } } // container path-list-mac leaf type { type L2rib-mac-route; description "Type"; } } // container path-list-info leaf producer-id { type uint8; description "ID of EAD route producer"; } leaf mac-count { type uint32; description "Number of MAC routes bound to this Path list"; } leaf local-label { type uint32; description "Path list local Label"; } list next-hop-array { description "Array of Next Hops for MAC Path List"; container next-hop { description "Next hop"; container labeled { when "../type = 'l2rib-next-hop-label-ed'" { description "../Type = 'L2RIB_NEXT_HOP_LABELED'"; } description "Labeled Next Hop"; leaf address-family { type L2rib-afi; description "L2RIB Address Family"; } leaf ip-address { type string; description "IP Address"; } leaf label { type uint32; description "Label"; } leaf internal { type boolean; description "Internal Label"; } } // container labeled leaf type { type L2rib-next-hop; description "Type"; } leaf ipv4 { when "../type = 'l2rib-next-hop-ipv4'" { description "../Type = 'L2RIB_NEXT_HOP_IPV4'"; } type inet:ipv4-address; description "IPV4 address Next Hop"; } leaf ipv6 { when "../type = 'l2rib-next-hop-ipv6'" { description "../Type = 'L2RIB_NEXT_HOP_IPV6'"; } type L2rib-ipv6-addr; description "IPV6 address Next Hop"; } leaf mac { when "../type = 'l2rib-next-hop-mac'" { description "../Type = 'L2RIB_NEXT_HOP_MAC'"; } type L2rib-mac-addr; description "MAC address Next Hop"; } leaf interface-handle { when "../type = 'l2rib-next-hop-interface-index'" { description "../Type = 'L2RIB_NEXT_HOP_INTERFACE_INDEX'"; } type xr:Interface-name; description "Intefrace Handle Next Hop"; } leaf xid { when "../type = 'l2rib-next-hop-xid'" { description "../Type = 'L2RIB_NEXT_HOP_XID'"; } type uint32; description "XID Next Hop"; } } // container next-hop leaf topology-id { type uint32; description "Next-hop TOPOLOGY ID"; } leaf flags { type uint16; description "Next-hop flags"; } } // list next-hop-array } // container path-list leaf sequence-number { type uint32; description "MAC route sequence number"; } leaf forward-state { type boolean; description "Forwarding State. True means forward, False means drop."; } } // container evpn-esi container bmac { when "../type = 'l2rib-mac-route-type-bmac'" { description "../Type = 'L2RIB_MAC_ROUTE_TYPE_BMAC'"; } description "BMAC route"; container path-list { description "Path list information"; container path-list-info { description "Type-specific Path List info"; container path-list-esi { when "../type = 'l2rib-mac-route-type-evpn-esi'" { description "../Type = 'L2RIB_MAC_ROUTE_TYPE_EVPN_ESI'"; } description "ESI Path List"; container ethernet-segment-id { description "Ethernet Segment Identifier"; leaf system-priority { type uint16; description "LACP System Priority"; } leaf system-id { type yang:mac-address; description "LACP System Id"; } leaf port-key { type uint16; description "LACP Port Key"; } } // container ethernet-segment-id leaf resolved { type boolean; description "Path list Resolved"; } list mac-update-next-hop-array { description "Array of Next Hops from MAC Update"; container next-hop { description "Next hop"; container labeled { when "../type = 'l2rib-next-hop-label-ed'" { description "../Type = 'L2RIB_NEXT_HOP_LABELED'"; } description "Labeled Next Hop"; leaf address-family { type L2rib-afi; description "L2RIB Address Family"; } leaf ip-address { type string; description "IP Address"; } leaf label { type uint32; description "Label"; } leaf internal { type boolean; description "Internal Label"; } } // container labeled leaf type { type L2rib-next-hop; description "Type"; } leaf ipv4 { when "../type = 'l2rib-next-hop-ipv4'" { description "../Type = 'L2RIB_NEXT_HOP_IPV4'"; } type inet:ipv4-address; description "IPV4 address Next Hop"; } leaf ipv6 { when "../type = 'l2rib-next-hop-ipv6'" { description "../Type = 'L2RIB_NEXT_HOP_IPV6'"; } type L2rib-ipv6-addr; description "IPV6 address Next Hop"; } leaf mac { when "../type = 'l2rib-next-hop-mac'" { description "../Type = 'L2RIB_NEXT_HOP_MAC'"; } type L2rib-mac-addr; description "MAC address Next Hop"; } leaf interface-handle { when "../type = 'l2rib-next-hop-interface-index'" { description "../Type = 'L2RIB_NEXT_HOP_INTERFACE_INDEX'"; } type xr:Interface-name; description "Intefrace Handle Next Hop"; } leaf xid { when "../type = 'l2rib-next-hop-xid'" { description "../Type = 'L2RIB_NEXT_HOP_XID'"; } type uint32; description "XID Next Hop"; } } // container next-hop leaf topology-id { type uint32; description "Next-hop TOPOLOGY ID"; } leaf flags { type uint16; description "Next-hop flags"; } } // list mac-update-next-hop-array } // container path-list-esi container path-list-mac { when "../type = 'l2rib-mac-route-type-bmac'" { description "../Type = 'L2RIB_MAC_ROUTE_TYPE_BMAC'"; } description "MAC Path List"; leaf mac-address { type yang:mac-address; description "MAC Address"; } } // container path-list-mac leaf type { type L2rib-mac-route; description "Type"; } } // container path-list-info leaf producer-id { type uint8; description "ID of EAD route producer"; } leaf mac-count { type uint32; description "Number of MAC routes bound to this Path list"; } leaf local-label { type uint32; description "Path list local Label"; } list next-hop-array { description "Array of Next Hops for MAC Path List"; container next-hop { description "Next hop"; container labeled { when "../type = 'l2rib-next-hop-label-ed'" { description "../Type = 'L2RIB_NEXT_HOP_LABELED'"; } description "Labeled Next Hop"; leaf address-family { type L2rib-afi; description "L2RIB Address Family"; } leaf ip-address { type string; description "IP Address"; } leaf label { type uint32; description "Label"; } leaf internal { type boolean; description "Internal Label"; } } // container labeled leaf type { type L2rib-next-hop; description "Type"; } leaf ipv4 { when "../type = 'l2rib-next-hop-ipv4'" { description "../Type = 'L2RIB_NEXT_HOP_IPV4'"; } type inet:ipv4-address; description "IPV4 address Next Hop"; } leaf ipv6 { when "../type = 'l2rib-next-hop-ipv6'" { description "../Type = 'L2RIB_NEXT_HOP_IPV6'"; } type L2rib-ipv6-addr; description "IPV6 address Next Hop"; } leaf mac { when "../type = 'l2rib-next-hop-mac'" { description "../Type = 'L2RIB_NEXT_HOP_MAC'"; } type L2rib-mac-addr; description "MAC address Next Hop"; } leaf interface-handle { when "../type = 'l2rib-next-hop-interface-index'" { description "../Type = 'L2RIB_NEXT_HOP_INTERFACE_INDEX'"; } type xr:Interface-name; description "Intefrace Handle Next Hop"; } leaf xid { when "../type = 'l2rib-next-hop-xid'" { description "../Type = 'L2RIB_NEXT_HOP_XID'"; } type uint32; description "XID Next Hop"; } } // container next-hop leaf topology-id { type uint32; description "Next-hop TOPOLOGY ID"; } leaf flags { type uint16; description "Next-hop flags"; } } // list next-hop-array } // container path-list leaf bmac-address { type yang:mac-address; description "BMAC Address"; } leaf forward-state { type boolean; description "Forwarding State. True means forward, False means drop."; } } // container bmac leaf type { type L2rib-mac-route; description "Type"; } } // container route leaf mac-address { type yang:mac-address; description "MAC Address"; } leaf admin-distance { type uint8; description "Admin Distance"; } leaf producer-id { type uint8; description "Producer ID"; } leaf topology-id { type uint32; description "Topology ID"; } } // list mac } // container macs container imets { description "L2RIB EVPN EVI IMET table"; list imet { description "L2RIB EVPN IMET table"; leaf evi { type uint32; description "EVPN ID"; } leaf tag-id { type uint32; description "Tag ID"; } leaf ip-addr { type inet:ip-address-no-zone; description "Originating Router IP Address"; } leaf prod-id { type uint32; description "Producer ID"; } leaf vtepi-paddr { type string; description "Originating Router IP Address"; } leaf producer-id { type uint8; description "Producer of Imet route"; } leaf topo-id { type uint32; description "Topo ID"; } leaf ethernet-tag-id { type uint32; description "Ethernet Tag ID"; } } // list imet } // container imets container mac-details { description "L2RIB EVPN EVI MAC Detail table"; list mac-detail { description "L2RIB EVPN MAC Detail table"; leaf evi { type uint32; description "EVPN ID"; } leaf mac-addr { type yang:mac-address; description "MAC Address"; } leaf prod-id { type uint32; description "Producer ID"; } leaf admin-dist { type uint32; description "Admin Distance"; } leaf flags { type uint32; description "Mac route flags"; } leaf seq-num { type uint32; description "Mac route sequence number"; } container mac-route { description "MAC Route"; container route { description "MAC route"; container regular { when "../type = 'l2rib-mac-route-type-regular'" { description "../Type = 'L2RIB_MAC_ROUTE_TYPE_REGULAR'"; } description "Regular MAC route"; container next-hop { description "Next Hop"; container next-hop { description "Next hop"; container labeled { when "../type = 'l2rib-next-hop-label-ed'" { description "../Type = 'L2RIB_NEXT_HOP_LABELED'"; } description "Labeled Next Hop"; leaf address-family { type L2rib-afi; description "L2RIB Address Family"; } leaf ip-address { type string; description "IP Address"; } leaf label { type uint32; description "Label"; } leaf internal { type boolean; description "Internal Label"; } } // container labeled leaf type { type L2rib-next-hop; description "Type"; } leaf ipv4 { when "../type = 'l2rib-next-hop-ipv4'" { description "../Type = 'L2RIB_NEXT_HOP_IPV4'"; } type inet:ipv4-address; description "IPV4 address Next Hop"; } leaf ipv6 { when "../type = 'l2rib-next-hop-ipv6'" { description "../Type = 'L2RIB_NEXT_HOP_IPV6'"; } type L2rib-ipv6-addr; description "IPV6 address Next Hop"; } leaf mac { when "../type = 'l2rib-next-hop-mac'" { description "../Type = 'L2RIB_NEXT_HOP_MAC'"; } type L2rib-mac-addr; description "MAC address Next Hop"; } leaf interface-handle { when "../type = 'l2rib-next-hop-interface-index'" { description "../Type = 'L2RIB_NEXT_HOP_INTERFACE_INDEX'"; } type xr:Interface-name; description "Intefrace Handle Next Hop"; } leaf xid { when "../type = 'l2rib-next-hop-xid'" { description "../Type = 'L2RIB_NEXT_HOP_XID'"; } type uint32; description "XID Next Hop"; } } // container next-hop leaf topology-id { type uint32; description "Next-hop TOPOLOGY ID"; } leaf flags { type uint16; description "Next-hop flags"; } } // container next-hop container backup-next-hop { description "Secondary Next Hop"; container next-hop { description "Next hop"; container labeled { when "../type = 'l2rib-next-hop-label-ed'" { description "../Type = 'L2RIB_NEXT_HOP_LABELED'"; } description "Labeled Next Hop"; leaf address-family { type L2rib-afi; description "L2RIB Address Family"; } leaf ip-address { type string; description "IP Address"; } leaf label { type uint32; description "Label"; } leaf internal { type boolean; description "Internal Label"; } } // container labeled leaf type { type L2rib-next-hop; description "Type"; } leaf ipv4 { when "../type = 'l2rib-next-hop-ipv4'" { description "../Type = 'L2RIB_NEXT_HOP_IPV4'"; } type inet:ipv4-address; description "IPV4 address Next Hop"; } leaf ipv6 { when "../type = 'l2rib-next-hop-ipv6'" { description "../Type = 'L2RIB_NEXT_HOP_IPV6'"; } type L2rib-ipv6-addr; description "IPV6 address Next Hop"; } leaf mac { when "../type = 'l2rib-next-hop-mac'" { description "../Type = 'L2RIB_NEXT_HOP_MAC'"; } type L2rib-mac-addr; description "MAC address Next Hop"; } leaf interface-handle { when "../type = 'l2rib-next-hop-interface-index'" { description "../Type = 'L2RIB_NEXT_HOP_INTERFACE_INDEX'"; } type xr:Interface-name; description "Intefrace Handle Next Hop"; } leaf xid { when "../type = 'l2rib-next-hop-xid'" { description "../Type = 'L2RIB_NEXT_HOP_XID'"; } type uint32; description "XID Next Hop"; } } // container next-hop leaf topology-id { type uint32; description "Next-hop TOPOLOGY ID"; } leaf flags { type uint16; description "Next-hop flags"; } } // container backup-next-hop } // container regular container evpn-esi { when "../type = 'l2rib-mac-route-type-evpn-esi'" { description "../Type = 'L2RIB_MAC_ROUTE_TYPE_EVPN_ESI'"; } description "EVPN ESI MAC route"; container ethernet-segment-id { description "Ethernet Segment Identifier"; leaf system-priority { type uint16; description "LACP System Priority"; } leaf system-id { type yang:mac-address; description "LACP System Id"; } leaf port-key { type uint16; description "LACP Port Key"; } } // container ethernet-segment-id container path-list { description "Path list information. Set for detailed MAC route information"; container path-list-info { description "Type-specific Path List info"; container path-list-esi { when "../type = 'l2rib-mac-route-type-evpn-esi'" { description "../Type = 'L2RIB_MAC_ROUTE_TYPE_EVPN_ESI'"; } description "ESI Path List"; container ethernet-segment-id { description "Ethernet Segment Identifier"; leaf system-priority { type uint16; description "LACP System Priority"; } leaf system-id { type yang:mac-address; description "LACP System Id"; } leaf port-key { type uint16; description "LACP Port Key"; } } // container ethernet-segment-id leaf resolved { type boolean; description "Path list Resolved"; } list mac-update-next-hop-array { description "Array of Next Hops from MAC Update"; container next-hop { description "Next hop"; container labeled { when "../type = 'l2rib-next-hop-label-ed'" { description "../Type = 'L2RIB_NEXT_HOP_LABELED'"; } description "Labeled Next Hop"; leaf address-family { type L2rib-afi; description "L2RIB Address Family"; } leaf ip-address { type string; description "IP Address"; } leaf label { type uint32; description "Label"; } leaf internal { type boolean; description "Internal Label"; } } // container labeled leaf type { type L2rib-next-hop; description "Type"; } leaf ipv4 { when "../type = 'l2rib-next-hop-ipv4'" { description "../Type = 'L2RIB_NEXT_HOP_IPV4'"; } type inet:ipv4-address; description "IPV4 address Next Hop"; } leaf ipv6 { when "../type = 'l2rib-next-hop-ipv6'" { description "../Type = 'L2RIB_NEXT_HOP_IPV6'"; } type L2rib-ipv6-addr; description "IPV6 address Next Hop"; } leaf mac { when "../type = 'l2rib-next-hop-mac'" { description "../Type = 'L2RIB_NEXT_HOP_MAC'"; } type L2rib-mac-addr; description "MAC address Next Hop"; } leaf interface-handle { when "../type = 'l2rib-next-hop-interface-index'" { description "../Type = 'L2RIB_NEXT_HOP_INTERFACE_INDEX'"; } type xr:Interface-name; description "Intefrace Handle Next Hop"; } leaf xid { when "../type = 'l2rib-next-hop-xid'" { description "../Type = 'L2RIB_NEXT_HOP_XID'"; } type uint32; description "XID Next Hop"; } } // container next-hop leaf topology-id { type uint32; description "Next-hop TOPOLOGY ID"; } leaf flags { type uint16; description "Next-hop flags"; } } // list mac-update-next-hop-array } // container path-list-esi container path-list-mac { when "../type = 'l2rib-mac-route-type-bmac'" { description "../Type = 'L2RIB_MAC_ROUTE_TYPE_BMAC'"; } description "MAC Path List"; leaf mac-address { type yang:mac-address; description "MAC Address"; } } // container path-list-mac leaf type { type L2rib-mac-route; description "Type"; } } // container path-list-info leaf producer-id { type uint8; description "ID of EAD route producer"; } leaf mac-count { type uint32; description "Number of MAC routes bound to this Path list"; } leaf local-label { type uint32; description "Path list local Label"; } list next-hop-array { description "Array of Next Hops for MAC Path List"; container next-hop { description "Next hop"; container labeled { when "../type = 'l2rib-next-hop-label-ed'" { description "../Type = 'L2RIB_NEXT_HOP_LABELED'"; } description "Labeled Next Hop"; leaf address-family { type L2rib-afi; description "L2RIB Address Family"; } leaf ip-address { type string; description "IP Address"; } leaf label { type uint32; description "Label"; } leaf internal { type boolean; description "Internal Label"; } } // container labeled leaf type { type L2rib-next-hop; description "Type"; } leaf ipv4 { when "../type = 'l2rib-next-hop-ipv4'" { description "../Type = 'L2RIB_NEXT_HOP_IPV4'"; } type inet:ipv4-address; description "IPV4 address Next Hop"; } leaf ipv6 { when "../type = 'l2rib-next-hop-ipv6'" { description "../Type = 'L2RIB_NEXT_HOP_IPV6'"; } type L2rib-ipv6-addr; description "IPV6 address Next Hop"; } leaf mac { when "../type = 'l2rib-next-hop-mac'" { description "../Type = 'L2RIB_NEXT_HOP_MAC'"; } type L2rib-mac-addr; description "MAC address Next Hop"; } leaf interface-handle { when "../type = 'l2rib-next-hop-interface-index'" { description "../Type = 'L2RIB_NEXT_HOP_INTERFACE_INDEX'"; } type xr:Interface-name; description "Intefrace Handle Next Hop"; } leaf xid { when "../type = 'l2rib-next-hop-xid'" { description "../Type = 'L2RIB_NEXT_HOP_XID'"; } type uint32; description "XID Next Hop"; } } // container next-hop leaf topology-id { type uint32; description "Next-hop TOPOLOGY ID"; } leaf flags { type uint16; description "Next-hop flags"; } } // list next-hop-array } // container path-list leaf sequence-number { type uint32; description "MAC route sequence number"; } leaf forward-state { type boolean; description "Forwarding State. True means forward, False means drop."; } } // container evpn-esi container bmac { when "../type = 'l2rib-mac-route-type-bmac'" { description "../Type = 'L2RIB_MAC_ROUTE_TYPE_BMAC'"; } description "BMAC route"; container path-list { description "Path list information"; container path-list-info { description "Type-specific Path List info"; container path-list-esi { when "../type = 'l2rib-mac-route-type-evpn-esi'" { description "../Type = 'L2RIB_MAC_ROUTE_TYPE_EVPN_ESI'"; } description "ESI Path List"; container ethernet-segment-id { description "Ethernet Segment Identifier"; leaf system-priority { type uint16; description "LACP System Priority"; } leaf system-id { type yang:mac-address; description "LACP System Id"; } leaf port-key { type uint16; description "LACP Port Key"; } } // container ethernet-segment-id leaf resolved { type boolean; description "Path list Resolved"; } list mac-update-next-hop-array { description "Array of Next Hops from MAC Update"; container next-hop { description "Next hop"; container labeled { when "../type = 'l2rib-next-hop-label-ed'" { description "../Type = 'L2RIB_NEXT_HOP_LABELED'"; } description "Labeled Next Hop"; leaf address-family { type L2rib-afi; description "L2RIB Address Family"; } leaf ip-address { type string; description "IP Address"; } leaf label { type uint32; description "Label"; } leaf internal { type boolean; description "Internal Label"; } } // container labeled leaf type { type L2rib-next-hop; description "Type"; } leaf ipv4 { when "../type = 'l2rib-next-hop-ipv4'" { description "../Type = 'L2RIB_NEXT_HOP_IPV4'"; } type inet:ipv4-address; description "IPV4 address Next Hop"; } leaf ipv6 { when "../type = 'l2rib-next-hop-ipv6'" { description "../Type = 'L2RIB_NEXT_HOP_IPV6'"; } type L2rib-ipv6-addr; description "IPV6 address Next Hop"; } leaf mac { when "../type = 'l2rib-next-hop-mac'" { description "../Type = 'L2RIB_NEXT_HOP_MAC'"; } type L2rib-mac-addr; description "MAC address Next Hop"; } leaf interface-handle { when "../type = 'l2rib-next-hop-interface-index'" { description "../Type = 'L2RIB_NEXT_HOP_INTERFACE_INDEX'"; } type xr:Interface-name; description "Intefrace Handle Next Hop"; } leaf xid { when "../type = 'l2rib-next-hop-xid'" { description "../Type = 'L2RIB_NEXT_HOP_XID'"; } type uint32; description "XID Next Hop"; } } // container next-hop leaf topology-id { type uint32; description "Next-hop TOPOLOGY ID"; } leaf flags { type uint16; description "Next-hop flags"; } } // list mac-update-next-hop-array } // container path-list-esi container path-list-mac { when "../type = 'l2rib-mac-route-type-bmac'" { description "../Type = 'L2RIB_MAC_ROUTE_TYPE_BMAC'"; } description "MAC Path List"; leaf mac-address { type yang:mac-address; description "MAC Address"; } } // container path-list-mac leaf type { type L2rib-mac-route; description "Type"; } } // container path-list-info leaf producer-id { type uint8; description "ID of EAD route producer"; } leaf mac-count { type uint32; description "Number of MAC routes bound to this Path list"; } leaf local-label { type uint32; description "Path list local Label"; } list next-hop-array { description "Array of Next Hops for MAC Path List"; container next-hop { description "Next hop"; container labeled { when "../type = 'l2rib-next-hop-label-ed'" { description "../Type = 'L2RIB_NEXT_HOP_LABELED'"; } description "Labeled Next Hop"; leaf address-family { type L2rib-afi; description "L2RIB Address Family"; } leaf ip-address { type string; description "IP Address"; } leaf label { type uint32; description "Label"; } leaf internal { type boolean; description "Internal Label"; } } // container labeled leaf type { type L2rib-next-hop; description "Type"; } leaf ipv4 { when "../type = 'l2rib-next-hop-ipv4'" { description "../Type = 'L2RIB_NEXT_HOP_IPV4'"; } type inet:ipv4-address; description "IPV4 address Next Hop"; } leaf ipv6 { when "../type = 'l2rib-next-hop-ipv6'" { description "../Type = 'L2RIB_NEXT_HOP_IPV6'"; } type L2rib-ipv6-addr; description "IPV6 address Next Hop"; } leaf mac { when "../type = 'l2rib-next-hop-mac'" { description "../Type = 'L2RIB_NEXT_HOP_MAC'"; } type L2rib-mac-addr; description "MAC address Next Hop"; } leaf interface-handle { when "../type = 'l2rib-next-hop-interface-index'" { description "../Type = 'L2RIB_NEXT_HOP_INTERFACE_INDEX'"; } type xr:Interface-name; description "Intefrace Handle Next Hop"; } leaf xid { when "../type = 'l2rib-next-hop-xid'" { description "../Type = 'L2RIB_NEXT_HOP_XID'"; } type uint32; description "XID Next Hop"; } } // container next-hop leaf topology-id { type uint32; description "Next-hop TOPOLOGY ID"; } leaf flags { type uint16; description "Next-hop flags"; } } // list next-hop-array } // container path-list leaf bmac-address { type yang:mac-address; description "BMAC Address"; } leaf forward-state { type boolean; description "Forwarding State. True means forward, False means drop."; } } // container bmac leaf type { type L2rib-mac-route; description "Type"; } } // container route leaf mac-address { type yang:mac-address; description "MAC Address"; } leaf admin-distance { type uint8; description "Admin Distance"; } leaf producer-id { type uint8; description "Producer ID"; } leaf topology-id { type uint32; description "Topology ID"; } } // container mac-route container rt-tlv { description "Mac Route Opaque Data TLV"; leaf tlv-type { type uint16; description "TLV Type"; } leaf tlv-len { type uint16; description "TLV Length"; } list tlv-val { description "TLV Value"; leaf entry { type uint8; description "TLV Value"; } } // list tlv-val } // container rt-tlv leaf sequence-number { type uint32; description "MAC route sequence Number"; } leaf flags-xr { type xr:Hex-integer; description "MAC route flags"; } leaf baseflags { type xr:Hex-integer; description "BASE flags"; } leaf soo { type uint32; description "SOO"; } leaf slot-id { type uint32; description "Slot ID"; } leaf esi { type string; description "ESI"; } leaf last-update-timestamp { type uint64; description "Last Update Timestamp"; } } // list mac-detail } // container mac-details container imet-details { description "L2RIB EVPN EVI IMET Detail table"; list imet-detail { description "L2RIB EVPN IMET Detail table"; leaf evi { type uint32; description "EVPN ID"; } leaf tag-id { type uint32; description "Tag ID"; } leaf ip-addr { type inet:ip-address-no-zone; description "Originating Router IP Address"; } leaf prod-id { type uint32; description "Producer ID"; } container imet-route-base { description "Imet Route base information"; leaf vtepi-paddr { type string; description "Originating Router IP Address"; } leaf producer-id { type uint8; description "Producer of Imet route"; } leaf topo-id { type uint32; description "Topo ID"; } leaf ethernet-tag-id { type uint32; description "Ethernet Tag ID"; } } // container imet-route-base leaf tunnel-id { type string; description "Tunnel Id"; } leaf flags { type uint32; description "IMET route flags"; } leaf tunnel-type { type uint32; description "IMET route tunnel type"; } leaf l2r-label { type uint32; description "Label"; } leaf encap-type { type uint32; description "Encap Type"; } leaf last-update-timestamp { type uint64; description "Last Update Timestamp"; } } // list imet-detail } // container imet-details } // container evi-child-tables container evis { description "L2RIB EVPN EVI Table"; list evi { key "evi"; description "L2RIB EVPN EVI Entry"; leaf evi { type uint32; description "EVI ID"; } leaf topology-id { type uint32; description "Topology ID"; } leaf topology-name { type string; description "Topology Name"; } leaf topology-type { type uint32; description "Topology Type"; } } // list evi } // container evis } // container l2rib } // module Cisco-IOS-XR-l2rib-oper
© 2023 YumaWorks, Inc. All rights reserved.