Cisco-IOS-XR-um-hw-module-profile-cfg

This module contains a collection of YANG definitions for Cisco IOS-XR hw-module-profile package configuration. This YANG modul...

  • Version: 2021-04-29

    Cisco-IOS-XR-um-hw-module-profile-cfg@2021-04-29


    
      module Cisco-IOS-XR-um-hw-module-profile-cfg {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XR-um-hw-module-profile-cfg";
    
        prefix um-hw-module-profile-cfg;
    
        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 module contains a collection of YANG definitions
         for Cisco IOS-XR hw-module-profile package configuration.
         
         This YANG module augments the
         modules with configuration data.
         
         Copyright (c) 2021 by Cisco Systems, Inc.
         All rights reserved.";
    
        revision "2021-04-29" {
          description "Initial release";
        }
    
        semver:module-version "1.0.0";
    
        container hw-module {
          description "Configure h/w module";
          container profile-tcam {
            description
              "Configure profile for TCAM LC cards";
            container fib {
              description
                "Forwarding table to configure";
              container ipv4 {
                description
                  "Configure ipv4 addresses in TCAM";
                container unicast {
                  description "Unicast address";
                  leaf percent {
                    type uint32 {
                      range "1..100";
                    }
                    description
                      "percent to configure";
                  }
    
                  container prefixes {
                    description
                      "ip prefix length";
                    list prefix {
                      key "prefix-length";
                      description
                        "ip prefix length";
                      leaf prefix-length {
                        type uint32 {
                          range "0..32";
                        }
                        description
                          "ip prefix length";
                      }
    
                      leaf percent {
                        type xr:Cisco-ios-xr-string {
                          length "1..9";
                          pattern
                            "100([.]0{0,5})?|([0-9]{1,2}[0]?)([.][0-9]{0,5})?";
                        }
                        mandatory true;
                        description
                          "prefix percentage to configure";
                      }
                    }  // list prefix
                  }  // container prefixes
                }  // container unicast
              }  // container ipv4
    
              container ipv6 {
                description
                  "Configure ipv6 addresses in TCAM";
                container unicast {
                  description "Unicast address";
                  leaf percent {
                    type uint32 {
                      range "0..100";
                    }
                    description
                      "percent to configure";
                  }
    
                  container prefixes {
                    description
                      "ip prefix length";
                    list prefix {
                      key "prefix-length";
                      description
                        "ip prefix length";
                      leaf prefix-length {
                        type uint32 {
                          range "0..128";
                        }
                        description
                          "ip prefix length";
                      }
    
                      leaf percent {
                        type xr:Cisco-ios-xr-string {
                          length "1..9";
                          pattern
                            "100([.]0{0,5})?|([0-9]{1,2}[0]?)([.][0-9]{0,5})?";
                        }
                        mandatory true;
                        description
                          "prefix percentage to configure";
                      }
                    }  // list prefix
                  }  // container prefixes
                }  // container unicast
              }  // container ipv6
    
              container v6mcast {
                description "Multicast address";
                leaf percent {
                  type uint32 {
                    range "0..100";
                  }
                  description
                    "percent to configure";
                }
              }  // container v6mcast
            }  // container fib
    
            container acl-prefix {
              description
                "ACL table to configure";
              leaf percent {
                type uint32 {
                  range "0..100";
                }
                description
                  "percent to configure";
              }
            }  // container acl-prefix
    
            container format {
              description
                "format of the tcam entry";
              container access-list {
                description "Access List format";
                container ipv4 {
                  presence
                    "Indicates a ipv4 node is configured.";
                  description "IPv4";
                  container src-addr {
                    presence
                      "Indicates a src-addr node is configured.";
                    description
                      "source address, 32 bit qualifier";
                  }  // container src-addr
    
                  container dst-addr {
                    presence
                      "Indicates a dst-addr node is configured.";
                    description
                      "destination address, 32 bit qualifier";
                  }  // container dst-addr
    
                  container src-port {
                    must "../frag-bit";
                    presence
                      "Indicates a src-port node is configured.";
                    description
                      "source L4 port, 16 bit qualifier";
                  }  // container src-port
    
                  container dst-port {
                    must "../frag-bit";
                    presence
                      "Indicates a dst-port node is configured.";
                    description
                      "destination L4 Port, 16 bit qualifier";
                  }  // container dst-port
    
                  container proto {
                    presence
                      "Indicates a proto node is configured.";
                    description
                      "protocol type, 8 bit qualifier";
                  }  // container proto
    
                  container tcp-flags {
                    must "../frag-bit";
                    presence
                      "Indicates a tcp-flags node is configured.";
                    description
                      "tcp-flags, 6 bit qualifier";
                  }  // container tcp-flags
    
                  container packet-length {
                    presence
                      "Indicates a packet-length node is configured.";
                    description
                      "packet length, 16 bit qualifier";
                  }  // container packet-length
    
                  container frag-bit {
                    presence
                      "Indicates a frag-bit node is configured.";
                    description
                      "fragment-bit, 1 bit qualifier";
                  }  // container frag-bit
    
                  container common-acl {
                    presence
                      "Indicates a common-acl node is configured.";
                    description
                      "enable common-acl, 1 bit qualifier";
                  }  // container common-acl
    
                  container precedence {
                    presence
                      "Indicates a precedence node is configured.";
                    description
                      "precedence/dscp, 8 bit qualifier";
                  }  // container precedence
    
                  container port-range {
                    must "../frag-bit";
                    presence
                      "Indicates a port-range node is configured.";
                    description
                      "ipv4 port range qualifier, 24 bit qualifier";
                  }  // container port-range
    
                  container enable-capture {
                    presence
                      "Indicates a enable-capture node is configured.";
                    description
                      "Enable ACL based mirroring (Included by default)";
                  }  // container enable-capture
    
                  container enable-set-ttl {
                    presence
                      "Indicates a enable-set-ttl node is configured.";
                    description
                      "Enable Setting TTL field (Included by default)";
                  }  // container enable-set-ttl
    
                  container ttl-match {
                    presence
                      "Indicates a ttl-match node is configured.";
                    description
                      "Enable matching on TTL field";
                  }  // container ttl-match
    
                  container interface-based {
                    presence
                      "Indicates a interface-based node is configured.";
                    description
                      "Enable non-shared interface based ACL";
                  }  // container interface-based
    
                  leaf udf1 {
                    type xr:Cisco-ios-xr-string {
                      length "1..800";
                    }
                    description
                      "user defined filter";
                  }
    
                  leaf udf2 {
                    type xr:Cisco-ios-xr-string {
                      length "1..800";
                    }
                    description
                      "user defined filter";
                  }
    
                  leaf udf3 {
                    type xr:Cisco-ios-xr-string {
                      length "1..800";
                    }
                    description
                      "user defined filter";
                  }
    
                  leaf udf4 {
                    type xr:Cisco-ios-xr-string {
                      length "1..800";
                    }
                    description
                      "user defined filter";
                  }
    
                  leaf udf5 {
                    type xr:Cisco-ios-xr-string {
                      length "1..800";
                    }
                    description
                      "user defined filter";
                  }
    
                  leaf udf6 {
                    type xr:Cisco-ios-xr-string {
                      length "1..800";
                    }
                    description
                      "user defined filter";
                  }
    
                  leaf udf7 {
                    type xr:Cisco-ios-xr-string {
                      length "1..800";
                    }
                    description
                      "user defined filter";
                  }
    
                  leaf udf8 {
                    type xr:Cisco-ios-xr-string {
                      length "1..800";
                    }
                    description
                      "user defined filter";
                  }
                }  // container ipv4
    
                container ipv4-locations {
                  description
                    "Location of format access-list ipv4 config";
                  list location {
                    key "location-name location-name2";
                    description
                      "Location of format access-list ipv4 config";
                    leaf location-name {
                      type xr:Node-id;
                      description
                        "Location of format access-list ipv4 config";
                    }
    
                    leaf location-name2 {
                      type xr:Node-id;
                      description
                        "Location of format access-list ipv4 config";
                    }
    
                    container src-addr {
                      presence
                        "Indicates a src-addr node is configured.";
                      description
                        "source address, 32 bit qualifier";
                    }  // container src-addr
    
                    container dst-addr {
                      presence
                        "Indicates a dst-addr node is configured.";
                      description
                        "destination address, 32 bit qualifier";
                    }  // container dst-addr
    
                    container src-port {
                      must "../frag-bit";
                      presence
                        "Indicates a src-port node is configured.";
                      description
                        "source L4 port, 16 bit qualifier";
                    }  // container src-port
    
                    container dst-port {
                      must "../frag-bit";
                      presence
                        "Indicates a dst-port node is configured.";
                      description
                        "destination L4 Port, 16 bit qualifier";
                    }  // container dst-port
    
                    container proto {
                      presence
                        "Indicates a proto node is configured.";
                      description
                        "protocol type, 8 bit qualifier";
                    }  // container proto
    
                    container tcp-flags {
                      must "../frag-bit";
                      presence
                        "Indicates a tcp-flags node is configured.";
                      description
                        "tcp-flags, 6 bit qualifier";
                    }  // container tcp-flags
    
                    container packet-length {
                      presence
                        "Indicates a packet-length node is configured.";
                      description
                        "packet length, 16 bit qualifier";
                    }  // container packet-length
    
                    container frag-bit {
                      presence
                        "Indicates a frag-bit node is configured.";
                      description
                        "fragment-bit, 1 bit qualifier";
                    }  // container frag-bit
    
                    container common-acl {
                      presence
                        "Indicates a common-acl node is configured.";
                      description
                        "enable common-acl, 1 bit qualifier";
                    }  // container common-acl
    
                    container precedence {
                      presence
                        "Indicates a precedence node is configured.";
                      description
                        "precedence/dscp, 8 bit qualifier";
                    }  // container precedence
    
                    container port-range {
                      must "../frag-bit";
                      presence
                        "Indicates a port-range node is configured.";
                      description
                        "ipv4 port range qualifier, 24 bit qualifier";
                    }  // container port-range
    
                    container enable-capture {
                      presence
                        "Indicates a enable-capture node is configured.";
                      description
                        "Enable ACL based mirroring (Included by default)";
                    }  // container enable-capture
    
                    container enable-set-ttl {
                      presence
                        "Indicates a enable-set-ttl node is configured.";
                      description
                        "Enable Setting TTL field (Included by default)";
                    }  // container enable-set-ttl
    
                    container ttl-match {
                      presence
                        "Indicates a ttl-match node is configured.";
                      description
                        "Enable matching on TTL field";
                    }  // container ttl-match
    
                    container interface-based {
                      presence
                        "Indicates a interface-based node is configured.";
                      description
                        "Enable non-shared interface based ACL";
                    }  // container interface-based
    
                    leaf udf1 {
                      type xr:Cisco-ios-xr-string {
                        length "1..1024";
                      }
                      description
                        "user defined filter";
                    }
    
                    leaf udf2 {
                      type xr:Cisco-ios-xr-string {
                        length "1..1024";
                      }
                      description
                        "user defined filter";
                    }
    
                    leaf udf3 {
                      type xr:Cisco-ios-xr-string {
                        length "1..1024";
                      }
                      description
                        "user defined filter";
                    }
    
                    leaf udf4 {
                      type xr:Cisco-ios-xr-string {
                        length "1..1024";
                      }
                      description
                        "user defined filter";
                    }
    
                    leaf udf5 {
                      type xr:Cisco-ios-xr-string {
                        length "1..1024";
                      }
                      description
                        "user defined filter";
                    }
    
                    leaf udf6 {
                      type xr:Cisco-ios-xr-string {
                        length "1..1024";
                      }
                      description
                        "user defined filter";
                    }
    
                    leaf udf7 {
                      type xr:Cisco-ios-xr-string {
                        length "1..1024";
                      }
                      description
                        "user defined filter";
                    }
    
                    leaf udf8 {
                      type xr:Cisco-ios-xr-string {
                        length "1..1024";
                      }
                      description
                        "user defined filter";
                    }
                  }  // list location
                }  // container ipv4-locations
    
                container ipv6 {
                  must "src-port and next-hdr";
                  presence
                    "Indicates a ipv6 node is configured.";
                  description "IPv6";
                  container src-addr {
                    presence
                      "Indicates a src-addr node is configured.";
                    description
                      "source address, 128 bit qualifier";
                  }  // container src-addr
    
                  container src-port {
                    presence
                      "Indicates a src-port node is configured.";
                    description
                      "source L4 Port, 16 bit qualifier (manditory field)";
                  }  // container src-port
    
                  container dst-addr {
                    presence
                      "Indicates a dst-addr node is configured.";
                    description
                      "destination address, 128 bit qualifier";
                  }  // container dst-addr
    
                  container dst-port {
                    presence
                      "Indicates a dst-port node is configured.";
                    description
                      "destination L4 Port, 16 bit qualifier";
                  }  // container dst-port
    
                  container next-hdr {
                    presence
                      "Indicates a next-hdr node is configured.";
                    description
                      "next header, 8 bit qualifier (manditory field)";
                  }  // container next-hdr
    
                  container tcp-flags {
                    presence
                      "Indicates a tcp-flags node is configured.";
                    description
                      "tcp-flags, 8 bit qualifier";
                  }  // container tcp-flags
    
                  container payload-length {
                    presence
                      "Indicates a payload-length node is configured.";
                    description
                      "payload length, 16 bit qualifier";
                  }  // container payload-length
    
                  container frag-bit {
                    presence
                      "Indicates a frag-bit node is configured.";
                    description
                      "fragment-bit, 1 bit qualifier";
                  }  // container frag-bit
    
                  container traffic-class {
                    presence
                      "Indicates a traffic-class node is configured.";
                    description
                      "Traffic Class, 8 bit qualifier";
                  }  // container traffic-class
    
                  container enable-capture {
                    presence
                      "Indicates a enable-capture node is configured.";
                    description
                      "Enable ACL based mirroring (Included by default)";
                  }  // container enable-capture
    
                  container enable-set-ttl {
                    presence
                      "Indicates a enable-set-ttl node is configured.";
                    description
                      "Enable Setting TTL field (Included by default)";
                  }  // container enable-set-ttl
    
                  container common-acl {
                    presence
                      "Indicates a common-acl node is configured.";
                    description
                      "enable common-acl, 1 bit qualifier";
                  }  // container common-acl
    
                  container ttl-match {
                    presence
                      "Indicates a ttl-match node is configured.";
                    description
                      "Enable matching on TTL field";
                  }  // container ttl-match
    
                  container interface-based {
                    presence
                      "Indicates a interface-based node is configured.";
                    description
                      "Enable non-shared interface based ACL";
                  }  // container interface-based
    
                  leaf udf1 {
                    type xr:Cisco-ios-xr-string {
                      length "1..800";
                    }
                    description
                      "user defined filter";
                  }
    
                  leaf udf2 {
                    type xr:Cisco-ios-xr-string {
                      length "1..800";
                    }
                    description
                      "user defined filter";
                  }
    
                  leaf udf3 {
                    type xr:Cisco-ios-xr-string {
                      length "1..800";
                    }
                    description
                      "user defined filter";
                  }
    
                  leaf udf4 {
                    type xr:Cisco-ios-xr-string {
                      length "1..800";
                    }
                    description
                      "user defined filter";
                  }
    
                  leaf udf5 {
                    type xr:Cisco-ios-xr-string {
                      length "1..800";
                    }
                    description
                      "user defined filter";
                  }
    
                  leaf udf6 {
                    type xr:Cisco-ios-xr-string {
                      length "1..800";
                    }
                    description
                      "user defined filter";
                  }
    
                  leaf udf7 {
                    type xr:Cisco-ios-xr-string {
                      length "1..800";
                    }
                    description
                      "user defined filter";
                  }
    
                  leaf udf8 {
                    type xr:Cisco-ios-xr-string {
                      length "1..800";
                    }
                    description
                      "user defined filter";
                  }
                }  // container ipv6
    
                container ipv6-locations {
                  description
                    "Location of format access-list ipv6 config";
                  list location {
                    must "src-port and next-hdr";
                    key "location-name location-name2";
                    description
                      "Location of format access-list ipv6 config";
                    leaf location-name {
                      type xr:Node-id;
                      description
                        "Location of format access-list ipv6 config";
                    }
    
                    leaf location-name2 {
                      type xr:Node-id;
                      description
                        "Location of format access-list ipv6 config";
                    }
    
                    container src-addr {
                      presence
                        "Indicates a src-addr node is configured.";
                      description
                        "source address, 32 bit qualifier";
                    }  // container src-addr
    
                    container src-port {
                      presence
                        "Indicates a src-port node is configured.";
                      description
                        "source L4 port, 16 bit qualifier";
                    }  // container src-port
    
                    container dst-addr {
                      presence
                        "Indicates a dst-addr node is configured.";
                      description
                        "destination address, 32 bit qualifier";
                    }  // container dst-addr
    
                    container dst-port {
                      presence
                        "Indicates a dst-port node is configured.";
                      description
                        "destination L4 Port, 16 bit qualifier";
                    }  // container dst-port
    
                    container next-hdr {
                      presence
                        "Indicates a next-hdr node is configured.";
                      description
                        "next header, 8 bit qualifier (manditory field)";
                    }  // container next-hdr
    
                    container tcp-flags {
                      presence
                        "Indicates a tcp-flags node is configured.";
                      description
                        "tcp-flags, 6 bit qualifier";
                    }  // container tcp-flags
    
                    container payload-length {
                      presence
                        "Indicates a packet-length node is configured.";
                      description
                        "packet length, 16 bit qualifier";
                    }  // container payload-length
    
                    container frag-bit {
                      presence
                        "Indicates a frag-bit node is configured.";
                      description
                        "fragment-bit, 1 bit qualifier";
                    }  // container frag-bit
    
                    container traffic-class {
                      presence
                        "Indicates a traffic-class node is configured.";
                      description
                        "Traffic Class, 8 bit qualifier";
                    }  // container traffic-class
    
                    container enable-capture {
                      presence
                        "Indicates a enable-capture node is configured.";
                      description
                        "Enable ACL based mirroring (Included by default)";
                    }  // container enable-capture
    
                    container enable-set-ttl {
                      presence
                        "Indicates a enable-set-ttl node is configured.";
                      description
                        "Enable Setting TTL field (Included by default)";
                    }  // container enable-set-ttl
    
                    container common-acl {
                      presence
                        "Indicates a common-acl node is configured.";
                      description
                        "enable common-acl, 1 bit qualifier";
                    }  // container common-acl
    
                    container ttl-match {
                      presence
                        "Indicates a ttl-match node is configured.";
                      description
                        "Enable matching on TTL field";
                    }  // container ttl-match
    
                    container interface-based {
                      presence
                        "Indicates a interface-based node is configured.";
                      description
                        "Enable non-shared interface based ACL";
                    }  // container interface-based
    
                    leaf udf1 {
                      type xr:Cisco-ios-xr-string {
                        length "1..1024";
                      }
                      description
                        "user defined filter";
                    }
    
                    leaf udf2 {
                      type xr:Cisco-ios-xr-string {
                        length "1..1024";
                      }
                      description
                        "user defined filter";
                    }
    
                    leaf udf3 {
                      type xr:Cisco-ios-xr-string {
                        length "1..1024";
                      }
                      description
                        "user defined filter";
                    }
    
                    leaf udf4 {
                      type xr:Cisco-ios-xr-string {
                        length "1..1024";
                      }
                      description
                        "user defined filter";
                    }
    
                    leaf udf5 {
                      type xr:Cisco-ios-xr-string {
                        length "1..1024";
                      }
                      description
                        "user defined filter";
                    }
    
                    leaf udf6 {
                      type xr:Cisco-ios-xr-string {
                        length "1..1024";
                      }
                      description
                        "user defined filter";
                    }
    
                    leaf udf7 {
                      type xr:Cisco-ios-xr-string {
                        length "1..1024";
                      }
                      description
                        "user defined filter";
                    }
    
                    leaf udf8 {
                      type xr:Cisco-ios-xr-string {
                        length "1..1024";
                      }
                      description
                        "user defined filter";
                    }
                  }  // list location
                }  // container ipv6-locations
              }  // container access-list
            }  // container format
          }  // container profile-tcam
    
          container profile-acl {
            description "Configure acl profile";
            container egress {
              description "egress acl";
              container layer3 {
                description "egress layer3 acl";
                container interface-based {
                  presence
                    "Indicates a interface-based node is configured.";
                  description
                    "egress layer3 interface-based acl";
                }  // container interface-based
              }  // container layer3
            }  // container egress
    
            container ipv6 {
              description
                "ipv6 protocol specific options";
              container ext-header {
                description
                  "ipv6 extension header related options";
                container permit {
                  presence
                    "Indicates a permit node is configured.";
                  description
                    "allow permit of extension header packets";
                }  // container permit
              }  // container ext-header
            }  // container ipv6
    
            container ingress {
              description "ingress acl";
              container compress {
                description
                  "Specify ACL compression in hardware";
                container enable {
                  presence
                    "Indicates a enable node is configured.";
                  description
                    "Enable ACL compression in hardware";
                }  // container enable
    
                container enable-locations {
                  description
                    "Location of acl config";
                  list location {
                    key "location-name location-name2";
                    description
                      "Location of acl config";
                    leaf location-name {
                      type xr:Node-id;
                      description
                        "Location of acl config";
                    }
    
                    leaf location-name2 {
                      type xr:Node-id;
                      description
                        "Location of acl config";
                    }
                  }  // list location
                }  // container enable-locations
              }  // container compress
            }  // container ingress
          }  // container profile-acl
    
          container profile-load-balance {
            description
              "Configure load balance parameters";
            container algorithm {
              description
                "Configure hashing algorithm profiles";
              container layer2 {
                must
                  "not(../ip-tunnel or ../mpls-safe-speculative-parsing
                 or ../l3-only or ../gtp
                 or ../gtp-mpls or ../pppo-e)";
                presence
                  "Indicates a layer2 node is configured.";
                description "Layer 2 optimized.";
              }  // container layer2
    
              container ip-tunnel {
                must
                  "not(../layer2 or ../mpls-safe-speculative-parsing
                 or ../l3-only or ../gtp
                 or ../gtp-mpls or ../pppo-e)";
                presence
                  "Indicates a ip-tunnel node is configured.";
                description
                  "IP tunnel optimized.";
              }  // container ip-tunnel
    
              container mpls-safe-speculative-parsing {
                must
                  "not(../layer2 or ../ip-tunnel
                 or ../l3-only or ../gtp
                 or ../gtp-mpls or ../pppo-e)";
                presence
                  "Indicates a mpls-safe-speculative-parsing node is configured.";
                description
                  "MPLS safe Speculative parsing.";
              }  // container mpls-safe-speculative-parsing
    
              container l3-only {
                must
                  "not(../layer2 or ../ip-tunnel
                 or ../mpls-safe-speculative-parsing or ../gtp
                 or ../gtp-mpls or ../pppo-e)";
                presence
                  "Indicates a l3-only node is configured.";
                description
                  "L3 Header only Hash.";
              }  // container l3-only
    
              container gtp {
                must
                  "not(../layer2 or ../ip-tunnel
                 or ../mpls-safe-speculative-parsing or ../l3-only
                 or ../gtp-mpls or ../pppo-e)";
                presence
                  "Indicates a gtp node is configured.";
                description "GTP optimized.";
              }  // container gtp
    
              container gtp-mpls {
                must
                  "not(../layer2 or ../ip-tunnel
                 or ../mpls-safe-speculative-parsing or ../l3-only
                 or ../gtp or ../pppo-e)";
                presence
                  "Indicates a gtp-mpls node is configured.";
                description
                  "GTP over MPLS optimized hash.";
              }  // container gtp-mpls
    
              container pppo-e {
                must
                  "not(../layer2 or ../ip-tunnel
                 or ../mpls-safe-speculative-parsing or ../l3-only
                 or ../gtp or ../gtp-mpls)";
                presence
                  "Indicates a pppo-e node is configured.";
                description
                  "PPPoE session based optimized hash. Reload is required for this option";
              }  // container pppo-e
            }  // container algorithm
          }  // container profile-load-balance
    
          container profile-bundle-hash {
            description
              "Adjust bundle-hash algorithm";
            container hash-index {
              description
                "configure which polynomial to use in bundle-hash";
              container locations {
                description
                  "Location of bundle-hash polynomial config";
                list location {
                  key "location-name location-name2";
                  description
                    "Location of bundle-hash polynomial config";
                  leaf location-name {
                    type xr:Node-id;
                    description
                      "Location of bundle-hash polynomial config";
                  }
    
                  leaf location-name2 {
                    type xr:Node-id;
                    description
                      "Location of bundle-hash polynomial config";
                  }
    
                  leaf index {
                    type enumeration {
                      enum "1" {
                        value 1;
                        description
                          "Use Polynomial value 0x8011";
                      }
                      enum "2" {
                        value 2;
                        description
                          "Use Polynomial value 0x8423";
                      }
                      enum "3" {
                        value 3;
                        description
                          "Use Polynomial value 0x8101";
                      }
                      enum "4" {
                        value 4;
                        description
                          "Use Polynomial value 0x84A1";
                      }
                      enum "5" {
                        value 5;
                        description
                          "Use Polynomial value 0x9019";
                      }
                      enum "10" {
                        value 10;
                        description
                          "Use LB-Key-Pkt-Data directly";
                      }
                      enum "11" {
                        value 11;
                        description
                          "Use counter incremented every packet";
                      }
                      enum "12" {
                        value 12;
                        description
                          "Use counter incremented every two clocks";
                      }
                    }
                    mandatory true;
                    description
                      "Configure hash index";
                  }
                }  // list location
              }  // container locations
            }  // container hash-index
    
            container ignore-ingress-port {
              presence
                "Indicates a ignore-ingress-port node is configured.";
              description
                "Disable ingress port during bundle hash computation";
            }  // container ignore-ingress-port
    
            container per-packet-round-robin {
              presence
                "Indicates a per-packet-round-robin node is configured.";
              description
                "Enable per-packet round robin loadbalancing for all bundles in system";
            }  // container per-packet-round-robin
          }  // container profile-bundle-hash
    
          container profile-qos {
            description "Configure qos profile";
            leaf max-classmap-size {
              type enumeration {
                enum "32" {
                  value 32;
                  description
                    "Max 32 class-maps per policy";
                }
                enum "16" {
                  value 16;
                  description
                    "Max 16 class-maps per policy";
                }
                enum "8" {
                  value 8;
                  description
                    "Max 8 class-maps per policy";
                }
                enum "4" {
                  value 4;
                  description
                    "Max 4 class-maps per policy";
                }
              }
              description "max class map size";
            }
    
            container max-classmap-size-locations {
              description
                "Location of QoS config";
              list location {
                key "location-name location-name2";
                description
                  "Location of QoS config";
                leaf location-name {
                  type xr:Node-id;
                  description
                    "Location of QoS config";
                }
    
                leaf location-name2 {
                  type xr:Node-id;
                  description
                    "Location of QoS config";
                }
    
                leaf max-classmap-size {
                  type enumeration {
                    enum "32" {
                      value 32;
                      description
                        "Max 32 class-maps per policy";
                    }
                    enum "16" {
                      value 16;
                      description
                        "Max 16 class-maps per policy";
                    }
                    enum "8" {
                      value 8;
                      description
                        "Max 8 class-maps per policy";
                    }
                    enum "4" {
                      value 4;
                      description
                        "Max 4 class-maps per policy";
                    }
                  }
                  mandatory true;
                  description
                    "max class map size";
                }
              }  // list location
            }  // container max-classmap-size-locations
    
            container ingress-model {
              description
                "QoS model for ingress feature";
              container peering {
                presence
                  "Indicates a peering node is configured.";
                description
                  "Peering model for ingress QoS";
              }  // container peering
    
              container peering-locations {
                description
                  "Peering model for ingress QoS with location";
                list location {
                  key "location-name location-name2";
                  description
                    "Location of QoS config";
                  leaf location-name {
                    type xr:Node-id;
                    description
                      "Location of QoS config";
                  }
    
                  leaf location-name2 {
                    type xr:Node-id;
                    description
                      "Location of QoS config";
                  }
                }  // list location
              }  // container peering-locations
            }  // container ingress-model
    
            container qosg-dscp-mark-enable {
              presence
                "Indicates a qosg-dscp-mark-enable node is configured.";
              description
                "Enable both 'set qos-group' and 'set dscp/precedence' actions in the same ingress QoS policy";
              leaf first-dscp-precedence-value {
                type uint32 {
                  range "0..63";
                }
                mandatory true;
                description
                  "Enable both 'set qos-group' and 'set dscp/precedence' actions in the same ingress QoS policy";
              }
    
              leaf second-dscp-precedence-value {
                type uint32 {
                  range "0..63";
                }
                must
                  "../first-dscp-precedence-value";
                description
                  "Second DSCP/Precedence value";
              }
    
              leaf third-dscp-precedence-value {
                type uint32 {
                  range "0..63";
                }
                must
                  "../second-dscp-precedence-value";
                must
                  "../second-dscp-precedence-value";
                description
                  "Third DSCP/Precedence value";
              }
    
              leaf fourth-dscp-precedence-value {
                type uint32 {
                  range "0..63";
                }
                must
                  "../third-dscp-precedence-value";
                must
                  "../third-dscp-precedence-value";
                description
                  "Fourth DSCP/Precedence value";
              }
    
              leaf fifth-dscp-precedence-value {
                type uint32 {
                  range "0..63";
                }
                must
                  "../fourth-dscp-precedence-value";
                must
                  "../fourth-dscp-precedence-value";
                description
                  "Fifth DSCP/Precedence value";
              }
    
              leaf sixth-dscp-precedence-value {
                type uint32 {
                  range "0..63";
                }
                must
                  "../fifth-dscp-precedence-value";
                must
                  "../fifth-dscp-precedence-value";
                description
                  "Sixth DSCP/Precedence value";
              }
    
              leaf seventh-dscp-precedence-value {
                type uint32 {
                  range "0..63";
                }
                must
                  "../sixth-dscp-precedence-value";
                must
                  "../sixth-dscp-precedence-value";
                description
                  "Seventh DSCP/Precedence value";
              }
    
              leaf eighth-dscp-precedence-value {
                type uint32 {
                  range "0..63";
                }
                must
                  "../seventh-dscp-precedence-value";
                must
                  "../seventh-dscp-precedence-value";
                description
                  "Eighth DSCP/Precedence value";
              }
            }  // container qosg-dscp-mark-enable
    
            container hqos-enable {
              presence
                "Indicates a hqos-enable node is configured.";
              description
                "Enable Hierarchical QoS";
            }  // container hqos-enable
    
            container ecn-marking-stats {
              presence
                "Indicates a ecn-marking-stats node is configured.";
              description
                "Enable ECN marking stats mode";
            }  // container ecn-marking-stats
    
            container shared-policer-per-class-stats {
              presence
                "Indicates a shared-policer-per-class-stats node is configured.";
              description
                "Enable shared policer (per class stats) mode";
            }  // container shared-policer-per-class-stats
    
            container wred-stats-enable {
              presence
                "Indicates a wred-stats-enable node is configured.";
              description
                "Enable Wred egress stats";
            }  // container wred-stats-enable
    
            container ipv6 {
              description
                "Configure ipv6 protocol";
              container short {
                presence
                  "Indicates a short node is configured.";
                description
                  "Configure ipv6 source short address tcam lookup";
              }  // container short
    
              container short-l2qos-enable {
                presence
                  "Indicates a short-l2qos-enable node is configured.";
                description
                  "Enable l2qos feature which requires to reduce ipv6 dest mask to 96 bits";
              }  // container short-l2qos-enable
    
              container short-etm {
                presence
                  "Indicates a short-etm node is configured.";
                description
                  "Enable TC matching feature in ETM which requires reduction of IPv6 dest mask to 96 bits";
              }  // container short-etm
            }  // container ipv6
    
            container conform-aware-policer {
              presence
                "Indicates a conform-aware-policer node is configured.";
              description
                "Configure Conform Aware Policer mode";
            }  // container conform-aware-policer
          }  // container profile-qos
    
          leaf profile-bundle-scale {
            type enumeration {
              enum "256" {
                value 256;
                description
                  "Max 256 trunks, Max 64 members";
              }
              enum "512" {
                value 512;
                description
                  "Max 512 trunks, Max 32 members";
              }
              enum "1024" {
                value 1024;
                description
                  "Max 1024 trunks, Max 16 members";
              }
            }
            description
              "Max number of bundles supported";
          }
    
          container profile-npu {
            description
              "Configure operating profiles for NPUs";
            container native-mode-enable {
              presence
                "Indicates a native-mode-enable node is configured.";
              description
                "Enable NPUs to operate in native mode";
            }  // container native-mode-enable
          }  // container profile-npu
    
          container profile-mdb {
            description
              "Different MDB profiles supported";
            container l3max {
              must
                "not(../l3max-se or ../l2max
               or ../l2max-se or ../balanced)";
              presence
                "Indicates a l3max node is configured.";
              description
                "l3max profile for router containing non-TCAM cards";
            }  // container l3max
    
            container l3max-se {
              must
                "not(../l3max or ../l2max
               or ../l2max-se or ../balanced)";
              presence
                "Indicates a l3max-se node is configured.";
              description
                "l3max-se profile for router containing only TCAM cards";
            }  // container l3max-se
    
            container l2max {
              must
                "not(../l3max or ../l3max-se
               or ../l2max-se or ../balanced)";
              presence
                "Indicates a l2max node is configured.";
              description
                "l2max profile for router containing non-TCAM cards";
            }  // container l2max
    
            container l2max-se {
              must
                "not(../l3max or ../l3max-se
               or ../l2max or ../balanced)";
              presence
                "Indicates a l2max-se node is configured.";
              description
                "l2max-se profile for router containing only TCAM cards";
            }  // container l2max-se
    
            container balanced {
              must
                "not(../l3max or ../l3max-se
               or ../l2max or ../l2max-se)";
              presence
                "Indicates a balanced node is configured.";
              description
                "balanced profile for router containing non-TCAM cards";
            }  // container balanced
          }  // container profile-mdb
    
          container profile-netflow {
            description
              "Configure Netflow profile.";
            container ipfix315-enable {
              presence
                "Indicates a ipfix315-enable node is configured.";
              description "IPFIX 315 enable ";
            }  // container ipfix315-enable
    
            container ipfix315-enable-locations {
              description
                "Location of NETFLOW config";
              list location {
                key "location-name location-name2";
                description
                  "Location of NETFLOW config";
                leaf location-name {
                  type xr:Node-id;
                  description
                    "Location of NETFLOW config";
                }
    
                leaf location-name2 {
                  type xr:Node-id;
                  description
                    "Location of NETFLOW config";
                }
              }  // list location
            }  // container ipfix315-enable-locations
    
            container sflow-enable {
              presence
                "Indicates a sflow-enable node is configured.";
              description "SFLOW enable ";
            }  // container sflow-enable
    
            container sflow-enable-locations {
              description
                "Location of NETFLOW config";
              list location {
                key "location-name location-name2";
                description
                  "Location of NETFLOW config";
                leaf location-name {
                  type xr:Node-id;
                  description
                    "Location of NETFLOW config";
                }
    
                leaf location-name2 {
                  type xr:Node-id;
                  description
                    "Location of NETFLOW config";
                }
              }  // list location
            }  // container sflow-enable-locations
    
            container fpc-enable {
              presence
                "Indicates a fpc-enable node is configured.";
              description
                "Netflow full packet capture enable ";
            }  // container fpc-enable
    
            container fpc-enable-locations {
              description
                "Location of NETFLOW config";
              list location {
                key "location-name location-name2";
                description
                  "Location of NETFLOW config";
                leaf location-name {
                  type xr:Node-id;
                  description
                    "Location of NETFLOW config";
                }
    
                leaf location-name2 {
                  type xr:Node-id;
                  description
                    "Location of NETFLOW config";
                }
              }  // list location
            }  // container fpc-enable-locations
          }  // container profile-netflow
    
          container profile-stats {
            description
              "Configure stats profile.";
            container acl-permit {
              must
                "not(../qos-enhanced or ../ingress-sr or
                   ../enh-sr-policy or ../ingress-sr-mspw or
                   ../j2-dynamic-stats or ../tx-scale-enhanced)";
              presence
                "Indicates a acl-permit node is configured.";
              description
                "Enable ACL permit stats.";
            }  // container acl-permit
    
            container qos-enhanced {
              must
                "not(../acl-permit or ../ingress-sr or
                   ../enh-sr-policy or ../ingress-sr-mspw or
                   ../j2-dynamic-stats or ../tx-scale-enhanced)";
              presence
                "Indicates a qos-enhanced node is configured.";
              description
                "Enable enhanced QoS stats.";
            }  // container qos-enhanced
    
            container ingress-sr {
              must
                "not(../acl-permit or ../qos-enhanced or
                   ../enh-sr-policy or ../ingress-sr-mspw or
                   ../j2-dynamic-stats or ../tx-scale-enhanced)";
              presence
                "Indicates a ingress-sr node is configured.";
              description
                "Enable ingress SR stats profile counter.";
            }  // container ingress-sr
    
            container enh-sr-policy {
              must
                "not(../acl-permit or ../qos-enhanced or
                   ../ingress-sr or ../ingress-sr-mspw or
                   ../j2-dynamic-stats or ../tx-scale-enhanced)";
              presence
                "Indicates a enh-sr-policy node is configured.";
              description
                "Enable Enhanced_SR_Policy_Scale stats profile counter.";
            }  // container enh-sr-policy
    
            container ingress-sr-mspw {
              must
                "not(../acl-permit or ../qos-enhanced or
                   ../ingress-sr or ../enh-sr-policy or
                   ../j2-dynamic-stats or ../tx-scale-enhanced)";
              presence
                "Indicates a ingress-sr-mspw node is configured.";
              description
                "Enable ingress SR & MSPW stats profile counter.";
            }  // container ingress-sr-mspw
    
            container j2-dynamic-stats {
              must
                "not(../acl-permit or ../qos-enhanced or
                   ../ingress-sr or ../enh-sr-policy or
                   ../ingress-sr-mspw or ../tx-scale-enhanced)";
              presence
                "Indicates a j2-dynamic-stats node is configured.";
              description
                "Enable J2 Dynamic Stats Infra.";
            }  // container j2-dynamic-stats
    
            container tx-scale-enhanced {
              must
                "not(../qos-enhanced or ../ingress-sr or
                   ../enh-sr-policy or ../ingress-sr-mspw or
                   ../j2-dynamic-stats or ../acl-permit)";
              presence
                "Indicates a tx-scale-enhanced node is configured.";
              description
                "Enable enhanced TX stats scale (Non L2 stats).";
              container acl-permit {
                must
                  "not(../qos-enhanced or ../ingress-sr)";
                presence
                  "Indicates a acl-permit node is configured.";
                description
                  "Enable ACL permit stats.";
              }  // container acl-permit
    
              container qos-enhanced {
                must
                  "not(../acl-permit or ../ingress-sr)";
                presence
                  "Indicates a qos-enhanced node is configured.";
                description
                  "Enable enhanced QoS stats.";
              }  // container qos-enhanced
    
              container ingress-sr {
                must
                  "not(../qos-enhanced or ../acl-permit)";
                presence
                  "Indicates a ingress-sr node is configured.";
                description
                  "Enable ingress SR stats profile counter.";
              }  // container ingress-sr
            }  // container tx-scale-enhanced
          }  // container profile-stats
    
          container profile-flowspec {
            description
              "Configure support for v6 flowspec";
            container v6-enable {
              presence
                "Indicates a v6-enable node is configured.";
              description
                "Configure support for v6 flowspec";
            }  // container v6-enable
    
            container v6-enable-locations {
              description
                "Location of flowspec config";
              list location {
                key "location-name location-name2";
                description
                  "Location of flowspec config";
                leaf location-name {
                  type xr:Node-id;
                  description
                    "Location of flowspec config";
                }
    
                leaf location-name2 {
                  type xr:Node-id;
                  description
                    "Location of flowspec config";
                }
              }  // list location
            }  // container v6-enable-locations
          }  // container profile-flowspec
    
          container profile-segment-routing {
            description
              "Segment routing options";
            container srv6 {
              presence
                "Indicates a srv6 node is configured.";
              description
                "Configure support for SRv6 and its paramaters";
              container mode {
                description "Mode of operation";
                container base {
                  must
                    "not(../micro-segment/format/f3216 or
                       ../base-and-micro-segment-f3216)";
                  presence
                    "Indicates a base node is configured.";
                  description
                    "Base SRv6 (Format-1) support only";
                  container encapsulation {
                    description
                      "Configure encapsulation parameters";
                    container traffic-class {
                      description
                        "Control traffic-class field on IPv6 header";
                      container propagate {
                        must
                          "not(../traffic-class-value)";
                        presence
                          "Indicates a propagate node is configured.";
                        description
                          "Propagate traffic-class from incoming packet/frame";
                      }  // container propagate
    
                      leaf traffic-class-value {
                        type uint32 {
                          range "0..255";
                        }
                        must "not(../propagate)";
                        description
                          "Traffic-class value (specified as 2 hexadecimal nibbles)";
                      }
                    }  // container traffic-class
                  }  // container encapsulation
                }  // container base
    
                container base-and-micro-segment-f3216 {
                  must
                    "not(../micro-segment/format/f3216 or ../base)";
                  presence
                    "Indicates a base-and-micro-segment-f3216 node is configured.";
                  description
                    "Base (F1) and F3216 co-existence support";
                  container encapsulation {
                    description
                      "Configure encapsulation parameters";
                    container traffic-class {
                      description
                        "Control traffic-class field on IPv6 header";
                      container propagate {
                        must
                          "not(../traffic-class-value)";
                        presence
                          "Indicates a propagate node is configured.";
                        description
                          "Propagate traffic-class from incoming packet/frame";
                      }  // container propagate
    
                      leaf traffic-class-value {
                        type uint32 {
                          range "0..255";
                        }
                        must "not(../propagate)";
                        description
                          "Traffic-class value (specified as 2 hexadecimal nibbles)";
                      }
                    }  // container traffic-class
                  }  // container encapsulation
                }  // container base-and-micro-segment-f3216
    
                container micro-segment {
                  description
                    "Micro-segment support only";
                  container format {
                    description
                      "Specify carrier format";
                    container f3216 {
                      must
                        "not(../../../base or ../../../base-and-micro-segment-f3216)";
                      presence
                        "Indicates a f3216 node is configured.";
                      description
                        "32-bit block and 16-bit IDs";
                      container encapsulation {
                        description
                          "Configure encapsulation parameters";
                        container traffic-class {
                          description
                            "Control traffic-class field on IPv6 header";
                          container propagate {
                            must
                              "not(../traffic-class-value)";
                            presence
                              "Indicates a propagate node is configured.";
                            description
                              "Propagate traffic-class from incoming packet/frame";
                          }  // container propagate
    
                          leaf traffic-class-value {
                            type uint32 {
                              range "0..255";
                            }
                            must
                              "not(../propagate)";
                            description
                              "Traffic-class value (specified as 2 hexadecimal nibbles)";
                          }
                        }  // container traffic-class
                      }  // container encapsulation
                    }  // container f3216
                  }  // container format
                }  // container micro-segment
              }  // container mode
            }  // container srv6
          }  // container profile-segment-routing
    
          container profile-offload {
            description
              "Offload profile in NCS5501-SE";
            container one {
              must "not(../two or ../three)";
              presence
                "Indicates a one node is configured.";
              description "BFDv6 and Bsync";
            }  // container one
    
            container two {
              must "not(../one or ../three)";
              presence
                "Indicates a two node is configured.";
              description
                "BFDv6 and Route download";
            }  // container two
    
            container three {
              must "not(../one or ../two)";
              presence
                "Indicates a three node is configured.";
              description
                "Route download and Bsync";
            }  // container three
          }  // container profile-offload
    
          container profile-sr-policy {
            description "SR Policy options";
            container v6-null-label-autopush {
              presence
                "Indicates a v6-null-label-autopush node is configured.";
              description
                "Configure IPV6 NULL label autopush for SR policy";
            }  // container v6-null-label-autopush
          }  // container profile-sr-policy
    
          leaf profile-bw-threshold {
            type xr:Cisco-ios-xr-string {
              length "1..3";
              pattern "(100|[1-9]?0|0)";
            }
            description
              "Asic Fabric Link Bandwidth Availability Threshold";
          }
    
          container profile-oam {
            description "Configure oam profile";
            container sat-enable {
              presence
                "Indicates a sat-enable node is configured.";
              description "enable SAT feature";
            }  // container sat-enable
          }  // container profile-oam
    
          container profile-priority-flow-control {
            description
              "Configure priority-flow-control parameters";
            container traffic-classes {
              description
                "configure traffic-class";
              list traffic-class {
                key "traffic-class-id";
                description
                  "configure traffic-class";
                leaf traffic-class-id {
                  type uint32 {
                    range "0..7";
                  }
                  description
                    "configure traffic-class";
                }
    
                leaf pause-threshold {
                  type uint32 {
                    range "1..4294967295";
                  }
                  mandatory true;
                  description
                    "configure pause-threshold";
                }
    
                leaf resume-threshold {
                  type uint32 {
                    range "1..4294967295";
                  }
                  mandatory true;
                  description
                    "configure resume-threshold";
                }
    
                leaf headroom {
                  type uint32 {
                    range "1..4294967295";
                  }
                  mandatory true;
                  description
                    "configure headroom";
                }
              }  // list traffic-class
            }  // container traffic-classes
    
            container traffic-class-locations {
              description
                "Location to apply PFC configuration";
              list traffic-class-location {
                key "location-name location-name2 traffic-class-id";
                description
                  "Location to apply PFC configuration";
                leaf location-name {
                  type xr:Node-id;
                  description
                    "Location to apply PFC configuration";
                }
    
                leaf location-name2 {
                  type xr:Node-id;
                  description
                    "Location to apply PFC configuration";
                }
    
                leaf traffic-class-id {
                  type uint32 {
                    range "0..7";
                  }
                  description
                    "configure traffic-class";
                }
    
                leaf pause-threshold {
                  type uint32 {
                    range "1..4294967295";
                  }
                  mandatory true;
                  description
                    "configure pause-threshold";
                }
    
                leaf resume-threshold {
                  type uint32 {
                    range "1..4294967295";
                  }
                  mandatory true;
                  description
                    "configure resume-threshold";
                }
    
                leaf headroom {
                  type uint32 {
                    range "1..4294967295";
                  }
                  mandatory true;
                  description
                    "configure headroom";
                }
              }  // list traffic-class-location
            }  // container traffic-class-locations
          }  // container profile-priority-flow-control
    
          container profile-routing {
            description
              "Configure the node's routing profile";
            container role {
              description
                "Configure the node's routing role";
              container core {
                presence
                  "Indicates a core node is configured.";
                description
                  "Configure the routing role as a core router";
              }  // container core
            }  // container role
          }  // container profile-routing
    
          container bundle-pindown-bum-optimization {
            description
              "To configure bundle-pindown-bum-optimization";
            container enable {
              presence
                "Indicates a enable node is configured.";
              description
                "Enable bundle pindown bum-optimization mode";
            }  // container enable
          }  // container bundle-pindown-bum-optimization
    
          container storm-control-combine-policer-bw {
            description
              "To configure combine policer for storm control of BUM Traffic";
            container enable {
              presence
                "Indicates a enable node is configured.";
              description
                "Enable storm-control-combine-policer-bw mode";
            }  // container enable
          }  // container storm-control-combine-policer-bw
    
          container tcam {
            description
              "Configure profile for TCAM LC cards";
            container fib {
              description
                "Forwarding table to configure";
              container ipv4 {
                description
                  "Configure ipv4 protocol";
                container scaledisable {
                  presence
                    "Indicates a scaledisable node is configured.";
                  description
                    "Configure scale mode for TCAM card";
                }  // container scaledisable
              }  // container ipv4
            }  // container fib
          }  // container tcam
    
          container fib {
            description
              "Forwarding table to configure";
            container ipv4 {
              description
                "Configure ipv4 protocol";
              container scale {
                description
                  "Configure scale mode for no-TCAM card";
                container host-optimized-disable {
                  must
                    "not(../internet-optimized)";
                  presence
                    "Indicates a host-optimized-disable node is configured.";
                  description
                    "Configure Host optimization by default";
                }  // container host-optimized-disable
    
                container internet-optimized {
                  must
                    "not(../host-optimized-disable)";
                  presence
                    "Indicates a internet-optimized node is configured.";
                  description
                    "Configure Internet optimized (DEPRECATED)";
                }  // container internet-optimized
              }  // container scale
            }  // container ipv4
    
            container ipv6 {
              description
                "Configure ipv6 protocol";
              container scale {
                description
                  "Configure scale mode for no-TCAM card";
                container internet-optimized-disable {
                  presence
                    "Indicates a internet-optimized-disable node is configured.";
                  description
                    "Configure by default Intetrnet optimized";
                }  // container internet-optimized-disable
    
                leaf custom-lem {
                  type uint32 {
                    range "40..64";
                  }
                  description
                    "Customise the prefix distribution to LEM";
                }
              }  // container scale
            }  // container ipv6
    
            container mpls {
              description
                "Configure mpls protocol";
              container ldp {
                presence
                  "Indicates a ldp node is configured.";
                description
                  "Configure signalling protocol for MPLS";
                container lsr-optimized {
                  presence
                    "Indicates a lsr-optimized node is configured.";
                  description
                    "Configure optimization for LSR role";
                }  // container lsr-optimized
              }  // container ldp
    
              container label {
                description
                  "Configure MPLS label convergence optimization for LDP/SR labels";
                container lsr-optimized {
                  presence
                    "Indicates a lsr-optimized node is configured.";
                  description
                    "Configure LSR optimization";
                }  // container lsr-optimized
    
                container tcam-optimized {
                  presence
                    "Indicates a tcam-optimized node is configured.";
                  description
                    "Configure push label in tcam optimization";
                }  // container tcam-optimized
              }  // container label
            }  // container mpls
    
            container recycle {
              description "Recycle traffic";
              container service-over-rsvpte {
                presence
                  "Indicates a service-over-rsvpte node is configured.";
                description
                  "Recycle traffic for BGP services going over RSVP TE";
              }  // container service-over-rsvpte
            }  // container recycle
          }  // container fib
    
          container oversubscription {
            description
              "Configure oversubscription";
            container prioritize {
              description
                "Setting prioritization of CoS values";
              list interface {
                must "cos/cos-value or untagged";
                key "interface-name";
                leaf interface-name {
                  type xr:Interface-name;
                  description "Interface name";
                }
    
                container cos {
                  description
                    "CoS values between 0-5";
                  list cos-value {
                    key "value";
                    description
                      "CoS values between 0-5";
                    leaf value {
                      type uint32 {
                        range "0..5";
                      }
                      description
                        "CoS values between 0-5";
                    }
                  }  // list cos-value
                }  // container cos
    
                container untagged {
                  presence
                    "Indicates a untagged node is configured.";
                  description
                    "Prioritize untagged packets";
                }  // container untagged
              }  // list interface
            }  // container prioritize
          }  // container oversubscription
    
          container vrrpscale {
            description "to scale VRRP sessions";
            container enable {
              presence
                "Indicates a enable node is configured.";
              description "enable VRRP scaling";
            }  // container enable
          }  // container vrrpscale
    
          container fib-bgp-pic {
            description
              "Prefix Independent Convergnce";
            container multipath-core {
              description
                "Multipath pic core in forwarding chain";
              container enable {
                presence
                  "Indicates a enable node is configured.";
                description
                  "Enable pic core in forwarding chain";
              }  // container enable
            }  // container multipath-core
          }  // container fib-bgp-pic
    
          container fib-dlb {
            description
              "Destination Based Load balancing";
            container level-1 {
              description
                "DLB at level 1 of forwarding chain";
              container enable {
                presence
                  "Indicates a enable node is configured.";
                description
                  "DLB at level 1 of forwarding chain";
              }  // container enable
            }  // container level-1
          }  // container fib-dlb
        }  // container hw-module
      }  // module Cisco-IOS-XR-um-hw-module-profile-cfg
    

© 2023 YumaWorks, Inc. All rights reserved.