Cisco-IOS-XR-mpls-lsd-oper-sub1

This submodule contains a collection of YANG definitions for Cisco IOS-XR mpls-lsd package operational data. Copyright (c) 2013...

  • Version: 2020-11-26

    Cisco-IOS-XR-mpls-lsd-oper-sub1@2020-11-26


    
      submodule Cisco-IOS-XR-mpls-lsd-oper-sub1 {
    
        yang-version 1;
    
        belongs-to Cisco-IOS-XR-mpls-lsd-oper {
            prefix Cisco-IOS-XR-mpls-lsd-oper;
        }
    
        import ietf-inet-types {
          prefix inet;
        }
        import ietf-yang-types {
          prefix yang;
        }
        import Cisco-IOS-XR-types {
          prefix xr;
        }
        import cisco-semver {
          prefix semver;
        }
    
        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 submodule contains a collection of YANG definitions
         for Cisco IOS-XR mpls-lsd package operational data.
         
         Copyright (c) 2013-2020 by Cisco Systems, Inc.
         All rights reserved.";
    
        revision "2020-11-26" {
          description
            "Extend MPLS_LSDLabelContextType to include PFP block type
           2020-11-22
             New Label Context type defined, SR_Pfx_node
           2020-10-29
             Deprecated bag mpls_lsd_first_srgb_allocated_block_size Added bag mpls_lsd_active_block_range
           2020-08-21
             Modify mpls_lsd to include label flags in mpls_lsd_fpi_lbl bag
           2020-06-13
             Modify mpls_lsd to include BIER app type and label context type
           2020-06-02
             Modify mpls_lsd_moi_pw to include platform data";
        }
    
        revision "2020-05-29" {
          description
            "Extended Application information to include resource complete timestamp";
        }
    
        revision "2019-10-22" {
          description
            "Modify mpls_lsd_lbl_ctx_recycle_lbl to take 64 bit field instead of 32 Extend mpls_lsd_moi_pop_and_lkup to include QoS fields Extend mpls_lsd_moi_ipv6 to include load metric field Extend mpls_lsd_moi_ipv4 to include recursion length fields Extend mpls_lsd_moi_ipv4 to include QoS fields Extend MPLS_LSDLabelContextType to include CBF block type Extend mpls_lsd_lbl_ctx_l3vpn_nh_set to include type field";
        }
    
        revision "2019-05-22" {
          description
            "Extended schema for FRRDatabase, Rewrite, LabelHistoryTable";
        }
    
        revision "2019-04-05" {
          description
            "Establish semantic version baseline.";
        }
    
        revision "2019-01-03" {
          description
            "Yang evaluator: updates to schema descriptions and ranges";
        }
    
        revision "2017-09-07" {
          description
            "Fixed type translation error.";
        }
    
        revision "2017-05-01" {
          description
            "Fixing backward compatibility error in module.";
        }
    
        revision "2015-11-09" {
          description "IOS XR 6.0 revision.";
        }
    
        semver:module-version "1.3.0";
        semver:module-version "1.2.0";
        semver:module-version "1.1.0";
        semver:module-version "1.0.0";
    
        typedef Mgmt-lsd-intf-state {
          type enumeration {
            enum "mgmt-lsd-intf-state-unknown" {
              value 0;
              description "unknown";
            }
            enum "mgmt-lsd-intf-state-up" {
              value 1;
              description "up";
            }
            enum "mgmt-lsd-intf-state-down" {
              value 2;
              description "down";
            }
          }
          description "Mgmt lsd intf state";
        }
    
        typedef Mgmt-lsd-app-state {
          type enumeration {
            enum "mgmt-lsd-app-state-active" {
              value 0;
              description "Active";
            }
            enum "mgmt-lsd-app-state-zombie" {
              value 1;
              description "Zombie";
            }
            enum "mgmt-lsd-app-state-recover" {
              value 2;
              description "Recover";
            }
          }
          description "Mgmt lsd app state";
        }
    
        typedef Mgmt-lsd-rw-id {
          type enumeration {
            enum "mgmt-lsd-rw-id-type-none" {
              value 0;
              description "None";
            }
            enum "mgmt-lsd-rw-id-type-lbl-ctx" {
              value 1;
              description "Label Context";
            }
            enum "mgmt-lsd-rw-id-type-loc-lbl" {
              value 2;
              description "Local Label";
            }
          }
          description "Mgmt lsd rw id";
        }
    
        typedef Mpls-lsd-nnh {
          type enumeration {
            enum "none" {
              value 0;
              description "None - Invalid";
            }
            enum "ipv4-address" {
              value 1;
              description "IPv4 Address";
            }
            enum "interface-name" {
              value 2;
              description "Interface";
            }
          }
          description "Mpls lsd nnh";
        }
    
        typedef Mgmt-lsd-moi {
          type enumeration {
            enum
              "mgmt-lsd-moi-type-pop-and-lkup-ipv4" {
              value 0;
              description "Pop-and-lookup IPv4";
            }
            enum "mgmt-lsd-moi-type-ipv4" {
              value 1;
              description "IPv4";
            }
            enum "mgmt-lsd-moi-type-ipv6" {
              value 2;
              description "IPv6";
            }
            enum "mgmt-lsd-moi-type-tev4" {
              value 3;
              description "TE IPv4";
            }
            enum "mgmt-lsd-moi-type-pw" {
              value 4;
              description "PW";
            }
            enum
              "mgmt-lsd-moi-type-pop-and-lkup-ipv6" {
              value 5;
              description "Pop-and-lookup IPv6";
            }
            enum "mgmt-lsd-moi-type-ip-sub" {
              value 6;
              description "IP Subscriber";
            }
            enum "mgmt-lsd-moi-type-pwhe" {
              value 7;
              description "PW HE";
            }
            enum "mgmt-lsd-moi-type-pw-list" {
              value 8;
              description "PW List";
            }
            enum "mgmt-lsd-moi-type-ipv4-stack" {
              value 9;
              description "IPv4 Multi-Label";
            }
            enum
              "mgmt-lsd-moi-type-pop-and-lkup-tp" {
              value 10;
              description "Pop-and-lookup TP";
            }
            enum "mgmt-lsd-moi-type-ipv6-stack" {
              value 11;
              description "IPv6 Multi-Label";
            }
            enum "mgmt-lsd-moi-type-te-head" {
              value 12;
              description "TE Head";
            }
            enum
              "mgmt-lsd-moi-type-dmtc-ext-intf" {
              value 13;
              description
                "Demand Matrix Traffic-Collector";
            }
            enum
              "mgmt-lsd-moi-type-ipv4-nnh-stack" {
              value 14;
              description
                "IPv4 Neighbor-Next-Hop";
            }
            enum
              "mgmt-lsd-moi-type-ipv6-nnh-stack" {
              value 15;
              description
                "IPv6 Neighbor-Next-Hop";
            }
            enum "mgmt-lsd-moi-type-label-range" {
              value 16;
              description
                "Label Range Opaque Message Data";
            }
          }
          description "Mgmt lsd moi";
        }
    
        typedef Mgmt-lsd-fpi {
          type enumeration {
            enum "mgmt-lsd-fpi-type-label" {
              value 0;
              description "Label";
            }
            enum "mgmt-lsd-fpi-type-te" {
              value 1;
              description "TE";
            }
            enum "mgmt-lsd-fpi-type-ipv4" {
              value 2;
              description "IPv4";
            }
            enum "mgmt-lsd-fpi-type-ipv6" {
              value 3;
              description "IPv6";
            }
            enum "mgmt-lsd-fpi-type-pw-list" {
              value 4;
              description "PW List";
            }
            enum "mgmt-lsd-fpi-type-te-v2" {
              value 5;
              description "TE v2";
            }
            enum
              "mgmt-lsd-fpi-type-dmtc-ext-intf" {
              value 6;
              description
                "DMTC External Interface";
            }
            enum "mgmt-lsd-fpi-type-label-range" {
              value 7;
              description
                "Label Range Opaque Message Key";
            }
          }
          description "Mgmt lsd fpi";
        }
    
        typedef Mgmt-lsd-frr-state {
          type enumeration {
            enum "mgmt-lsd-frr-state-partial" {
              value 0;
              description "Partial";
            }
            enum "mgmt-lsd-frr-state-active" {
              value 1;
              description "Active";
            }
            enum "mgmt-lsd-frr-state-ready" {
              value 2;
              description "Ready";
            }
            enum "mgmt-lsd-frr-state-complete" {
              value 3;
              description "Complete";
            }
            enum "mgmt-lsd-frr-state-any" {
              value 4;
              description "Any";
            }
            enum "mgmt-lsd-frr-state-igp" {
              value 5;
              description "IGP";
            }
          }
          description "Mgmt lsd frr state";
        }
    
        typedef Mgmt-lsd-lsp-role {
          type enumeration {
            enum "mgmt-lsd-lsp-role-head" {
              value 0;
              description "Head";
            }
            enum "mgmt-lsd-lsp-role-mid" {
              value 1;
              description "Midpoint";
            }
          }
          description "Mgmt lsd lsp role";
        }
    
        typedef Mgmt-lsd-te-binding {
          type enumeration {
            enum "mgmt-lsd-ident-p2p-tun-id" {
              value 0;
              description
                "mgmt lsd ident p2p tun id";
            }
            enum "mgmt-lsd-ident-p2p-grp-id" {
              value 1;
              description
                "mgmt lsd ident p2p grp id";
            }
            enum "mgmt-lsd-ident-p2mp-tun-id" {
              value 2;
              description
                "mgmt lsd ident p2mp tun id";
            }
            enum "mgmt-lsd-ident-p2mp-grp-id" {
              value 3;
              description
                "mgmt lsd ident p2mp grp id";
            }
          }
          description "Mgmt lsd te binding";
        }
    
        typedef Mgmt-lsd-lbl-alloc-table {
          type enumeration {
            enum
              "mgmt-lsd-label-alloc-table-type-none" {
              value 0;
              description
                "Label Allocation type None";
            }
            enum
              "mgmt-lsd-label-alloc-table-type-gbl-ipv4" {
              value 1;
              description
                "IPv4 Label Allocation";
            }
            enum
              "mgmt-lsd-label-alloc-table-type-gbl-ipv6" {
              value 2;
              description
                "IPv6 Label Allocation";
            }
            enum
              "mgmt-lsd-label-alloc-table-type-gbl-vpnv4" {
              value 3;
              description
                "VPNv4 Label Allocation";
            }
            enum
              "mgmt-lsd-label-alloc-table-type-gbl-vpnv6" {
              value 4;
              description
                "VPNv6 Label Allocation";
            }
            enum
              "mgmt-lsd-label-alloc-table-type-srte" {
              value 5;
              description
                "SRTE Next-hop Label allocation";
            }
          }
          description "Mgmt lsd lbl alloc table";
        }
    
        typedef Lsd-ipv6-address {
          type inet:ipv6-address;
          description "Lsd ipv6 address";
        }
    
        typedef Mgmt-lsd-lbl-ctx {
          type enumeration {
            enum "mgmt-lsd-lbl-ctx-type-none" {
              value 0;
              description "None";
            }
            enum "mgmt-lsd-lbl-ctx-type-ipv4" {
              value 1;
              description "IPv4";
            }
            enum "mgmt-lsd-lbl-ctx-type-ipv6" {
              value 2;
              description "IPv6";
            }
            enum "mgmt-lsd-lbl-ctx-type-tev4" {
              value 3;
              description "TE IPv4";
            }
            enum
              "mgmt-lsd-lbl-ctx-type-l3vpn-ipv4" {
              value 4;
              description "L3VPN IPv4";
            }
            enum
              "mgmt-lsd-lbl-ctx-type-l3vpn-ipv6" {
              value 5;
              description "L3VPN IPv6";
            }
            enum
              "mgmt-lsd-lbl-ctx-type-l3vpn-vrf" {
              value 6;
              description "L3VPN Per-VRF";
            }
            enum
              "mgmt-lsd-lbl-ctx-type-l3vpn-cev4" {
              value 7;
              description "L3VPN IPv4 Per-CE";
            }
            enum
              "mgmt-lsd-lbl-ctx-type-l3vpn-cev6" {
              value 8;
              description "L3VPN IPv6 Per-CE";
            }
            enum "mgmt-lsd-lbl-ctx-type-pw" {
              value 9;
              description "PW";
            }
            enum "mgmt-lsd-lbl-ctx-type-lbl-blk" {
              value 10;
              description "LBL BLK";
            }
            enum "mgmt-lsd-lbl-ctx-type-ip-sub" {
              value 11;
              description "IP SUB";
            }
            enum
              "mgmt-lsd-lbl-ctx-type-tev4-p2mp" {
              value 12;
              description "TE IPv4 P2MP";
            }
            enum "mgmt-lsd-lbl-ctx-type-mldpv4" {
              value 13;
              description "MLDP IPv4";
            }
            enum "mgmt-lsd-lbl-ctx-type-pwhe" {
              value 14;
              description "PW HE";
            }
            enum "mgmt-lsd-lbl-ctx-type-tp" {
              value 15;
              description "MPLS TP";
            }
            enum "mgmt-lsd-lbl-ctx-type-gre" {
              value 16;
              description "GRE";
            }
            enum "mgmt-lsd-lbl-ctx-type-evpn" {
              value 17;
              description "EVPN";
            }
            enum
              "mgmt-lsd-lbl-ctx-type-blb-ipv4" {
              value 18;
              description "BLB IPv4";
            }
            enum
              "mgmt-lsd-lbl-ctx-type-blb-ipv6" {
              value 19;
              description "BLB IPv6";
            }
            enum
              "mgmt-lsd-lbl-ctx-type-pim-i-pmsi" {
              value 20;
              description "PIM I-PMSI";
            }
            enum
              "mgmt-lsd-lbl-ctx-type-pim-s-pmsi" {
              value 21;
              description "PIM S-PMSI";
            }
            enum
              "mgmt-lsd-lbl-ctx-type-l3vpn-nh-set" {
              value 22;
              description "L3VPN NH SET";
            }
            enum
              "mgmt-lsd-lbl-ctx-type-sr-pfx-seg" {
              value 23;
              description "SR Prefix Segment";
            }
            enum
              "mgmt-lsd-lbl-ctx-type-sr-adj-seg-ipv4" {
              value 24;
              description "SR Adj Segment IPv4";
            }
            enum
              "mgmt-lsd-lbl-ctx-type-sr-adj-seg-ipv6" {
              value 25;
              description "SR Adj Segment IPv6";
            }
            enum
              "mgmt-lsd-lbl-ctx-type-lbl-blk-srgb" {
              value 26;
              description "LBL BLK SRGB";
            }
            enum
              "mgmt-lsd-lbl-ctx-type-te-binding" {
              value 27;
              description "TE Binding";
            }
            enum
              "mgmt-lsd-lbl-ctx-type-gre-ipv6" {
              value 28;
              description "GRE IPV6";
            }
            enum "mgmt-lsd-lbl-ctx-type-any" {
              value 29;
              description "Any";
            }
            enum
              "mgmt-lsd-lbl-ctx-type-lbl-blk-srlb" {
              value 30;
              description "LBL BLK SRLB";
            }
            enum
              "mgmt-lsd-lbl-ctx-type-recycle-lbl" {
              value 31;
              description "Recycle Label";
            }
            enum
              "mgmt-lsd-lbl-ctx-type-lbl-blk-cbf" {
              value 32;
              description
                "Class Based Forwarding Label Block";
            }
            enum
              "mgmt-lsd-lbl-ctx-type-srte-nh-label-set" {
              value 33;
              description "SRTE NH Label Set";
            }
            enum
              "mgmt-lsd-lbl-ctx-type-lbl-blk-bier" {
              value 34;
              description "BIER Label Block";
            }
            enum
              "mgmt-lsd-lbl-ctx-type-sr-pfx-node" {
              value 35;
              description "SR Prefix Node";
            }
            enum
              "mgmt-lsd-lbl-ctx-type-lbl-blk-pfp" {
              value 36;
              description
                "Per Flow Policy Label Block";
            }
          }
          description "Mgmt lsd lbl ctx";
        }
    
        typedef Mgmt-lsd-app-rsrc-state {
          type enumeration {
            enum
              "mgmt-lsd-app-rsrc-state-active" {
              value 0;
              description "Active";
            }
            enum "mgmt-lsd-app-rsrc-state-pnd" {
              value 1;
              description "Pending";
            }
            enum
              "mgmt-lsd-app-rsrc-state-pnd-svr" {
              value 2;
              description "Pending Server";
            }
          }
          description "Mgmt lsd app rsrc state";
        }
    
        typedef Mgmt-lsd-app {
          type enumeration {
            enum "mgmt-lsd-app-type-none" {
              value 0;
              description "None";
            }
            enum "mgmt-lsd-app-type-int" {
              value 1;
              description "LSD";
            }
            enum "mgmt-lsd-app-type-test" {
              value 2;
              description "Test";
            }
            enum "mgmt-lsd-app-type-static" {
              value 3;
              description "Static";
            }
            enum "mgmt-lsd-app-type-ldp" {
              value 4;
              description "LDP";
            }
            enum "mgmt-lsd-app-type-te" {
              value 5;
              description "TE Control";
            }
            enum
              "mgmt-lsd-app-type-app-controller" {
              value 6;
              description "App Controller";
            }
            enum "mgmt-lsd-app-type-bgp-ipv4" {
              value 7;
              description "BGP v4";
            }
            enum
              "mgmt-lsd-app-type-bgp-vpn-ipv4" {
              value 8;
              description "BGP VPNv4";
            }
            enum "mgmt-lsd-app-type-l2vpn" {
              value 9;
              description "L2VPN";
            }
            enum "mgmt-lsd-app-type-bgp-spkr" {
              value 10;
              description "BGP Spkr";
            }
            enum "mgmt-lsd-app-type-bfd" {
              value 11;
              description "BFD";
            }
            enum "mgmt-lsd-app-type-pim" {
              value 12;
              description "PIM";
            }
            enum "mgmt-lsd-app-type-v2-lsd" {
              value 13;
              description "V2 LSD";
            }
            enum "mgmt-lsd-app-type-pim6" {
              value 14;
              description "PIM6";
            }
            enum "mgmt-lsd-app-type-isis" {
              value 15;
              description "ISIS";
            }
            enum "mgmt-lsd-app-type-ospf" {
              value 16;
              description "OSPF";
            }
            enum "mgmt-lsd-app-type-cgn" {
              value 17;
              description "CGN";
            }
            enum "mgmt-lsd-app-type-dmtc" {
              value 18;
              description "Traffic Collector";
            }
            enum
              "mgmt-lsd-app-type-cofo-sync-lib" {
              value 19;
              description "COFO Sync Lib";
            }
            enum "mgmt-lsd-app-type-bier" {
              value 20;
              description "BIER";
            }
            enum "mgmt-lsd-app-type-any" {
              value 21;
              description "Any";
            }
          }
          description "Mgmt lsd app";
        }
    
        typedef Mgmt-lsd-client {
          type enumeration {
            enum "mgmt-lsd-client-type-app" {
              value 0;
              description "Application";
            }
            enum "mgmt-lsd-client-type-ba" {
              value 1;
              description "BCDL Agent";
            }
          }
          description "Mgmt lsd client";
        }
    
        grouping MPLS-LSD-LBL-HIST {
          description
            "LSD label history  information";
          leaf label {
            type uint32;
            description "Label";
          }
    
          leaf application-type {
            type Mgmt-lsd-app;
            description "Application type";
          }
    
          leaf application-role-primary {
            type int32;
            description "Primary/Backup role";
          }
    
          leaf hist-code {
            type uint32;
            description
              "Code for event that happened to label";
          }
    
          leaf label-code {
            type uint32;
            description
              "Code for ctx type or error code";
          }
    
          leaf time-stamp {
            type uint64;
            description "Timestamp";
          }
        }  // grouping MPLS-LSD-LBL-HIST
    
        grouping MPLS-LSD-INTF {
          description
            "LSD interface information";
          leaf interface {
            type xr:Interface-name;
            description "LSD Interface name";
          }
    
          leaf interface-state {
            type Mgmt-lsd-intf-state;
            description "Interface state";
          }
    
          list application-owner {
            description
              "The applications that own the interface";
            uses MPLS-LSD-APP-RSRC-STATE;
          }  // list application-owner
        }  // grouping MPLS-LSD-INTF
    
        grouping MPLS-LSD-LBL-RANGE {
          description "Label range";
          leaf min-dynamic-label-value {
            type uint32;
            description
              "Minimum dynamic label value";
          }
    
          leaf max-dynamic-label-value {
            type uint32;
            description
              "Maximum dynamic label value";
          }
    
          leaf min-static-label-value {
            type uint32;
            description
              "Minimum static label value";
          }
    
          leaf max-static-label-value {
            type uint32;
            description
              "Maximum static label value";
          }
        }  // grouping MPLS-LSD-LBL-RANGE
    
        grouping MPLS-LSD-APP-CONNECTED-STATS {
          description
            "LSD application connection statistics";
          leaf rt-set-msg-count {
            type uint32;
            description "RT set count";
          }
    
          leaf operation-msg-count {
            type uint32;
            description "Operation count";
          }
    
          leaf oor-label-count {
            type uint32;
            description "Label OOR count";
          }
    
          leaf error-msg-count {
            type uint32;
            description "Error count";
          }
        }  // grouping MPLS-LSD-APP-CONNECTED-STATS
    
        grouping MPLS-LSD-APP-STATS {
          description
            "LSD application statistics";
          container connected {
            description "Connected statistics";
            uses MPLS-LSD-APP-CONNECTED-STATS;
          }  // container connected
    
          leaf interface-enable {
            type uint32;
            description
              "Number of interfaces enabled";
          }
    
          leaf interface-enable-pending {
            type uint32;
            description
              "Number of interfaces with enable pending";
          }
    
          leaf connect-count {
            type uint32;
            description
              "Number of connections made";
          }
    
          list label-context-count {
            max-elements 36;
            description
              "Active labels contexts count";
            leaf entry {
              type uint32;
              description
                "Active labels contexts count";
            }
          }  // list label-context-count
    
          list label-context-pending-count {
            max-elements 36;
            description
              "Unclaimed (pending) labels contexts count";
            leaf entry {
              type uint32;
              description
                "Unclaimed (pending) labels contexts count";
            }
          }  // list label-context-pending-count
    
          list label-context-notification-count {
            max-elements 36;
            description
              "Number of notifications sent to application, per
             
             ctx type";
            leaf entry {
              type uint32;
              description
                "Number of notifications sent to application, per
               
               ctx type";
            }
          }  // list label-context-notification-count
        }  // grouping MPLS-LSD-APP-STATS
    
        grouping MPLS-LSD-APP {
          description
            "LSD application information";
          container application-statistics {
            description "Application Statistics";
            uses MPLS-LSD-APP-STATS;
          }  // container application-statistics
    
          leaf application-name-xr {
            type string;
            description "Application name";
          }
    
          leaf application-type {
            type Mgmt-lsd-app;
            description "Application type";
          }
    
          leaf application-role-primary {
            type int32;
            description "Primary/Backup role";
          }
    
          leaf application-instance {
            type string;
            description
              "Application instance name";
          }
    
          leaf app-reg-time {
            type uint64;
            description
              "Application registration timestamp";
          }
    
          leaf app-disconnect-time {
            type uint64;
            description
              "Application disconnect timestamp";
          }
    
          leaf app-flow-controlled {
            type int32;
            description
              "Application flow control status";
          }
    
          leaf flow-ctrl-time {
            type uint64;
            description "Flow Ctrl timestamp";
          }
    
          leaf flow-ctrl-clr-time {
            type uint64;
            description
              "Flow Ctrl Clr timestamp";
          }
    
          leaf go-act-ts {
            type uint64;
            description
              "Application go active timestamp";
          }
    
          leaf eod-received-ts {
            type uint64;
            description
              "Application resource complete timestamp";
          }
    
          leaf application-state {
            type Mgmt-lsd-app-state;
            description "Application state";
          }
    
          leaf recovery-time-remaining-seconds {
            type uint32;
            units "second";
            description
              "Recovery time [secs] remaining if client is
             timing out";
          }
    
          leaf recovery-time-elapsed-seconds {
            type uint32;
            units "second";
            description
              "Recovery time [secs] elapsed if client is timing
             out";
          }
    
          leaf recovery-time-register-seconds {
            type uint32;
            units "second";
            description
              "Recovery time [secs] specified at registration
             or set explicitly";
          }
    
          leaf node-id {
            type xr:Node-id;
            description
              "Node ID where application is/was running";
          }
        }  // grouping MPLS-LSD-APP
    
        grouping MPLS-LSD-RW-IP-PATH-SUM {
          description
            "Rewrite's IP paths summary counts";
          leaf total-paths {
            type uint32;
            description
              "Total number of IP paths";
          }
    
          leaf total-backup-paths {
            type uint32;
            description
              "Total number of non-primary backup paths";
          }
    
          leaf total-remote-backup-paths {
            type uint32;
            description
              "Total number of remote backup paths";
          }
    
          leaf total-protected-paths {
            type uint32;
            description
              "Total number of protected paths";
          }
    
          leaf total-pop-lkup-paths {
            type uint32;
            description
              "Total number of Pop-and-Lookup paths";
          }
        }  // grouping MPLS-LSD-RW-IP-PATH-SUM
    
        grouping MPLS-LSD-RW-SUM {
          description "Rewrite summary";
          container ipv4-paths {
            description "Count for IPv4 paths";
            uses MPLS-LSD-RW-IP-PATH-SUM;
          }  // container ipv4-paths
    
          container ipv6-paths {
            description "Count for IPv6 paths";
            uses MPLS-LSD-RW-IP-PATH-SUM;
          }  // container ipv6-paths
    
          leaf num-label-fpi {
            type uint32;
            description "Number of label FPI";
          }
    
          leaf num-tefpi {
            type uint32;
            description "Number of TE FPI";
          }
    
          leaf num-ipv4fpi {
            type uint32;
            description "Number of IPv4 FPI";
          }
    
          leaf num-ipv6fpi {
            type uint32;
            description "Number of IPv6 FPI";
          }
    
          leaf num-pw-list-tefpi {
            type uint32;
            description "Number of PW List FPI";
          }
    
          leaf num-dmtctefpi {
            type uint32;
            description "Number of DMTC FPI";
          }
    
          leaf num-label-range {
            type uint32;
            description
              "Number of Label Range FPI";
          }
    
          leaf num-rewrite {
            type uint32;
            description "Number of rewrites";
          }
    
          leaf total-forward-update {
            type uint32;
            description
              "Total number of forward updates";
          }
    
          leaf total-forwad-update-message {
            type uint32;
            description
              "Total number of forward update messages";
          }
    
          leaf total-paths {
            type uint32;
            description "Total number of paths";
          }
    
          leaf total-t-ev4-paths {
            type uint32;
            description
              "Total number of Traffic Eng IPv4 paths";
          }
    
          leaf total-te-head-paths {
            type uint32;
            description
              "Total number of Traffic Eng Head paths";
          }
    
          leaf total-pw-paths {
            type uint32;
            description
              "Total number of Pseudo-wire paths";
          }
    
          leaf total-ip-sub-paths {
            type uint32;
            description
              "Total number of IP Subscriber paths";
          }
    
          leaf total-ipv4rpf-neighbors {
            type uint32;
            description
              "Total number of IPv4 RPF Neighbors";
          }
    
          leaf total-ipv6rpf-neighbors {
            type uint32;
            description
              "Total number of IPv6 RPF Neighbors";
          }
    
          leaf num-rewrite-rpf-neighbors {
            type uint32;
            description
              "Number of rewrites with RPF Neighbors";
          }
    
          leaf total-dmtc-intf {
            type uint32;
            description
              "Total number of DMTC External Interfaces";
          }
    
          leaf total-label-range {
            type uint32;
            description
              "Total number of Label Ranges";
          }
    
          leaf vrf-name-xr {
            type string;
            description "VRF Name";
          }
        }  // grouping MPLS-LSD-RW-SUM
    
        grouping MPLS-LSD-RW-ID-LOC-LBL {
          description "Rewrite ID local label";
          list label-data {
            description "label data";
            leaf entry {
              type uint32;
              description "label data";
            }
          }  // list label-data
        }  // grouping MPLS-LSD-RW-ID-LOC-LBL
    
        grouping MPLS-LSD-RW-ID-GEN {
          description "MPLS LSD RW ID GEN";
          container label-context {
            when
              "../rewrite-id-type = 'mgmt-lsd-rw-id-type-lbl-ctx'" {
              description
                "../RewriteIDType =
               'MGMT_LSD_RW_ID_TYPE_LBL_CTX'";
            }
            description "Label context";
            uses MPLS-LSD-LBL-CTX-KEY;
          }  // container label-context
    
          container local-label-rewrite {
            when
              "../rewrite-id-type = 'mgmt-lsd-rw-id-type-loc-lbl'" {
              description
                "../RewriteIDType =
               'MGMT_LSD_RW_ID_TYPE_LOC_LBL'";
            }
            description
              "Local label rewrite information";
            uses MPLS-LSD-RW-ID-LOC-LBL;
          }  // container local-label-rewrite
    
          leaf rewrite-id-type {
            type Mgmt-lsd-rw-id;
            description "RewriteIDType";
          }
        }  // grouping MPLS-LSD-RW-ID-GEN
    
        grouping MPLS-LSD-RW-ID {
          description "Rewrite ID";
          container rewrite-id {
            description "Rewrite ID";
            uses MPLS-LSD-RW-ID-GEN;
          }  // container rewrite-id
        }  // grouping MPLS-LSD-RW-ID
    
        grouping MPLS-LSD-MOI-LABEL-RANGE {
          description
            "Label Range MOI information";
          leaf start-label-active {
            type uint32;
            description
              "Active Label Range Start";
          }
    
          leaf end-label-active {
            type uint32;
            description "Active Label Range End";
          }
        }  // grouping MPLS-LSD-MOI-LABEL-RANGE
    
        grouping MPLS-LSD-MOI-IPV6-NNH-STACK {
          description
            "IPv6 NNH STACK MOI information";
          container ipv6-stack {
            description "IPv6 stack";
            uses MPLS-LSD-MOI-IPV6-STACK;
          }  // container ipv6-stack
    
          list neighbor-next-hop {
            description
              "List of Neighbor Next Hops";
            uses MPLS-LSD-MOI-NNH;
          }  // list neighbor-next-hop
        }  // grouping MPLS-LSD-MOI-IPV6-NNH-STACK
    
        grouping MPLS-LSD-MOI-NNH {
          description
            "IPV4/IPV6 NNH installed in LSD";
          leaf nnh-type {
            type Mpls-lsd-nnh;
            description "nnh type";
          }
    
          leaf address {
            when "../nnh-type = 'ipv4-address'" {
              description
                "../nnh_type = 'IPv4Address'";
            }
            type inet:ipv4-address;
            description "IPv4 Address";
          }
    
          leaf interface-name {
            when
              "../nnh-type = 'interface-name'" {
              description
                "../nnh_type = 'InterfaceName'";
            }
            type xr:Interface-name;
            description "Interface name";
          }
        }  // grouping MPLS-LSD-MOI-NNH
    
        grouping MPLS-LSD-MOI-IPV4-NNH-STACK {
          description
            "IPv4 NNH STACK MOI information";
          container ipv4-stack {
            description "IPv4 stack";
            uses MPLS-LSD-MOI-IPV4-STACK;
          }  // container ipv4-stack
    
          list neighbor-next-hop {
            description
              "List of Neighbor Next Hops";
            uses MPLS-LSD-MOI-NNH;
          }  // list neighbor-next-hop
        }  // grouping MPLS-LSD-MOI-IPV4-NNH-STACK
    
        grouping MPLS-LSD-MOI-DMTC-EXT-INTF {
          description
            "Demand Matrix Traffic-Collector MOI information";
          leaf dmtc-ext-ifh {
            type xr:Interface-name;
            description
              "DMTC External Interface";
          }
        }  // grouping MPLS-LSD-MOI-DMTC-EXT-INTF
    
        grouping MPLS-LSD-MOI-TE-HEAD {
          description "TE Head MOI";
          leaf table-id {
            type uint32;
            description "Table ID";
          }
    
          leaf table-name {
            type string;
            description "VRF table name";
          }
    
          leaf tunnel-local-label {
            type uint32;
            description "Tunnel local label";
          }
    
          leaf tunnel-local-label-str {
            type string;
            description
              "Tunnel local label stringified";
          }
    
          leaf tunnel-fwd-class {
            type uint8;
            description
              "Tunnel forwarding class";
          }
    
          leaf tunnel-load-metric {
            type uint32;
            description "Tunnel Load metric";
          }
    
          leaf flags-decode {
            type string;
            description "Flags decoded string";
          }
        }  // grouping MPLS-LSD-MOI-TE-HEAD
    
        grouping MPLS-LSD-IPV6-LARGE-LABEL-STACK {
          description "IPv6 Split stack";
          container recycle-nexthop {
            description "Recycle Nexthop";
            uses MPLS-LSD-MOI-IPV6;
          }  // container recycle-nexthop
    
          container recycle-inner-stack {
            description
              "Recycle inner stack (the portion of the stack
             moved into the recycle rewrite after split)";
            uses MPLS-LSD-MOI-IPV6-INNER-STACK;
          }  // container recycle-inner-stack
    
          container modified-inner-stack {
            description
              "Modified inner stack (the portion of the stack
             that remains after stack split)";
            uses MPLS-LSD-MOI-IPV6-INNER-STACK;
          }  // container modified-inner-stack
    
          leaf recycle-label {
            type uint32;
            description "Recycle Label";
          }
        }  // grouping MPLS-LSD-IPV6-LARGE-LABEL-STACK
    
        grouping MPLS-LSD-MOI-IPV6-INNER-STACK {
          description
            "IPv6 Inner stack for a Multi-Label MOI
           information";
          leaf num-nexthops {
            type uint8;
            description
              "Number of remote nexthop addresses";
          }
    
          leaf num-lbls {
            type uint8;
            description
              "Depth of inner label stack";
          }
    
          leaf flags {
            type uint16;
            description "Inner stack flags";
          }
    
          list nexthop {
            max-elements 2;
            description
              "Remote nexthop addresses";
            leaf entry {
              type Lsd-ipv6-address;
              description
                "Remote nexthop addresses";
            }
          }  // list nexthop
    
          list label {
            max-elements 12;
            description
              "Info related to outgoing labels";
            uses MPLS-LSD-MOI-OUT-LABEL-INFO;
          }  // list label
        }  // grouping MPLS-LSD-MOI-IPV6-INNER-STACK
    
        grouping MPLS-LSD-MOI-IPV6-STACK {
          description
            "IPv6 Multi-Label MOI information";
          container nexthop {
            description "Nexthop";
            uses MPLS-LSD-MOI-IPV6;
          }  // container nexthop
    
          container inner-stack {
            description "Inner stack";
            uses MPLS-LSD-MOI-IPV6-INNER-STACK;
          }  // container inner-stack
    
          container split-stack-info {
            description "Split Stack Info";
            uses MPLS-LSD-IPV6-LARGE-LABEL-STACK;
          }  // container split-stack-info
    
          leaf recycle-present {
            type int32;
            description
              "Flag to indicate if a recycle label is present";
          }
        }  // grouping MPLS-LSD-MOI-IPV6-STACK
    
        grouping MPLS-LSD-IPV4-LARGE-LABEL-STACK {
          description "IPv4 Split stack";
          container recycle-nexthop {
            description "Recycle Nexthop";
            uses MPLS-LSD-MOI-IPV4;
          }  // container recycle-nexthop
    
          container recycle-inner-stack {
            description
              "Recycle inner stack (the portion of the stack
             moved into the recycle rewrite after split)";
            uses MPLS-LSD-MOI-IPV4-INNER-STACK;
          }  // container recycle-inner-stack
    
          container modified-inner-stack {
            description
              "Modified inner stack (the portion of the stack
             that remains after stack split)";
            uses MPLS-LSD-MOI-IPV4-INNER-STACK;
          }  // container modified-inner-stack
    
          leaf recycle-label {
            type uint32;
            description "Recycle Label";
          }
        }  // grouping MPLS-LSD-IPV4-LARGE-LABEL-STACK
    
        grouping MPLS-LSD-MOI-OUT-LABEL-INFO {
          description
            "Generic info for an outgoing/remote label";
          leaf outgoing-label {
            type uint32;
            description "Remote Label";
          }
    
          leaf outgoing-label-str {
            type string;
            description "Remote Label string";
          }
        }  // grouping MPLS-LSD-MOI-OUT-LABEL-INFO
    
        grouping MPLS-LSD-MOI-IPV4-INNER-STACK {
          description
            "IPv4 Inner stack for a Multi-Label MOI
           information";
          leaf num-nexthops {
            type uint8;
            description
              "Number of remote nexthop addresses";
          }
    
          leaf num-lbls {
            type uint8;
            description
              "Depth of inner label stack";
          }
    
          leaf flags {
            type uint16;
            description "Inner stack flags";
          }
    
          list nexthop {
            max-elements 2;
            description
              "Remote nexthop addresses";
            leaf entry {
              type inet:ipv4-address;
              description
                "Remote nexthop addresses";
            }
          }  // list nexthop
    
          list label {
            max-elements 12;
            description
              "Info related to outgoing labels";
            uses MPLS-LSD-MOI-OUT-LABEL-INFO;
          }  // list label
        }  // grouping MPLS-LSD-MOI-IPV4-INNER-STACK
    
        grouping MPLS-LSD-MOI-IPV4-STACK {
          description
            "IPv4 Multi-Label MOI information";
          container nexthop {
            description "Nexthop";
            uses MPLS-LSD-MOI-IPV4;
          }  // container nexthop
    
          container inner-stack {
            description "Inner stack";
            uses MPLS-LSD-MOI-IPV4-INNER-STACK;
          }  // container inner-stack
    
          container split-stack-info {
            description "Split Stack Info";
            uses MPLS-LSD-IPV4-LARGE-LABEL-STACK;
          }  // container split-stack-info
    
          leaf owner-application-type {
            type Mgmt-lsd-app;
            description "Owner application type";
          }
    
          leaf recycle-present {
            type int32;
            description
              "Flag to indicate if a recycle label is present";
          }
        }  // grouping MPLS-LSD-MOI-IPV4-STACK
    
        grouping MPLS-LSD-MOI-PW-LIST {
          description
            "Pseudo-wire Head-end List MOI information";
          leaf table-id {
            type uint32;
            description "Table ID";
          }
    
          leaf table-name {
            type string;
            description "VRF table name";
          }
    
          leaf l3-interface {
            type xr:Interface-name;
            description
              "Pseudo-wire Layer 3 interface";
          }
    
          leaf l2-interface {
            type xr:Interface-name;
            description
              "Pseudo-wire Layer 2 interface";
          }
    
          leaf path-flags-decode {
            type string;
            description
              "Path flag decoded string";
          }
        }  // grouping MPLS-LSD-MOI-PW-LIST
    
        grouping MPLS-LSD-MOI-PWHE {
          description
            "Pseudo-wire Head-end MOI information";
          leaf table-id {
            type uint32;
            description "Table ID";
          }
    
          leaf table-name {
            type string;
            description "VRF table name";
          }
    
          leaf path-flags-decode {
            type string;
            description
              "Path flag decoded string";
          }
    
          leaf out-interface {
            type xr:Interface-name;
            description
              "Outgoing interface name";
          }
    
          leaf out-label {
            type uint32;
            description "Outgoing Label";
          }
    
          leaf ipv4-next-hop {
            type inet:ipv4-address;
            description "IPv4 nexthop";
          }
    
          leaf control-word {
            type int32;
            description
              "Is control word present";
          }
    
          leaf imposition {
            type int32;
            description "Is PWHE IMposition";
          }
    
          leaf vctype {
            type uint8;
            description "Virtual Circuit Type";
          }
    
          leaf pw-list-id {
            type uint16;
            description
              "Pseudo-wire List Identifier";
          }
    
          leaf pwhe-interface {
            type xr:Interface-name;
            description
              "Pseudo-wire Head-end interface";
          }
    
          leaf out-binding-sid {
            type uint32;
            description "Outgoing BindingSID";
          }
        }  // grouping MPLS-LSD-MOI-PWHE
    
        grouping MPLS-LSD-MOI-IP-SUB {
          description "IP sub MOI";
          leaf table-id {
            type uint32;
            description "VRF table ID";
          }
    
          leaf table-name {
            type string;
            description "VRF table name";
          }
    
          leaf out-interface {
            type xr:Interface-name;
            description "Outgoing interface";
          }
    
          leaf path-flags-decode {
            type string;
            description
              "Path flag decoded string";
          }
        }  // grouping MPLS-LSD-MOI-IP-SUB
    
        grouping MPLS-LSD-MOI-PW {
          description
            "Pseudo-wire MOI information";
          leaf table-id {
            type uint32;
            description "Table ID";
          }
    
          leaf table-name {
            type string;
            description "VRF table name";
          }
    
          leaf path-flags-decode {
            type string;
            description
              "Path flag decoded string";
          }
    
          leaf out-interface {
            type xr:Interface-name;
            description
              "Outgoing interface name";
          }
    
          leaf out-label {
            type uint32;
            description "Outgoing Label";
          }
    
          leaf cross-connect-id {
            type uint32;
            description "Cross-connect ID";
          }
    
          leaf pseuodo-wire-connect-id {
            type uint32;
            description
              "PseudoWire Cross-connect ID";
          }
    
          leaf ipv4-next-hop {
            type inet:ipv4-address;
            description "IPv4 nexthop";
          }
    
          leaf bridge-id {
            type uint32;
            description "Bridge ID";
          }
    
          leaf split-horizon-id {
            type uint32;
            description "Split horizon group ID";
          }
        }  // grouping MPLS-LSD-MOI-PW
    
        grouping MPLS-LSD-MOI-TEV4 {
          description "TEv4 MOI information";
          leaf table-id {
            type uint32;
            description "Table ID";
          }
    
          leaf table-name {
            type string;
            description "VRF table name";
          }
    
          leaf path-flags-decode {
            type string;
            description
              "Path flag decoded string";
          }
    
          leaf out-interface {
            type xr:Interface-name;
            description
              "Outgoing interface name";
          }
    
          leaf out-label {
            type uint32;
            description "Outgoing label";
          }
    
          leaf out-label-name {
            type string;
            description "Outgoing label name";
          }
    
          leaf ipv4-next-hop {
            type inet:ipv4-address;
            description "IPv4 nexthop";
          }
    
          leaf backup-interface {
            type xr:Interface-name;
            description "Backup interface name";
          }
    
          leaf backup-ipv4-next-hop {
            type inet:ipv4-address;
            description "Backup IPv4 nexthop";
          }
    
          leaf merge-point-label {
            type uint32;
            description "Merge point label";
          }
    
          leaf backup-local-label {
            type uint32;
            description "Backup local label";
          }
    
          leaf tunnel-interface {
            type xr:Interface-name;
            description "Tunnel interface name";
          }
    
          leaf tunnel-weight {
            type uint32;
            description "Tunnel weight";
          }
    
          leaf data-out-parent-interface {
            type xr:Interface-name;
            description
              "Outgoing data parent interface name";
          }
    
          leaf tunnel-class {
            type uint32;
            description "Tunnel class";
          }
    
          leaf ipv4-next-next-hop {
            type inet:ipv4-address;
            description "IPv4 next nexthop";
          }
        }  // grouping MPLS-LSD-MOI-TEV4
    
        grouping MPLS-LSD-MOI-IPV6 {
          description "IPv6 MOI information";
          container path-qos-info {
            description "Path QoS Information";
            uses MPLS-LSD-IP-MOI-PATH-QOS;
          }  // container path-qos-info
    
          leaf table-id {
            type uint32;
            description "Table ID";
          }
    
          leaf table-name {
            type string;
            description "VRF table name";
          }
    
          leaf path-flags-decode {
            type string;
            description
              "Path flag decoded string";
          }
    
          leaf out-interface {
            type xr:Interface-name;
            description
              "Outgoing interface name";
          }
    
          leaf out-label {
            type uint32;
            description "Outgoing label";
          }
    
          leaf out-label-name {
            type string;
            description "Outgoing label name";
          }
    
          leaf ipv6-next-hop {
            type Lsd-ipv6-address;
            description "IPv6 nexthop";
          }
    
          leaf path-id {
            type uint16;
            description "Routing path id";
          }
    
          leaf is-path-qos-set {
            type int32;
            description
              "Flag to indicate if path QoS is set";
          }
    
          leaf backup-path-id {
            type uint16;
            description "Routing path backup id";
          }
    
          leaf tunnel-id {
            type uint16;
            description "Tunnel ID";
          }
    
          leaf tunnel-type {
            type uint16;
            description "Tunnel Type";
          }
    
          leaf next-hop-id {
            type uint32;
            description "Next hop ID";
          }
    
          leaf out-interface-parent {
            type xr:Interface-name;
            description
              "Name of outgoing interface's parent";
          }
    
          leaf minimum-recurse-length {
            type uint8;
            description
              "Minimum netmask length of recursive resolving
             route";
          }
    
          leaf load-metric {
            type uint32;
            description
              "Routing path's load metric";
          }
    
          leaf out-binding-sid {
            type uint32;
            description "Outgoing BindingSID";
          }
        }  // grouping MPLS-LSD-MOI-IPV6
    
        grouping MPLS-LSD-MOI-IPV4 {
          description "IPv4 MOI information";
          container path-qos-info {
            description "Path QoS Information";
            uses MPLS-LSD-IP-MOI-PATH-QOS;
          }  // container path-qos-info
    
          leaf table-id {
            type uint32;
            description "Table ID";
          }
    
          leaf table-name {
            type string;
            description "VRF table name";
          }
    
          leaf path-flags-decode {
            type string;
            description
              "Path flag decoded string";
          }
    
          leaf out-interface {
            type xr:Interface-name;
            description
              "Outgoing Interface name";
          }
    
          leaf out-interface-parent {
            type xr:Interface-name;
            description
              "Outgoing Interface's parent name";
          }
    
          leaf ipv4-next-hop {
            type inet:ipv4-address;
            description "IPv4 nexthop";
          }
    
          leaf out-binding-sid {
            type uint32;
            description "Outgoing BindingSID";
          }
    
          leaf path-id {
            type uint16;
            description "Routing path id";
          }
    
          leaf is-path-qos-set {
            type int32;
            description
              "Flag to indicate if path QoS is set";
          }
    
          leaf backup-path-id {
            type uint16;
            description "Routing path backup id";
          }
    
          leaf load-metric {
            type uint32;
            description
              "Routing path's load metric";
          }
    
          leaf out-label {
            type uint32;
            description "Outgoing Label";
          }
    
          leaf out-label-name {
            type string;
            description "Outgoing label name";
          }
    
          leaf tunnel-id {
            type uint16;
            description "Tunnel ID";
          }
    
          leaf tunnel-type {
            type uint16;
            description "Tunnel Type";
          }
    
          leaf next-hop-id {
            type uint32;
            description "Next hop ID";
          }
    
          leaf local-label {
            type uint32;
            description
              "TE backup path local label";
          }
    
          leaf minimum-recurse-length {
            type uint8;
            description
              "Minimum netmask length of recursive resolving
             route";
          }
        }  // grouping MPLS-LSD-MOI-IPV4
    
        grouping MPLS-LSD-MOI-POP-AND-LKUP-TP {
          description
            "Pop and lookup MOI for TP information";
          leaf table-id {
            type uint32;
            description "Table ID";
          }
    
          leaf table-name {
            type string;
            description "VRF table name";
          }
    
          leaf path-flags-decode {
            type string;
            description
              "Path flag decoded string";
          }
    
          leaf out-label {
            type uint32;
            description "Outgoing Label";
          }
        }  // grouping MPLS-LSD-MOI-POP-AND-LKUP-TP
    
        grouping MPLS-LSD-IP-MOI-PATH-QOS {
          description
            "IP MOI path QoS information";
          leaf type {
            type string;
            description "Path QoS Type";
          }
    
          leaf value {
            type uint8;
            description "Path Qos Value";
          }
    
          leaf is-default {
            type int32;
            description
              "Is path's qos value equal to the default value";
          }
        }  // grouping MPLS-LSD-IP-MOI-PATH-QOS
    
        grouping MPLS-LSD-MOI-POP-AND-LKUP {
          description
            "Pop and lookup MOI information";
          container path-qos-info {
            description "Path QoS Information";
            uses MPLS-LSD-IP-MOI-PATH-QOS;
          }  // container path-qos-info
    
          leaf table-id {
            type uint32;
            description "Table ID";
          }
    
          leaf table-name {
            type string;
            description "VRF table name";
          }
    
          leaf path-flags-decode {
            type string;
            description
              "Path flag decoded string";
          }
    
          leaf is-path-qos-set {
            type int32;
            description
              "Flag to indicate if path QoS is set";
          }
        }  // grouping MPLS-LSD-MOI-POP-AND-LKUP
    
        grouping MPLS-LSD-MOI-GEN {
          description "MPLS LSD MOI GEN";
          container pop-and-lookup-ipv4 {
            when
              "../moi-type = 'mgmt-lsd-moi-type-pop-and-lkup-ipv4'" {
              description
                "../MoiType =
               'MGMT_LSD_MOI_TYPE_POP_AND_LKUP_IPV4'";
            }
            description
              "Pop-and-lookup IPv4 moi";
            uses MPLS-LSD-MOI-POP-AND-LKUP;
          }  // container pop-and-lookup-ipv4
    
          container pop-and-lookup-tp {
            when
              "../moi-type = 'mgmt-lsd-moi-type-pop-and-lkup-tp'" {
              description
                "../MoiType =
               'MGMT_LSD_MOI_TYPE_POP_AND_LKUP_TP'";
            }
            description "Pop-and-lookup TP moi";
            uses MPLS-LSD-MOI-POP-AND-LKUP-TP;
          }  // container pop-and-lookup-tp
    
          container pop-and-lookup-ipv6 {
            when
              "../moi-type = 'mgmt-lsd-moi-type-pop-and-lkup-ipv6'" {
              description
                "../MoiType =
               'MGMT_LSD_MOI_TYPE_POP_AND_LKUP_IPV6'";
            }
            description
              "Pop-and-lookup IPv6 moi";
            uses MPLS-LSD-MOI-POP-AND-LKUP;
          }  // container pop-and-lookup-ipv6
    
          container ipv4-data {
            when
              "../moi-type = 'mgmt-lsd-moi-type-ipv4'" {
              description
                "../MoiType = 'MGMT_LSD_MOI_TYPE_IPV4'";
            }
            description "IPV4 moi";
            uses MPLS-LSD-MOI-IPV4;
          }  // container ipv4-data
    
          container ipv6-data {
            when
              "../moi-type = 'mgmt-lsd-moi-type-ipv6'" {
              description
                "../MoiType = 'MGMT_LSD_MOI_TYPE_IPV6'";
            }
            description "IPv6 moi";
            uses MPLS-LSD-MOI-IPV6;
          }  // container ipv6-data
    
          container tev4-data {
            when
              "../moi-type = 'mgmt-lsd-moi-type-tev4'" {
              description
                "../MoiType = 'MGMT_LSD_MOI_TYPE_TEV4'";
            }
            description "TEV4 moi";
            uses MPLS-LSD-MOI-TEV4;
          }  // container tev4-data
    
          container pseudowire-data {
            when
              "../moi-type = 'mgmt-lsd-moi-type-pw'" {
              description
                "../MoiType = 'MGMT_LSD_MOI_TYPE_PW'";
            }
            description "Pseudo-wire moi";
            uses MPLS-LSD-MOI-PW;
          }  // container pseudowire-data
    
          container ip-sub-data {
            when
              "../moi-type = 'mgmt-lsd-moi-type-ip-sub'" {
              description
                "../MoiType = 'MGMT_LSD_MOI_TYPE_IP_SUB'";
            }
            description "IP Subscriber moi";
            uses MPLS-LSD-MOI-IP-SUB;
          }  // container ip-sub-data
    
          container pseudowire-head-end-data {
            when
              "../moi-type = 'mgmt-lsd-moi-type-pwhe'" {
              description
                "../MoiType = 'MGMT_LSD_MOI_TYPE_PWHE'";
            }
            description
              "Pseudo-wire head end moi";
            uses MPLS-LSD-MOI-PWHE;
          }  // container pseudowire-head-end-data
    
          container pw-list-data {
            when
              "../moi-type = 'mgmt-lsd-moi-type-pw-list'" {
              description
                "../MoiType = 'MGMT_LSD_MOI_TYPE_PW_LIST'";
            }
            description "Pseudo-wire list moi";
            uses MPLS-LSD-MOI-PW-LIST;
          }  // container pw-list-data
    
          container stackv4-data {
            when
              "../moi-type = 'mgmt-lsd-moi-type-ipv4-stack'" {
              description
                "../MoiType = 'MGMT_LSD_MOI_TYPE_IPV4_STACK'";
            }
            description "IPv4 stack moi";
            uses MPLS-LSD-MOI-IPV4-STACK;
          }  // container stackv4-data
    
          container stackv6-data {
            when
              "../moi-type = 'mgmt-lsd-moi-type-ipv6-stack'" {
              description
                "../MoiType = 'MGMT_LSD_MOI_TYPE_IPV6_STACK'";
            }
            description "IPv6 stack moi";
            uses MPLS-LSD-MOI-IPV6-STACK;
          }  // container stackv6-data
    
          container te-head-data {
            when
              "../moi-type = 'mgmt-lsd-moi-type-te-head'" {
              description
                "../MoiType = 'MGMT_LSD_MOI_TYPE_TE_HEAD'";
            }
            description
              "Traffic Engineering head moi";
            uses MPLS-LSD-MOI-TE-HEAD;
          }  // container te-head-data
    
          container dmtc-data {
            when
              "../moi-type = 'mgmt-lsd-moi-type-dmtc-ext-intf'" {
              description
                "../MoiType = 'MGMT_LSD_MOI_TYPE_DMTC_EXT_INTF'";
            }
            description
              "Demand Matrix Traffic-Collector (DMTC) moi";
            uses MPLS-LSD-MOI-DMTC-EXT-INTF;
          }  // container dmtc-data
    
          container nnh-stackv4-data {
            when
              "../moi-type = 'mgmt-lsd-moi-type-ipv4-nnh-stack'" {
              description
                "../MoiType = 'MGMT_LSD_MOI_TYPE_IPV4_NNH_STACK'";
            }
            description
              "IPv4 Next-Next-Hop Stack moi";
            uses MPLS-LSD-MOI-IPV4-NNH-STACK;
          }  // container nnh-stackv4-data
    
          container nnh-stackv6-data {
            when
              "../moi-type = 'mgmt-lsd-moi-type-ipv6-nnh-stack'" {
              description
                "../MoiType = 'MGMT_LSD_MOI_TYPE_IPV6_NNH_STACK'";
            }
            description
              "IPv6 Next-Next-Hop Stack moi";
            uses MPLS-LSD-MOI-IPV6-NNH-STACK;
          }  // container nnh-stackv6-data
    
          container label-range {
            when
              "../moi-type = 'mgmt-lsd-moi-type-label-range'" {
              description
                "../MoiType = 'MGMT_LSD_MOI_TYPE_LABEL_RANGE'";
            }
            description "Label range moi";
            uses MPLS-LSD-MOI-LABEL-RANGE;
          }  // container label-range
    
          leaf moi-type {
            type Mgmt-lsd-moi;
            description "MoiType";
          }
        }  // grouping MPLS-LSD-MOI-GEN
    
        grouping MPLS-LSD-MOI {
          description "LSD MOI";
          container moi {
            description "Moi";
            uses MPLS-LSD-MOI-GEN;
          }  // container moi
    
          leaf mpls-feid {
            type uint64;
            description
              "FIB per-path mpls encap id";
          }
        }  // grouping MPLS-LSD-MOI
    
        grouping MPLS-LSD-MOI-ARR {
          description "LSD MOI array";
          container application-resource {
            description "Application state";
            uses MPLS-LSD-APP-RSRC-STATE;
          }  // container application-resource
    
          list moi-array {
            description "moi array";
            uses MPLS-LSD-MOI;
          }  // list moi-array
        }  // grouping MPLS-LSD-MOI-ARR
    
        grouping MPLS-LSD-V6-RPF {
          description "LSD V6 RPF";
          leaf table-id {
            type uint32;
            description "Table ID";
          }
    
          leaf v6-rpf-neighbor {
            type Lsd-ipv6-address;
            description "V6 RPF Neighbor";
          }
        }  // grouping MPLS-LSD-V6-RPF
    
        grouping MPLS-LSD-V4-RPF {
          description "LSD V4 RPF";
          leaf table-id {
            type uint32;
            description "Table ID";
          }
    
          leaf v4-rpf-neighbor {
            type inet:ipv4-address;
            description "V4 RPF Neighbor";
          }
        }  // grouping MPLS-LSD-V4-RPF
    
        grouping MPLS-LSD-FPI-LABEL-RANGE {
          description
            "Label range FPI information";
          leaf type {
            type uint8;
            description "Label Range Type";
          }
    
          leaf index {
            type uint8;
            description "Label Ranged Index";
          }
        }  // grouping MPLS-LSD-FPI-LABEL-RANGE
    
        grouping MPLS-LSD-FPI-DMTC-EXT-INTF {
          description
            "Demand Matrix Traffic-Collector (DMTC) Ext Intf
           FPI information";
          leaf dmtc-ext-ifh {
            type xr:Interface-name;
            description
              "DMTC External Interface";
          }
        }  // grouping MPLS-LSD-FPI-DMTC-EXT-INTF
    
        grouping MPLS-LSD-FPI-PW-LIST {
          description
            "Pseudo-wire list FPI information";
          leaf pwhe-list-id {
            type uint16;
            description
              "Pseudowire List Identifier";
          }
        }  // grouping MPLS-LSD-FPI-PW-LIST
    
        grouping MPLS-LSD-FPI-IPV6 {
          description "IPv6 FPI information";
          leaf table-id {
            type uint32;
            description "Table ID";
          }
    
          leaf prefix {
            type Lsd-ipv6-address;
            description
              "IPv6 route prefix for the FPI";
          }
    
          leaf router-flags {
            type uint32;
            description "Route flags";
          }
    
          leaf prefix-len {
            type uint8;
            description
              "Length of the subnet prefix";
          }
    
          leaf version {
            type uint32;
            description "FPI Version";
          }
        }  // grouping MPLS-LSD-FPI-IPV6
    
        grouping MPLS-LSD-FPI-IPV4 {
          description "IPv4 FPI information";
          leaf table-id {
            type uint32;
            description "Table ID";
          }
    
          leaf prefix {
            type inet:ipv4-address;
            description
              "IPv4 route prefix for the FPI";
          }
    
          leaf prefix-length {
            type uint8;
            description
              "Length of the subnet prefix";
          }
    
          leaf version {
            type uint32;
            description "FPI version";
          }
    
          leaf sr-local-label {
            type uint32;
            description "SR related Local label";
          }
        }  // grouping MPLS-LSD-FPI-IPV4
    
        grouping MPLS-LSD-FPI-TE {
          description "TE FPI information";
          leaf tunnel-interface {
            type xr:Interface-name;
            description "Tunnel interface name";
          }
    
          leaf local-label {
            type uint32;
            description "Local label";
          }
        }  // grouping MPLS-LSD-FPI-TE
    
        grouping MPLS-LSD-FPI-LBL {
          description "Label FPI information";
          leaf label {
            type uint32;
            description "Label value";
          }
    
          leaf security-id {
            type uint32;
            description "Security ID";
          }
    
          leaf elc {
            type int32;
            description "ELC";
          }
    
          leaf label-flags {
            type uint32;
            description "Label Flags";
          }
        }  // grouping MPLS-LSD-FPI-LBL
    
        grouping MPLS-LSD-FPI-GEN {
          description "MPLS LSD FPI GEN";
          container label-data {
            when
              "../fpi-type = 'mgmt-lsd-fpi-type-label'" {
              description
                "../FPIType = 'MGMT_LSD_FPI_TYPE_LABEL'";
            }
            description "Label FPI";
            uses MPLS-LSD-FPI-LBL;
          }  // container label-data
    
          container te-data {
            when
              "../fpi-type = 'mgmt-lsd-fpi-type-te'" {
              description
                "../FPIType = 'MGMT_LSD_FPI_TYPE_TE'";
            }
            description "TE FPI";
            uses MPLS-LSD-FPI-TE;
          }  // container te-data
    
          container ipv4-data {
            when
              "../fpi-type = 'mgmt-lsd-fpi-type-ipv4'" {
              description
                "../FPIType = 'MGMT_LSD_FPI_TYPE_IPV4'";
            }
            description "IPv4 FPI";
            uses MPLS-LSD-FPI-IPV4;
          }  // container ipv4-data
    
          container ipv6-data {
            when
              "../fpi-type = 'mgmt-lsd-fpi-type-ipv6'" {
              description
                "../FPIType = 'MGMT_LSD_FPI_TYPE_IPV6'";
            }
            description "IPv6 FPI";
            uses MPLS-LSD-FPI-IPV6;
          }  // container ipv6-data
    
          container pw-list-data {
            when
              "../fpi-type = 'mgmt-lsd-fpi-type-pw-list'" {
              description
                "../FPIType = 'MGMT_LSD_FPI_TYPE_PW_LIST'";
            }
            description "Pseudo-wire list FPI";
            uses MPLS-LSD-FPI-PW-LIST;
          }  // container pw-list-data
    
          container dmtc-ext-intf-data {
            when
              "../fpi-type = 'mgmt-lsd-fpi-type-dmtc-ext-intf'" {
              description
                "../FPIType = 'MGMT_LSD_FPI_TYPE_DMTC_EXT_INTF'";
            }
            description
              "Demand Matrix Traffic-Collector (DMTC) FPI";
            uses MPLS-LSD-FPI-DMTC-EXT-INTF;
          }  // container dmtc-ext-intf-data
    
          container label-range {
            when
              "../fpi-type = 'mgmt-lsd-fpi-type-label-range'" {
              description
                "../FPIType = 'MGMT_LSD_FPI_TYPE_LABEL_RANGE'";
            }
            description "Label range FPI";
            uses MPLS-LSD-FPI-LABEL-RANGE;
          }  // container label-range
    
          leaf fpi-type {
            type Mgmt-lsd-fpi;
            description "FPIType";
          }
        }  // grouping MPLS-LSD-FPI-GEN
    
        grouping MPLS-LSD-FPI {
          description "LSD FPI";
          container fpi {
            description "FPI";
            uses MPLS-LSD-FPI-GEN;
          }  // container fpi
    
          list application-owner {
            description
              "Application owner instance";
            uses MPLS-LSD-APP-RSRC-STATE;
          }  // list application-owner
        }  // grouping MPLS-LSD-FPI
    
        grouping MPLS-LSD-RW {
          description "Rewrite information";
          container fpi-key {
            description "fpi key";
            uses MPLS-LSD-FPI;
          }  // container fpi-key
    
          container rewrite-id {
            description "Rewrite ID";
            uses MPLS-LSD-RW-ID;
          }  // container rewrite-id
    
          leaf rewrite-version {
            type uint64;
            description "Rewrite version";
          }
    
          leaf bcdl-priority {
            type uint8;
            description "BCDL Priority";
          }
    
          leaf lsd-queue {
            type uint8;
            description "LSD queue";
          }
    
          leaf rw-install-time {
            type uint64;
            description
              "Rewrite install timestamp";
          }
    
          leaf rw-install-age {
            type uint64;
            description "Rewrite install age";
          }
    
          leaf rw-updated {
            type int32;
            description
              "Is rewrite ever updated";
          }
    
          leaf priority-updated {
            type int32;
            description
              "Is rewrite's BCDL priority updated";
          }
    
          leaf rw-redist {
            type int32;
            description
              "Is Rewrite redistributed";
          }
    
          leaf prefix-feid {
            type uint64;
            description
              "FIB per-prefix encap id";
          }
    
          list associated-fpi {
            description "Associated FPI";
            uses MPLS-LSD-FPI;
          }  // list associated-fpi
    
          list v4-rpf {
            description "IPv4 RPF neighbors";
            uses MPLS-LSD-V4-RPF;
          }  // list v4-rpf
    
          list v6-rpf {
            description "IPv6 RPF neighbors";
            uses MPLS-LSD-V6-RPF;
          }  // list v6-rpf
    
          list mois {
            description "Mois";
            uses MPLS-LSD-MOI-ARR;
          }  // list mois
        }  // grouping MPLS-LSD-RW
    
        grouping MPLS-LSD-FRR-DB-SUM {
          description "FRR summary";
          leaf active {
            type uint32;
            description
              "Number of FRR rewrites in Active state";
          }
    
          leaf ready {
            type uint32;
            description
              "Number of FRR rewrites in Ready state";
          }
    
          leaf partial {
            type uint32;
            description
              "Number of FRR rewrites in Partial state";
          }
    
          leaf igp {
            type uint32;
            description
              "Number of FRR rewrites in IGP state for SR-TE";
          }
        }  // grouping MPLS-LSD-FRR-DB-SUM
    
        grouping MPLS-LSD-FRR-OUT-PATH {
          description "FRR out path entry";
          leaf out-interface {
            type xr:Interface-name;
            description "Outgoing interface";
          }
    
          leaf out-label {
            type uint32;
            description "Outgoing label";
          }
    
          leaf ipv4-next-hop {
            type inet:ipv4-address;
            description "Next hop IPv4 address";
          }
    
          leaf frr-interface {
            type xr:Interface-name;
            description "FRR interface";
          }
    
          leaf frr-label {
            type uint32;
            description "FRR output label";
          }
        }  // grouping MPLS-LSD-FRR-OUT-PATH
    
        grouping MPLS-LSD-FRR-DB-ENTRY-MID-ID {
          description "FRR midpoint information";
          leaf source-address {
            type inet:ipv4-address;
            description "Source IPv4 address";
          }
    
          leaf lspid {
            type uint32;
            description "LSP ID";
          }
    
          leaf tunnel-id {
            type uint32;
            description "Tunnel ID";
          }
        }  // grouping MPLS-LSD-FRR-DB-ENTRY-MID-ID
    
        grouping MPLS-LSD-FRR-DB-ENTRY-HEAD-ID {
          description "FRR head information";
          leaf destination-prefix {
            type inet:ipv4-address;
            description
              "Destination prefix for the FRR head";
          }
    
          leaf destination-prefix-length {
            type uint8;
            description
              "Length of the destination subnet prefix";
          }
        }  // grouping MPLS-LSD-FRR-DB-ENTRY-HEAD-ID
    
        grouping MPLS-LSD-FRR-DB-ENTRY-GEN-ID {
          description
            "MPLS LSD FRR DB ENTRY GEN ID";
          container head {
            when
              "../role = 'mgmt-lsd-lsp-role-head'" {
              description
                "../Role = 'MGMT_LSD_LSP_ROLE_HEAD'";
            }
            description "FRR head";
            uses MPLS-LSD-FRR-DB-ENTRY-HEAD-ID;
          }  // container head
    
          container midpoint {
            when
              "../role = 'mgmt-lsd-lsp-role-mid'" {
              description
                "../Role = 'MGMT_LSD_LSP_ROLE_MID'";
            }
            description "FRR midpoint";
            uses MPLS-LSD-FRR-DB-ENTRY-MID-ID;
          }  // container midpoint
    
          leaf role {
            type Mgmt-lsd-lsp-role;
            description "Role";
          }
        }  // grouping MPLS-LSD-FRR-DB-ENTRY-GEN-ID
    
        grouping MPLS-LSD-FRR-DB-ENTRY {
          description "FRR entry";
          container frr-entry-id {
            description "FRR entry ID";
            uses MPLS-LSD-FRR-DB-ENTRY-GEN-ID;
          }  // container frr-entry-id
    
          leaf tunnel-interface {
            type xr:Interface-name;
            description "Tunnel interface name";
          }
    
          leaf input-label {
            type uint32;
            description "Input label";
          }
    
          leaf entry-frr-state {
            type Mgmt-lsd-frr-state;
            description "MPLS FRR entry state";
          }
    
          list out-path {
            description "Out Path List";
            uses MPLS-LSD-FRR-OUT-PATH;
          }  // list out-path
        }  // grouping MPLS-LSD-FRR-DB-ENTRY
    
        grouping MPLS-LSD-LBL-CTX-LBL-BLK-PFP {
          description "Label block PFP context";
          leaf start-label {
            type uint32;
            description
              "Starting label of label block";
          }
    
          leaf offset {
            type uint32;
            description
              "Offset from starting label of label block";
          }
    
          leaf size {
            type uint32;
            description "Size of label block";
          }
    
          leaf owner-app-name {
            type string {
              length "0..48";
            }
            description "Owner Application Name";
          }
        }  // grouping MPLS-LSD-LBL-CTX-LBL-BLK-PFP
    
        grouping MPLS-LSD-LBL-CTX-SR-PFX-NODE {
          description "SR Prefix Node context";
          leaf segment-routing-label {
            type uint32;
            description "Prefix Node Label";
          }
        }  // grouping MPLS-LSD-LBL-CTX-SR-PFX-NODE
    
        grouping MPLS-LSD-LBL-CTX-LBL-BLK-BIER {
          description "Label BIER context";
          leaf block-length {
            type uint32;
            description "Size of label block";
          }
    
          leaf sub-domain-id {
            type uint32;
            description "Subdomain ID";
          }
    
          leaf bit-stream-length {
            type uint32;
            description "Bit Stream Length";
          }
    
          leaf afi {
            type uint16;
            description
              "Address Family Identifier";
          }
        }  // grouping MPLS-LSD-LBL-CTX-LBL-BLK-BIER
    
        grouping MPLS-LSD-LBL-CTX-SRTE-NH-LABEL-SET {
          description
            "SRTE NH label set context";
          leaf table-id {
            type uint32;
            description "Table ID";
          }
    
          leaf next-hop-set-id {
            type uint32;
            description "Next Hop Set ID";
          }
    
          leaf type {
            type Mgmt-lsd-lbl-alloc-table;
            description "Next Hop Table Type";
          }
        }  // grouping MPLS-LSD-LBL-CTX-SRTE-NH-LABEL-SET
    
        grouping MPLS-LSD-LBL-CTX-LBL-BLK-CBF {
          description "Label block CBF context";
          leaf start-label {
            type uint32;
            description
              "Starting label of label block";
          }
    
          leaf offset {
            type uint32;
            description
              "Offset from starting label of label block";
          }
    
          leaf size {
            type uint32;
            description "Size of label block";
          }
    
          leaf owner-app-name {
            type string {
              length "0..48";
            }
            description "Owner Application Name";
          }
        }  // grouping MPLS-LSD-LBL-CTX-LBL-BLK-CBF
    
        grouping MPLS-LSD-LBL-CTX-RECYCLE-LBL {
          description "Recycle lbl context";
          leaf grid-id {
            type uint64;
            description "Grid ID";
          }
        }  // grouping MPLS-LSD-LBL-CTX-RECYCLE-LBL
    
        grouping MPLS-LSD-LBL-CTX-LBL-BLK-SRLB {
          description "Label block SRLB context";
          leaf start-label {
            type uint32;
            description "Start Label";
          }
    
          leaf offset {
            type uint32;
            description "Offset";
          }
    
          leaf size {
            type uint32;
            description "Number of labels";
          }
        }  // grouping MPLS-LSD-LBL-CTX-LBL-BLK-SRLB
    
        grouping MPLS-LSD-LBL-CTX-TE-BINDING {
          description
            "Traffic Engineering Binding context";
          leaf te-identifier {
            type uint32;
            description
              "MPLS Traffic Engineering Tunnel or Group ID";
          }
    
          leaf te-type {
            type Mgmt-lsd-te-binding;
            description
              "Type of identifier for the binding";
          }
        }  // grouping MPLS-LSD-LBL-CTX-TE-BINDING
    
        grouping MPLS-LSD-LBL-CTX-LBL-BLK-SRGB {
          description "Label block SRGB context";
          leaf start-label {
            type uint32;
            description "Start Label";
          }
    
          leaf offset {
            type uint32;
            description "Offset";
          }
    
          leaf size {
            type uint32;
            description "Number of labels";
          }
        }  // grouping MPLS-LSD-LBL-CTX-LBL-BLK-SRGB
    
        grouping MPLS-LSD-LBL-CTX-SR-ADJ-SEG-IPV6 {
          description
            "SR Adj Segment ipv6 context";
          leaf index {
            type uint32;
            description "Adjacency index";
          }
    
          leaf type {
            type uint32;
            description "Adjacency type";
          }
    
          leaf intf {
            type xr:Interface-name;
            description "Adjacency interface";
          }
    
          leaf addr {
            type Lsd-ipv6-address;
            description
              "Adjacency nexthop IPv6 address";
          }
        }  // grouping MPLS-LSD-LBL-CTX-SR-ADJ-SEG-IPV6
    
        grouping MPLS-LSD-LBL-CTX-SR-ADJ-SEG-IPV4 {
          description
            "SR Adj Segment ipv4 context";
          leaf index {
            type uint32;
            description "Adjacency index";
          }
    
          leaf type {
            type uint32;
            description "Adjacency type";
          }
    
          leaf intf {
            type xr:Interface-name;
            description "Adjacency interface";
          }
    
          leaf addr {
            type inet:ipv4-address;
            description
              "Adjacency nexthop IPv4 address";
          }
        }  // grouping MPLS-LSD-LBL-CTX-SR-ADJ-SEG-IPV4
    
        grouping MPLS-LSD-LBL-CTX-SR-PFX-SEG {
          description
            "SR Prefix Segment context";
          leaf table-id {
            type uint32;
            description "Table ID";
          }
    
          leaf segment-id {
            type uint32;
            description "Prefix Segment ID";
          }
        }  // grouping MPLS-LSD-LBL-CTX-SR-PFX-SEG
    
        grouping MPLS-LSD-LBL-CTX-L3VPN-NH-SET {
          description "L3VPN NH SET context";
          leaf table-id {
            type uint32;
            description "Table ID";
          }
    
          leaf next-hop-set-id {
            type uint32;
            description "Next Hop Set ID";
          }
    
          leaf type {
            type Mgmt-lsd-lbl-alloc-table;
            description "Next Hop Table Type";
          }
        }  // grouping MPLS-LSD-LBL-CTX-L3VPN-NH-SET
    
        grouping MPLS-LSD-LBL-CTX-PIM-S-PMSI {
          description "PIM S-PMSI label context";
          leaf vrf-id {
            type uint32;
            description "VRF ID";
          }
    
          leaf source {
            type inet:ipv4-address;
            description "Originating Router";
          }
    
          leaf head {
            type int32;
            description "Head";
          }
    
          leaf v6 {
            type int32;
            description "PIM6";
          }
    
          leaf hli {
            type uint32;
            description "Head LSM-ID";
          }
    
          leaf seg {
            type int32;
            description "Segmented Multicast";
          }
        }  // grouping MPLS-LSD-LBL-CTX-PIM-S-PMSI
    
        grouping MPLS-LSD-LBL-CTX-PIM-I-PMSI {
          description "PIM I-PMSI label context";
          leaf vrf-id {
            type uint32;
            description "VRF ID";
          }
    
          leaf head {
            type int32;
            description "Head";
          }
    
          leaf v6 {
            type int32;
            description "PIM6";
          }
        }  // grouping MPLS-LSD-LBL-CTX-PIM-I-PMSI
    
        grouping MPLS-LSD-LBL-CTX-BLB-IPV6 {
          description "BFD BLB IPv6 content";
          leaf blb-intf {
            type xr:Interface-name;
            description "BFD BLB interface";
          }
    
          leaf prefix {
            type Lsd-ipv6-address;
            description "IPv6 prefix";
          }
        }  // grouping MPLS-LSD-LBL-CTX-BLB-IPV6
    
        grouping MPLS-LSD-LBL-CTX-BLB-IPV4 {
          description "BFD BLB IPv4 content";
          leaf blb-intf {
            type xr:Interface-name;
            description "BFD BLB interface";
          }
    
          leaf prefix {
            type inet:ipv4-address;
            description "IPv4 prefix";
          }
        }  // grouping MPLS-LSD-LBL-CTX-BLB-IPV4
    
        grouping MPLS-LSD-LBL-CTX-EVPN {
          description "EVPN context";
          leaf evpn-id {
            type uint32;
            description "EVPN ID";
          }
    
          leaf evpn-tag {
            type uint32;
            description "EVPN TAG";
          }
    
          leaf ethernet-segment {
            type yang:hex-string;
            description "Ethernet Segment ID";
          }
    
          leaf evpn-encap {
            type uint8;
            description "EVPN Encap";
          }
        }  // grouping MPLS-LSD-LBL-CTX-EVPN
    
        grouping MPLS-LSD-LBL-CTX-GRE-IPV6 {
          description
            "Generic routing encapsulation context";
          leaf greipv6-interface {
            type xr:Interface-name;
            description
              "Generic routing encapsulation IPv6 interface";
          }
        }  // grouping MPLS-LSD-LBL-CTX-GRE-IPV6
    
        grouping MPLS-LSD-LBL-CTX-GRE {
          description
            "Generic routing encapsulation context";
          leaf gre-interface {
            type xr:Interface-name;
            description
              "Generic routing encapsulation interface";
          }
        }  // grouping MPLS-LSD-LBL-CTX-GRE
    
        grouping MPLS-LSD-LBL-CTX-TP {
          description "TP context";
          leaf source-global-id {
            type uint32;
            description "TP source global ID";
          }
    
          leaf source-node-id {
            type inet:ipv4-address;
            description "TP source node ID";
          }
    
          leaf dest-global-id {
            type uint32;
            description
              "TP destination global ID";
          }
    
          leaf dest-node-id {
            type inet:ipv4-address;
            description "TP destination node ID";
          }
    
          leaf source-tunnel-id {
            type uint16;
            description "TP source tunnel ID";
          }
    
          leaf dest-tunnel-id {
            type uint16;
            description
              "TP destination tunnel ID";
          }
    
          leaf lsp-id {
            type uint16;
            description "TP LSP ID";
          }
        }  // grouping MPLS-LSD-LBL-CTX-TP
    
        grouping MPLS-LSD-LBL-CTX-PWHE {
          description
            "Pseudo-wire Head-end context";
          leaf pwhe-intf {
            type xr:Interface-name;
            description
              "Pseudo-wire Head-end interface";
          }
        }  // grouping MPLS-LSD-LBL-CTX-PWHE
    
        grouping MPLS-LSD-LBL-CTX-MLDPV4 {
          description "MLDP IPv4 context";
          leaf table-id {
            type uint32;
            description "Table ID";
          }
    
          leaf type {
            type uint16;
            description "LSM ID Type";
          }
    
          leaf lsm-id {
            type uint32;
            description "LSM ID";
          }
    
          leaf peer-lsrid {
            type inet:ipv4-address;
            description "Peer LSR Id";
          }
    
          leaf peer-label-space-id {
            type uint16;
            description "Peer Label Space Id";
          }
        }  // grouping MPLS-LSD-LBL-CTX-MLDPV4
    
        grouping MPLS-LSD-LBL-CTX-TEV4-P2MP {
          description "TEv4 p2mp context";
          leaf table-id {
            type uint32;
            description "Table ID";
          }
    
          leaf tunnel-source {
            type inet:ipv4-address;
            description "Tunnel source";
          }
    
          leaf p2mp-id {
            type uint32;
            description "Point to multipoint ID";
          }
    
          leaf tunnel-id {
            type uint32;
            description "Tunnel ID";
          }
    
          leaf tunnel-id-extension {
            type uint32;
            description "Tunnel ID extension";
          }
    
          leaf tunnel-lsp-id {
            type uint32;
            description "Tunnel LSP ID";
          }
    
          leaf previous-hop {
            type inet:ipv4-address;
            description "Previous hop";
          }
        }  // grouping MPLS-LSD-LBL-CTX-TEV4-P2MP
    
        grouping MPLS-LSD-LBL-CTX-IP-SUB {
          description "IP subscriber context";
          leaf table-id {
            type uint32;
            description "Table Id";
          }
    
          leaf parent-interface {
            type xr:Interface-name;
            description "Parent interface name";
          }
        }  // grouping MPLS-LSD-LBL-CTX-IP-SUB
    
        grouping MPLS-LSD-LBL-CTX-LBL-BLK {
          description "Label block context";
          leaf service {
            type uint8;
            description "Service";
          }
    
          leaf vpn-id {
            type uint16;
            description "VPN ID";
          }
    
          leaf edge-id {
            type uint16;
            description "Edge ID";
          }
    
          leaf offset {
            type uint32;
            description "Offset";
          }
    
          leaf size {
            type uint32;
            description "Number of labels";
          }
        }  // grouping MPLS-LSD-LBL-CTX-LBL-BLK
    
        grouping MPLS-LSD-LBL-CTX-PW {
          description "Pseudo-wire context";
          leaf prefix {
            type inet:ipv4-address;
            description "Address prefix";
          }
    
          leaf pseudowire-id {
            type uint64;
            description "Pseudo-wire ID";
          }
    
          leaf remote-l2-router-id {
            type uint32;
            description "Remote L2 Router ID";
          }
    
          leaf subinterface {
            type xr:Interface-name;
            description
              "Sub-interface name for the Pseudo-wire label";
          }
        }  // grouping MPLS-LSD-LBL-CTX-PW
    
        grouping MPLS-LSD-LBL-CTX-L3VPN-CEV6 {
          description "L3VPN CEv6 context";
          leaf table-id {
            type uint32;
            description "Table ID";
          }
    
          leaf ipv6-next-hop {
            type Lsd-ipv6-address;
            description "IPv6 nexthop";
          }
    
          leaf security-id {
            type uint32;
            description "Security ID";
          }
        }  // grouping MPLS-LSD-LBL-CTX-L3VPN-CEV6
    
        grouping MPLS-LSD-LBL-CTX-L3VPN-CEV4 {
          description "L3VPN CEv4 context";
          leaf table-id {
            type uint32;
            description "Table ID";
          }
    
          leaf ipv4-next-hop {
            type inet:ipv4-address;
            description "IPv4 nexthop";
          }
    
          leaf security-id {
            type uint32;
            description "Security ID";
          }
        }  // grouping MPLS-LSD-LBL-CTX-L3VPN-CEV4
    
        grouping MPLS-LSD-LBL-CTX-L3VPN-VRF {
          description "L3VPN vrf context";
          leaf table-id {
            type uint32;
            description "Table ID";
          }
    
          leaf security-id {
            type uint32;
            description "Security ID";
          }
        }  // grouping MPLS-LSD-LBL-CTX-L3VPN-VRF
    
        grouping MPLS-LSD-LBL-CTX-L3VPN-IPV6 {
          description "L3VPN IPv6 context";
          leaf prefix {
            type Lsd-ipv6-address;
            description "IPv6 prefix";
          }
    
          leaf prefix-length {
            type uint8;
            description
              "Length of the subnet prefix";
          }
    
          leaf route-distinguisher {
            type uint64;
            description "Route distinguisher";
          }
        }  // grouping MPLS-LSD-LBL-CTX-L3VPN-IPV6
    
        grouping MPLS-LSD-LBL-CTX-L3VPN-IPV4 {
          description "L3VPN IPv4 context";
          leaf prefix {
            type inet:ipv4-address;
            description "IPv4 prefix";
          }
    
          leaf prefix-length {
            type uint8;
            description
              "Length of the subnet prefix";
          }
    
          leaf route-distinguisher {
            type uint64;
            description "Route distinguisher";
          }
        }  // grouping MPLS-LSD-LBL-CTX-L3VPN-IPV4
    
        grouping MPLS-LSD-LBL-CTX-TEV4 {
          description "LSD TEv4 context";
          leaf table-id {
            type uint32;
            description "Table ID";
          }
    
          leaf tunnel-source {
            type inet:ipv4-address;
            description "Tunnel source";
          }
    
          leaf tunnel-dest {
            type inet:ipv4-address;
            description "Tunnel destination";
          }
    
          leaf tunnel-id {
            type uint32;
            description "Tunnel ID";
          }
    
          leaf tunnel-id-extension {
            type uint32;
            description "Extended tunnel ID";
          }
    
          leaf tunnel-lsp-id {
            type uint32;
            description "Tunnel LSP ID";
          }
    
          leaf is-srte {
            type int32;
            description
              "Is this an SRTE head tunnel";
          }
        }  // grouping MPLS-LSD-LBL-CTX-TEV4
    
        grouping MPLS-LSD-LBL-CTX-IPV6 {
          description "LSD IPv6 context";
          leaf table-id {
            type uint32;
            description "Table ID";
          }
    
          leaf prefix {
            type inet:ipv6-address;
            description "IPv6 prefix";
          }
    
          leaf prefix-length {
            type uint8;
            description
              "Length of the subnet prefix";
          }
    
          leaf security-id {
            type uint32;
            description "Security ID";
          }
    
          leaf vrf-name {
            type string {
              length "0..33";
            }
            description "VRF Name";
          }
        }  // grouping MPLS-LSD-LBL-CTX-IPV6
    
        grouping MPLS-LSD-LBL-CTX-IPV4 {
          description "LSD IPv4 context";
          leaf table-id {
            type uint32;
            description "Table ID";
          }
    
          leaf prefix {
            type inet:ipv4-address;
            description "IPv4 prefix";
          }
    
          leaf prefix-length {
            type uint8;
            description
              "Length of the subnet prefix";
          }
    
          leaf security-id {
            type uint32;
            description "Security ID";
          }
    
          leaf vrf-name {
            type string {
              length "0..33";
            }
            description "VRF Name";
          }
        }  // grouping MPLS-LSD-LBL-CTX-IPV4
    
        grouping MPLS-LSD-LBL-CTX-KEY {
          description "MPLS LSD LBL CTX KEY";
          container ipv4-data {
            when
              "../label-context-type = 'mgmt-lsd-lbl-ctx-type-ipv4'" {
              description
                "../LabelContextType =
               'MGMT_LSD_LBL_CTX_TYPE_IPV4'";
            }
            description "IPv4 label context";
            uses MPLS-LSD-LBL-CTX-IPV4;
          }  // container ipv4-data
    
          container ipv6-data {
            when
              "../label-context-type = 'mgmt-lsd-lbl-ctx-type-ipv6'" {
              description
                "../LabelContextType =
               'MGMT_LSD_LBL_CTX_TYPE_IPV6'";
            }
            description "IPv6 label context";
            uses MPLS-LSD-LBL-CTX-IPV6;
          }  // container ipv6-data
    
          container tev4-data {
            when
              "../label-context-type = 'mgmt-lsd-lbl-ctx-type-tev4'" {
              description
                "../LabelContextType =
               'MGMT_LSD_LBL_CTX_TYPE_TEV4'";
            }
            description "TEv4 label context";
            uses MPLS-LSD-LBL-CTX-TEV4;
          }  // container tev4-data
    
          container ipv4l3vpn-data {
            when
              "../label-context-type = 'mgmt-lsd-lbl-ctx-type-l3vpn-ipv4'" {
              description
                "../LabelContextType =
               'MGMT_LSD_LBL_CTX_TYPE_L3VPN_IPV4'";
            }
            description
              "L3VPN IPv4 label context";
            uses MPLS-LSD-LBL-CTX-L3VPN-IPV4;
          }  // container ipv4l3vpn-data
    
          container ipv6l3vpn-data {
            when
              "../label-context-type = 'mgmt-lsd-lbl-ctx-type-l3vpn-ipv6'" {
              description
                "../LabelContextType =
               'MGMT_LSD_LBL_CTX_TYPE_L3VPN_IPV6'";
            }
            description
              "L3VPN IPv6 label context";
            uses MPLS-LSD-LBL-CTX-L3VPN-IPV6;
          }  // container ipv6l3vpn-data
    
          container vrf-l3vpn-data {
            when
              "../label-context-type = 'mgmt-lsd-lbl-ctx-type-l3vpn-vrf'" {
              description
                "../LabelContextType =
               'MGMT_LSD_LBL_CTX_TYPE_L3VPN_VRF'";
            }
            description
              "L3VPN VRF label context";
            uses MPLS-LSD-LBL-CTX-L3VPN-VRF;
          }  // container vrf-l3vpn-data
    
          container cev4l3vpn-data {
            when
              "../label-context-type = 'mgmt-lsd-lbl-ctx-type-l3vpn-cev4'" {
              description
                "../LabelContextType =
               'MGMT_LSD_LBL_CTX_TYPE_L3VPN_CEV4'";
            }
            description
              "L3VPN CEv4 label context";
            uses MPLS-LSD-LBL-CTX-L3VPN-CEV4;
          }  // container cev4l3vpn-data
    
          container cev6l3vpn-data {
            when
              "../label-context-type = 'mgmt-lsd-lbl-ctx-type-l3vpn-cev6'" {
              description
                "../LabelContextType =
               'MGMT_LSD_LBL_CTX_TYPE_L3VPN_CEV6'";
            }
            description
              "L3VPN CEv6 label context";
            uses MPLS-LSD-LBL-CTX-L3VPN-CEV6;
          }  // container cev6l3vpn-data
    
          container pseudowire-data {
            when
              "../label-context-type = 'mgmt-lsd-lbl-ctx-type-pw'" {
              description
                "../LabelContextType =
               'MGMT_LSD_LBL_CTX_TYPE_PW'";
            }
            description
              "Pseudowire label context";
            uses MPLS-LSD-LBL-CTX-PW;
          }  // container pseudowire-data
    
          container label-block-data {
            when
              "../label-context-type = 'mgmt-lsd-lbl-ctx-type-lbl-blk'" {
              description
                "../LabelContextType =
               'MGMT_LSD_LBL_CTX_TYPE_LBL_BLK'";
            }
            description "Label block context";
            uses MPLS-LSD-LBL-CTX-LBL-BLK;
          }  // container label-block-data
    
          container ip-sub-data {
            when
              "../label-context-type = 'mgmt-lsd-lbl-ctx-type-ip-sub'" {
              description
                "../LabelContextType =
               'MGMT_LSD_LBL_CTX_TYPE_IP_SUB'";
            }
            description "IP Subscriber context";
            uses MPLS-LSD-LBL-CTX-IP-SUB;
          }  // container ip-sub-data
    
          container tev4p2mp-data {
            when
              "../label-context-type = 'mgmt-lsd-lbl-ctx-type-tev4-p2mp'" {
              description
                "../LabelContextType =
               'MGMT_LSD_LBL_CTX_TYPE_TEV4_P2MP'";
            }
            description "TEv4 P2MP context";
            uses MPLS-LSD-LBL-CTX-TEV4-P2MP;
          }  // container tev4p2mp-data
    
          container mld-pv4-data {
            when
              "../label-context-type = 'mgmt-lsd-lbl-ctx-type-mldpv4'" {
              description
                "../LabelContextType =
               'MGMT_LSD_LBL_CTX_TYPE_MLDPV4'";
            }
            description "MLDPv4 LSM-ID context";
            uses MPLS-LSD-LBL-CTX-MLDPV4;
          }  // container mld-pv4-data
    
          container pseudowire-head-end-data {
            when
              "../label-context-type = 'mgmt-lsd-lbl-ctx-type-pwhe'" {
              description
                "../LabelContextType =
               'MGMT_LSD_LBL_CTX_TYPE_PWHE'";
            }
            description
              "Pseudowire Head-end label context";
            uses MPLS-LSD-LBL-CTX-PWHE;
          }  // container pseudowire-head-end-data
    
          container tp-data {
            when
              "../label-context-type = 'mgmt-lsd-lbl-ctx-type-tp'" {
              description
                "../LabelContextType =
               'MGMT_LSD_LBL_CTX_TYPE_TP'";
            }
            description "TP context";
            uses MPLS-LSD-LBL-CTX-TP;
          }  // container tp-data
    
          container generic-routing-encapsulation {
            when
              "../label-context-type = 'mgmt-lsd-lbl-ctx-type-gre'" {
              description
                "../LabelContextType =
               'MGMT_LSD_LBL_CTX_TYPE_GRE'";
            }
            description
              "Generic routing encapsulation context";
            uses MPLS-LSD-LBL-CTX-GRE;
          }  // container generic-routing-encapsulation
    
          container ipv6-generic-routing-encapsulation {
            when
              "../label-context-type = 'mgmt-lsd-lbl-ctx-type-gre-ipv6'" {
              description
                "../LabelContextType =
               'MGMT_LSD_LBL_CTX_TYPE_GRE_IPV6'";
            }
            description
              "Generic routing encapsulation context";
            uses MPLS-LSD-LBL-CTX-GRE-IPV6;
          }  // container ipv6-generic-routing-encapsulation
    
          container evpn-data {
            when
              "../label-context-type = 'mgmt-lsd-lbl-ctx-type-evpn'" {
              description
                "../LabelContextType =
               'MGMT_LSD_LBL_CTX_TYPE_EVPN'";
            }
            description "EVPN context";
            uses MPLS-LSD-LBL-CTX-EVPN;
          }  // container evpn-data
    
          container ipv4blb-data {
            when
              "../label-context-type = 'mgmt-lsd-lbl-ctx-type-blb-ipv4'" {
              description
                "../LabelContextType =
               'MGMT_LSD_LBL_CTX_TYPE_BLB_IPV4'";
            }
            description "BFD BLB label context";
            uses MPLS-LSD-LBL-CTX-BLB-IPV4;
          }  // container ipv4blb-data
    
          container ipv6blb-data {
            when
              "../label-context-type = 'mgmt-lsd-lbl-ctx-type-blb-ipv6'" {
              description
                "../LabelContextType =
               'MGMT_LSD_LBL_CTX_TYPE_BLB_IPV6'";
            }
            description "BFD BLB label context";
            uses MPLS-LSD-LBL-CTX-BLB-IPV6;
          }  // container ipv6blb-data
    
          container pi-mi-pmsi-data {
            when
              "../label-context-type = 'mgmt-lsd-lbl-ctx-type-pim-i-pmsi'" {
              description
                "../LabelContextType =
               'MGMT_LSD_LBL_CTX_TYPE_PIM_I_PMSI'";
            }
            description
              "PIM I-PMSI label conext";
            uses MPLS-LSD-LBL-CTX-PIM-I-PMSI;
          }  // container pi-mi-pmsi-data
    
          container pi-ms-pmsi-data {
            when
              "../label-context-type = 'mgmt-lsd-lbl-ctx-type-pim-s-pmsi'" {
              description
                "../LabelContextType =
               'MGMT_LSD_LBL_CTX_TYPE_PIM_S_PMSI'";
            }
            description
              "PIM S-PMSI label conext";
            uses MPLS-LSD-LBL-CTX-PIM-S-PMSI;
          }  // container pi-ms-pmsi-data
    
          container next-hop-set-l3vpn {
            when
              "../label-context-type = 'mgmt-lsd-lbl-ctx-type-l3vpn-nh-set'" {
              description
                "../LabelContextType =
               'MGMT_LSD_LBL_CTX_TYPE_L3VPN_NH_SET'";
            }
            description
              "L3VPN NH SET label context";
            uses MPLS-LSD-LBL-CTX-L3VPN-NH-SET;
          }  // container next-hop-set-l3vpn
    
          container sr-prefix-segment {
            when
              "../label-context-type = 'mgmt-lsd-lbl-ctx-type-sr-pfx-seg'" {
              description
                "../LabelContextType =
               'MGMT_LSD_LBL_CTX_TYPE_SR_PFX_SEG'";
            }
            description
              "SR Prefix Segment context";
            uses MPLS-LSD-LBL-CTX-SR-PFX-SEG;
          }  // container sr-prefix-segment
    
          container sr-adj-segment-ipv4 {
            when
              "../label-context-type = 'mgmt-lsd-lbl-ctx-type-sr-adj-seg-ipv4'" {
              description
                "../LabelContextType =
               'MGMT_LSD_LBL_CTX_TYPE_SR_ADJ_SEG_IPV4'";
            }
            description
              "SR Adj Segment ipv4 context";
            uses MPLS-LSD-LBL-CTX-SR-ADJ-SEG-IPV4;
          }  // container sr-adj-segment-ipv4
    
          container sr-adj-segment-ipv6 {
            when
              "../label-context-type = 'mgmt-lsd-lbl-ctx-type-sr-adj-seg-ipv6'" {
              description
                "../LabelContextType =
               'MGMT_LSD_LBL_CTX_TYPE_SR_ADJ_SEG_IPV6'";
            }
            description
              "SR Adj Segment ipv6 context";
            uses MPLS-LSD-LBL-CTX-SR-ADJ-SEG-IPV6;
          }  // container sr-adj-segment-ipv6
    
          container label-block-srgb-data {
            when
              "../label-context-type = 'mgmt-lsd-lbl-ctx-type-lbl-blk-srgb'" {
              description
                "../LabelContextType =
               'MGMT_LSD_LBL_CTX_TYPE_LBL_BLK_SRGB'";
            }
            description
              "Label block SRGB context";
            uses MPLS-LSD-LBL-CTX-LBL-BLK-SRGB;
          }  // container label-block-srgb-data
    
          container te-binding {
            when
              "../label-context-type = 'mgmt-lsd-lbl-ctx-type-te-binding'" {
              description
                "../LabelContextType =
               'MGMT_LSD_LBL_CTX_TYPE_TE_BINDING'";
            }
            description
              "MPLS TE tunnel binding context";
            uses MPLS-LSD-LBL-CTX-TE-BINDING;
          }  // container te-binding
    
          container label-block-srlb-data {
            when
              "../label-context-type = 'mgmt-lsd-lbl-ctx-type-lbl-blk-srlb'" {
              description
                "../LabelContextType =
               'MGMT_LSD_LBL_CTX_TYPE_LBL_BLK_SRLB'";
            }
            description
              "Label block SRLB context";
            uses MPLS-LSD-LBL-CTX-LBL-BLK-SRLB;
          }  // container label-block-srlb-data
    
          container recycle-label {
            when
              "../label-context-type = 'mgmt-lsd-lbl-ctx-type-recycle-lbl'" {
              description
                "../LabelContextType =
               'MGMT_LSD_LBL_CTX_TYPE_RECYCLE_LBL'";
            }
            description "Label stack context";
            uses MPLS-LSD-LBL-CTX-RECYCLE-LBL;
          }  // container recycle-label
    
          container label-block-cbf-data {
            when
              "../label-context-type = 'mgmt-lsd-lbl-ctx-type-lbl-blk-cbf'" {
              description
                "../LabelContextType =
               'MGMT_LSD_LBL_CTX_TYPE_LBL_BLK_CBF'";
            }
            description
              "Label block CBF context";
            uses MPLS-LSD-LBL-CTX-LBL-BLK-CBF;
          }  // container label-block-cbf-data
    
          container next-hop-label-set-srte {
            when
              "../label-context-type = 'mgmt-lsd-lbl-ctx-type-srte-nh-label-set'" {
              description
                "../LabelContextType =
               'MGMT_LSD_LBL_CTX_TYPE_SRTE_NH_LABEL_SET'";
            }
            description
              "SRTE NH label set context";
            uses MPLS-LSD-LBL-CTX-SRTE-NH-LABEL-SET;
          }  // container next-hop-label-set-srte
    
          container bier {
            when
              "../label-context-type = 'mgmt-lsd-lbl-ctx-type-lbl-blk-bier'" {
              description
                "../LabelContextType =
               'MGMT_LSD_LBL_CTX_TYPE_LBL_BLK_BIER'";
            }
            description "Label BIER context";
            uses MPLS-LSD-LBL-CTX-LBL-BLK-BIER;
          }  // container bier
    
          container sr-pfx-node {
            when
              "../label-context-type = 'mgmt-lsd-lbl-ctx-type-sr-pfx-node'" {
              description
                "../LabelContextType =
               'MGMT_LSD_LBL_CTX_TYPE_SR_PFX_NODE'";
            }
            description "SR Prefix Node context";
            uses MPLS-LSD-LBL-CTX-SR-PFX-NODE;
          }  // container sr-pfx-node
    
          container label-block-pfp-data {
            when
              "../label-context-type = 'mgmt-lsd-lbl-ctx-type-lbl-blk-pfp'" {
              description
                "../LabelContextType =
               'MGMT_LSD_LBL_CTX_TYPE_LBL_BLK_PFP'";
            }
            description
              "Label block PFP context";
            uses MPLS-LSD-LBL-CTX-LBL-BLK-PFP;
          }  // container label-block-pfp-data
    
          leaf label-context-type {
            type Mgmt-lsd-lbl-ctx;
            description "LabelContextType";
          }
        }  // grouping MPLS-LSD-LBL-CTX-KEY
    
        grouping MPLS-LSD-LBL-CTX {
          description "Label context";
          container key {
            description "Label Key";
            uses MPLS-LSD-LBL-CTX-KEY;
          }  // container key
    
          leaf application-data {
            type yang:hex-string;
            description
              "Application opaque data";
          }
        }  // grouping MPLS-LSD-LBL-CTX
    
        grouping MPLS-LSD-APP-RSRC-STATE {
          description "LSD application state";
          leaf application-name {
            type string;
            description "Application name";
          }
    
          leaf application-type {
            type Mgmt-lsd-app;
            description "Application type";
          }
    
          leaf application-role-primary {
            type int32;
            description "Primary/Backup role";
          }
    
          leaf application-instance {
            type string;
            description
              "Application instance Name";
          }
    
          leaf resource-state {
            type Mgmt-lsd-app-rsrc-state;
            description
              "Application resource state";
          }
        }  // grouping MPLS-LSD-APP-RSRC-STATE
    
        grouping MPLS-LSD-LBL {
          description "Label information";
          container label-context {
            description "Label context";
            uses MPLS-LSD-LBL-CTX;
          }  // container label-context
    
          leaf label {
            type uint32;
            description "Label value";
          }
    
          leaf rewrite-is-bound {
            type int32;
            description "Rewrite bound to label";
          }
    
          leaf rewrite-owners {
            type uint32;
            description
              "The applications that own of the rewrite bound
             to the label";
          }
    
          leaf rs-iconnected {
            type int32;
            description "Is RSI connection open";
          }
    
          leaf vrf-name {
            type string;
            description "VRF Name";
          }
    
          list application-owner {
            description
              "The applications that own the label";
            uses MPLS-LSD-APP-RSRC-STATE;
          }  // list application-owner
        }  // grouping MPLS-LSD-LBL
    
        grouping MPLS-LSD-LBL-SUM-ELEM {
          description "Label summary";
          leaf application-type {
            type Mgmt-lsd-app;
            description
              "Type of application owning the label";
          }
    
          leaf application-name {
            type string;
            description
              "Name of application owning the label";
          }
    
          leaf application-role-primary {
            type int32;
            description "Primary/Backup role";
          }
    
          leaf application-instance {
            type string;
            description
              "client-application identifier";
          }
    
          leaf number-of-labels {
            type uint32;
            description
              "Number of labels owned by the application";
          }
        }  // grouping MPLS-LSD-LBL-SUM-ELEM
    
        grouping MPLS-LSD-LBL-SUM {
          description "Label statistics";
          leaf vrf-name-xr {
            type string;
            description "VRF Name";
          }
    
          leaf total-labels {
            type uint32;
            description "Total number of labels";
          }
    
          leaf rsi-connected {
            type int32;
            description "Is RSI connection open";
          }
    
          list owner-count {
            description "Label count by owner";
            uses MPLS-LSD-LBL-SUM-ELEM;
          }  // list owner-count
        }  // grouping MPLS-LSD-LBL-SUM
    
        grouping MPLS-LSD-CLIENT-BA {
          description
            "LSD bcdl client information";
          leaf client-conn-index {
            type int32;
            description
              "BCDL Agent client connection index";
          }
    
          leaf parent-client-conn-index {
            type int32;
            description
              "BCDL Agent parent client connection index";
          }
        }  // grouping MPLS-LSD-CLIENT-BA
    
        grouping MPLS-LSD-CLIENT-APP {
          description
            "LSD application client information";
          leaf application-name {
            type string;
            description "Application name";
          }
    
          leaf application-type {
            type Mgmt-lsd-app;
            description "Application type";
          }
    
          leaf application-instance {
            type string;
            description
              "Application instance name";
          }
    
          leaf application-role-primary {
            type int32;
            description "Primary/Backup role";
          }
        }  // grouping MPLS-LSD-CLIENT-APP
    
        grouping MGMT-MPLS-LSD-CLIENT-DATA {
          description
            "LSD client type information";
          container application {
            when
              "../lsd-client-type = 'mgmt-lsd-client-type-app'" {
              description
                "../LSDClientType = 'MGMT_LSD_CLIENT_TYPE_APP'";
            }
            description "Application client";
            uses MPLS-LSD-CLIENT-APP;
          }  // container application
    
          container bcdl-agent {
            when
              "../lsd-client-type = 'mgmt-lsd-client-type-ba'" {
              description
                "../LSDClientType = 'MGMT_LSD_CLIENT_TYPE_BA'";
            }
            description "BCDL agent client";
            uses MPLS-LSD-CLIENT-BA;
          }  // container bcdl-agent
    
          leaf lsd-client-type {
            type Mgmt-lsd-client;
            description "LSDClientType";
          }
        }  // grouping MGMT-MPLS-LSD-CLIENT-DATA
    
        grouping MPLS-LSD-CLIENT {
          description "LSD client information";
          container client-union {
            description "LSD client information";
            uses MGMT-MPLS-LSD-CLIENT-DATA;
          }  // container client-union
    
          leaf client-index {
            type uint32;
            description "Client Index Value";
          }
    
          leaf node-id {
            type xr:Node-id;
            description "Node ID";
          }
        }  // grouping MPLS-LSD-CLIENT
      }  // submodule Cisco-IOS-XR-mpls-lsd-oper-sub1
    

© 2023 YumaWorks, Inc. All rights reserved.