Cisco-IOS-XR-l2rib-oper

This module contains a collection of YANG definitions for Cisco IOS-XR l2rib package operational data. This module contains def...

  • Version: 2019-11-22

    Cisco-IOS-XR-l2rib-oper@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.