Cisco-IOS-XR-infra-xtc-agent-cfg

This module contains a collection of YANG definitions for Cisco IOS-XR infra-xtc-agent package configuration. This YANG module ...

  • Version: 2021-02-18

    Cisco-IOS-XR-infra-xtc-agent-cfg@2021-02-18


    
      module Cisco-IOS-XR-infra-xtc-agent-cfg {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XR-infra-xtc-agent-cfg";
    
        prefix infra-xtc-agent-cfg;
    
        import ietf-inet-types {
          prefix inet;
        }
        import Cisco-IOS-XR-types {
          prefix xr;
        }
        import cisco-semver {
          prefix semver;
        }
        import Cisco-IOS-XR-segment-routing-ms-cfg {
          prefix a1;
        }
    
        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 infra-xtc-agent package configuration.
         
         This YANG module augments the
           Cisco-IOS-XR-segment-routing-ms-cfg
         module with configuration data.
         
         Copyright (c) 2013-2021 by Cisco Systems, Inc.
         All rights reserved.";
    
        revision "2021-02-18" {
          description
            "Remove deprecated liveness-detection and reverse-path cfg schema from performance-measurement delay measurement.
           2020-12-13
             Added performance-measurement liveness-detection config schema.
           2020-11-04
             Adding configurations for new features path invalidation drop protected and unprotected path Added liveness-detection container under delay measurement container. Added dm-reverse-path under delay measurement container. Added profile-name leaf under delay measurement container. Added separate-next-hop leaf under traffic-engineering container. Increased the maximum value of PCC delegation timeout. Added invalidation-drop leaf under steering container. Renamed type XTCSteeringApplicationType to XTCAgentPolicySteeringApplicationType.
           2020-10-27
             Adding support for ipv6 link local for srv6
           2020-09-18
             Effective metric config CLI
           2020-08-07
             Remodel related to steering submode IosSetYangSchemaRev Cisco-IOS-XR-infra-xtc-agent-cfg";
        }
    
        revision "2020-01-29" {
          description
            "Implement new performance-measurement logging commands. Added per-flow configuration under policy and on-demand color. Adding leaf pdp-count to support Per-Flow Policy. Remove unnecessary config leaves from the steering container.
           2019-10-11
           Introduce a new HTTP API bindpoint for sibling PCEs. Adding enable leaf to profile list.
           2019-09-25
           Adding enum ipv4-adjacency-address.";
        }
    
        revision "2019-09-05" {
          description
            "Source of SRTE policies are not getting selected properly in case of Multiple IGP Instance";
        }
    
        revision "2019-04-05" {
          description
            "Establish semantic version baseline.";
        }
    
        revision "2019-02-01" {
          description "Added BFD configuration.";
        }
    
        revision "2018-11-28" {
          description
            "Added new SR-TE timers configuration.";
        }
    
        revision "2018-07-25" {
          description
            "Removed incorrect mandatory specifications.";
        }
    
        revision "2018-07-07" {
          description
            "Modified the allowed range for policy path weight.";
        }
    
        revision "2018-07-03" {
          description
            "Added TE-latency algorithm configuration.";
        }
    
        revision "2018-01-31" {
          description
            "Added BW configuration option for On Demand Color policy.";
        }
    
        revision "2017-12-21" {
          description
            "Added BW configuration option for SR policy.";
        }
    
        revision "2017-09-30" {
          description
            "Ensure propagation of MDA mandatory state to YANG model.";
        }
    
        revision "2017-09-11" {
          description "Initial version";
        }
    
        revision "2015-11-09" {
          description "IOS XR 6.0 revision.";
        }
    
        semver:module-version "4.0.0";
        semver:module-version "3.0.0";
        semver:module-version "2.0.0";
        semver:module-version "1.0.0";
    
        typedef Xtc-bound-scope {
          type enumeration {
            enum "bound-scope-none" {
              value 0;
              description "BOUND SCOPE NONE";
            }
            enum "bound-scope-link" {
              value 1;
              description
                "bounds on per link metric";
            }
            enum "bound-scope-cumulative" {
              value 2;
              description
                "bounds on path metric";
            }
          }
          description "Xtc bound scope";
        }
    
        typedef Xtc-metric-value {
          type enumeration {
            enum "relative" {
              value 1;
              description
                "Relative metric value";
            }
            enum "absolute" {
              value 2;
              description
                "Absolute metric value";
            }
          }
          description "Xtc metric value";
        }
    
        typedef Xtc-pm-invalidation-action {
          type enumeration {
            enum "invalid-ation-action-none" {
              value 0;
              description
                "PM liveness session state does not affect LSP
               state, use for diagnostic purposes";
            }
            enum "invalid-ation-action-down" {
              value 1;
              description
                "LSP can only be operationally up if the PM
               liveness session is up";
            }
          }
          description
            "Xtc pm invalidation action";
        }
    
        typedef Effective-metric {
          type enumeration {
            enum "default" {
              value 0;
              description
                "Default metric type (optimization metric type)";
            }
            enum "igp" {
              value 1;
              description "IGP metric type";
            }
            enum "te" {
              value 2;
              description "TE metric type";
            }
            enum "hopcount" {
              value 3;
              description "HOPCOUNT metric type";
            }
            enum "latency" {
              value 12;
              description "LATENCY metric type";
            }
          }
          description "Effective metric";
        }
    
        typedef Xtc-bfd-invalidation-action {
          type enumeration {
            enum "invalid-ation-action-none" {
              value 0;
              description
                "BFD session state does not affect LSP state,
               use for diagnostic purposes";
            }
            enum "invalid-ation-action-down" {
              value 1;
              description
                "LSP can only be operationally up if the BFD
               session is up";
            }
          }
          description
            "Xtc bfd invalidation action";
        }
    
        typedef Xtc-binding-sidsrv6 {
          type enumeration {
            enum "srv6-dynamic" {
              value 1;
              description
                "Allocate dynamic SRv6 BSID";
            }
          }
          description "Xtc binding sidsrv6";
        }
    
        typedef Xtc-affinity-rule {
          type enumeration {
            enum "affinity-include-all" {
              value 0;
              description
                "Include-all affinity rule";
            }
            enum "affinity-exclude-any" {
              value 1;
              description
                "Exclude-any affinity rule";
            }
            enum "affinity-include-any" {
              value 2;
              description
                "Include-any affinity rule";
            }
          }
          description "Xtc affinity rule";
        }
    
        typedef Xtc-metric {
          type enumeration {
            enum "igp" {
              value 1;
              description "IGP metric type";
            }
            enum "te" {
              value 2;
              description "TE metric type";
            }
            enum "hopcount" {
              value 3;
              description "Hopcount metric type";
            }
            enum "latency" {
              value 12;
              description "Latency metric type";
            }
          }
          description "Xtc metric";
        }
    
        typedef Xtc-behavior-srv6 {
          type enumeration {
            enum "ub6-insert-reduced" {
              value 1;
              description
                "SRv6 USID Insert Reduced Behavior";
            }
          }
          description "Xtc behavior srv6";
        }
    
        typedef Xtc-end-point {
          type enumeration {
            enum "end-point-type-ipv4" {
              value 1;
              description
                "IPv4 endpoint address";
            }
            enum "end-point-type-ipv6" {
              value 2;
              description
                "IPv6 endpoint address";
            }
          }
          description "Xtc end point";
        }
    
        typedef Xtc-binding-sidexplicit-rule {
          type enumeration {
            enum "fallback-dynamic" {
              value 1;
              description
                "Fallback dynamic option";
            }
            enum "enforce-srlb" {
              value 2;
              description
                "SRLB enforcement option";
            }
          }
          description
            "Xtc binding sidexplicit rule";
        }
    
        typedef Xtc-binding-sid-dynamic-rule {
          type enumeration {
            enum "disable" {
              value 1;
              description
                "Disable dynamic binding SID allocation";
            }
          }
          description
            "Xtc binding sid dynamic rule";
        }
    
        typedef Xtc-agent-policy-steering-application {
          type enumeration {
            enum "bgp" {
              value 1;
              description
                "BGP as steering client";
            }
            enum "isis" {
              value 2;
              description
                "ISIS as steering client";
            }
            enum "ospf" {
              value 3;
              description
                "OSPF as steering client";
            }
          }
          description
            "Xtc agent policy steering application";
        }
    
        typedef Xtc-cpath {
          type enumeration {
            enum "candidate-path-type-all" {
              value 0;
              description
                "All candidate-path type";
            }
            enum "candidate-path-type-local" {
              value 1;
              description
                "Local candidate-path type";
            }
            enum "candidate-path-type-bgp-odn" {
              value 2;
              description
                "BGP-ODN candidate-path type";
            }
            enum "candidate-path-type-bgp-srte" {
              value 3;
              description
                "BGP-SRTE candidate-path type";
            }
            enum "candidate-path-type-pcep" {
              value 4;
              description
                "PCEP candidate-path type";
            }
          }
          description "Xtc cpath";
        }
    
        typedef Xtc-steering-application {
          type enumeration {
            enum "bgp" {
              value 1;
              description
                "BGP as steering client";
            }
            enum "isis" {
              value 2;
              description
                "ISIS as steering client";
            }
            enum "ospf" {
              value 3;
              description
                "OSPF as steering client";
            }
          }
          description "Xtc steering application";
        }
    
        typedef Xtc-adj-sid-protection {
          type enumeration {
            enum "protected-preferred" {
              value 0;
              description
                "Protected adj SID preferred";
            }
            enum "unprotected-only" {
              value 1;
              description
                "Unprotected adj SID only";
            }
            enum "protected-only" {
              value 2;
              description
                "Protected adj SID only";
            }
            enum "unprotected-preferred" {
              value 3;
              description
                "Unprotected adj SID preferred";
            }
          }
          description "Xtc adj sid protection";
        }
    
        typedef Xtc-path {
          type enumeration {
            enum "explicit" {
              value 1;
              description "Explicit";
            }
            enum "dynamic" {
              value 2;
              description "Dynamic";
            }
          }
          description "Xtc path";
        }
    
        typedef Xtc-address-family {
          type enumeration {
            enum "af-type-all" {
              value 0;
              description "All address families";
            }
            enum "af-type-ipv4" {
              value 1;
              description "IPv4 address family";
            }
            enum "af-type-ipv6" {
              value 2;
              description "IPv6 address family";
            }
          }
          description "Xtc address family";
        }
    
        typedef Xtc-segment {
          type enumeration {
            enum "ipv4-address" {
              value 1;
              description "IPv4 Address";
            }
            enum "mpls-label" {
              value 3;
              description "MPLS Label";
            }
            enum "ipv4-adjacency-address" {
              value 4;
              description
                "IPv4 Adjacency Address";
            }
          }
          description "Xtc segment";
        }
    
        typedef Xtc-binding-sid {
          type enumeration {
            enum "mpls-label-specified" {
              value 1;
              description
                "Use specified BSID MPLS label";
            }
            enum "mpls-label-any" {
              value 2;
              description
                "Allocate BSID MPLS label";
            }
          }
          description "Xtc binding sid";
        }
    
        typedef Xtc-disjointness {
          type enumeration {
            enum "link" {
              value 1;
              description "Link Disjointness";
            }
            enum "node" {
              value 2;
              description "Node Disjointness";
            }
            enum "srlg" {
              value 3;
              description "SRLG Disjointness";
            }
            enum "srlg-node" {
              value 4;
              description
                "SRLG Node Disjointness";
            }
          }
          description "Xtc disjointness";
        }
    
        typedef Xtc-auto-route-metric {
          type enumeration {
            enum "relative" {
              value 1;
              description
                "Autoroute relative metric type";
            }
            enum "constant" {
              value 3;
              description
                "Autoroute constant metric type";
            }
          }
          description "Xtc auto route metric";
        }
    
        grouping EFFECTIVE-METRIC {
          description
            "Common node of policy, preference,
           on-demand-color";
          container effective-metric {
            presence
              "CLI submode compatibility.";
            description
              "Effective metric configuration submode";
            container metric-value-type {
              description
                "Metric value, advertised to other protocols";
              leaf metric-value {
                type uint32 {
                  range "0..4294967295";
                }
                description
                  "Integer value of metric";
              }
    
              leaf metric-type {
                type Effective-metric;
                description
                  "Metric type, advertised to other protocols";
              }
            }  // container metric-value-type
    
            leaf enable {
              type empty;
              description "True only";
            }
          }  // container effective-metric
        }  // grouping EFFECTIVE-METRIC
    
        grouping PM-PROFILE-NAME {
          description
            "Common node of liveness-profile, delay-profile";
          leaf pm-profile-name {
            type xr:Cisco-ios-xr-string {
              length "1..256";
            }
            description
              "SR Policy delay profile name";
          }
        }  // grouping PM-PROFILE-NAME
    
        grouping SOURCE-ADDRESS {
          description
            "Common node of candidate-path-type, policy,
           on-demand-color";
          container source-address {
            presence
              "Indicates a source-address node is configured.";
            description
              "Source address of a candidate path. EndPointType
             , Source";
            leaf ip-address-type {
              type Xtc-end-point;
              mandatory true;
              description "IP address type";
            }
    
            leaf source-address {
              type inet:ip-address-no-zone;
              mandatory true;
              description "Source address";
            }
          }  // container source-address
        }  // grouping SOURCE-ADDRESS
    
        grouping PERFORMANCE-MEASUREMENT {
          description
            "Common node of policy, on-demand-color";
          container performance-measurement {
            presence
              "CLI submode compatibility.";
            description
              "Performance Measurement configuration submode";
            container delay-measurement {
              presence
                "CLI submode compatibility.";
              description
                "Delay-measurement configuration submode";
              container delay-measurement-logging {
                presence
                  "CLI submode compatibility.";
                description
                  "Syslog configuration options";
                leaf delay-exceeded {
                  type empty;
                  description
                    "Emit syslog when the delay exceeds the
                   threshold";
                }
              }  // container delay-measurement-logging
    
              container delay-profile {
                description
                  "SR Policy delay profile name";
                uses PM-PROFILE-NAME;
              }  // container delay-profile
            }  // container delay-measurement
    
            container pm-liveness-detection {
              presence
                "CLI submode compatibility.";
              description
                "Liveness detection configuration submode";
              container liveness-profile {
                description
                  "SR Policy liveness profile name";
                uses PM-PROFILE-NAME;
              }  // container liveness-profile
    
              container pm-liveness-detection-logging {
                presence
                  "CLI submode compatibility.";
                description
                  "Syslog configuration options";
                leaf pm-liveness-session-state-change {
                  type empty;
                  description
                    "Emit syslog when the state of the session
                   changes";
                }
              }  // container pm-liveness-detection-logging
    
              leaf pm-liveness-invalidation-action {
                type Xtc-pm-invalidation-action;
                description
                  "Action to be taken when PM liveness session is
                 invalidated";
              }
            }  // container pm-liveness-detection
    
            container pm-reverse-path {
              description
                "PM packets return to head-end using a label";
              leaf label {
                type uint32 {
                  range "16..1048575";
                }
                description
                  "DM packets return to head-end using a label";
              }
            }  // container pm-reverse-path
    
            leaf enable {
              type empty;
              description "True only";
            }
          }  // container performance-measurement
        }  // grouping PERFORMANCE-MEASUREMENT
    
        grouping METRIC-MARGIN {
          description
            "Common node of metric,
           on-demand-color-dyn-mpls-metric";
          container metric-margin {
            description "Metric Margin";
            leaf value-type {
              type Xtc-metric-value;
              description "Metric margin type";
            }
    
            leaf absolute-value {
              when "../value-type = 'absolute'" {
                description
                  "../ValueType = Absolute";
              }
              type uint32 {
                range "0..2147483647";
              }
              description
                "Absolute metric value";
            }
    
            leaf relative-value {
              when "../value-type = 'relative'" {
                description
                  "../ValueType = Relative";
              }
              type uint32 {
                range "0..2147483647";
              }
              description
                "Relative metric value";
            }
          }  // container metric-margin
        }  // grouping METRIC-MARGIN
    
        grouping BOUNDS {
          description
            "Common node of constraints,
           on-demand-color-dyn-mpls";
          container bounds {
            description
              "Bound related configuration";
            container bounds {
              description
                "SR path computation and verification metric
               bounds";
              list bound {
                key "scope-type metric-type";
                description
                  "SR path computation and verification metric
                 bound";
                leaf scope-type {
                  type Xtc-bound-scope;
                  description
                    "Scope of the bound";
                }
    
                leaf metric-type {
                  type Xtc-metric;
                  description
                    "Metric type to bound";
                }
    
                leaf bound-value {
                  type uint32 {
                    range "1..4294967295";
                  }
                  mandatory true;
                  description
                    "Metric Bound Value";
                }
              }  // list bound
            }  // container bounds
          }  // container bounds
        }  // grouping BOUNDS
    
        grouping PER-FLOW {
          description
            "Common node of preference, on-demand-color";
          container per-flow {
            presence
              "CLI submode compatibility.";
            description
              "Policy per-flow configuration";
            container forward-class-and-colors {
              description
                "Policy per-flow forward class table";
              list forward-class-and-color {
                key "forward-class";
                description
                  "Policy per-flow forward class entry and
                 colorForwardClass, Color";
                leaf forward-class {
                  type uint32 {
                    range "0..7";
                  }
                  description "ForwardClass";
                }
    
                leaf color {
                  type uint32 {
                    range "1..4294967295";
                  }
                  mandatory true;
                  description "Color";
                }
              }  // list forward-class-and-color
            }  // container forward-class-and-colors
    
            leaf default-forward-class {
              type uint32 {
                range "0..7";
              }
              description
                "Default forward class entry";
            }
    
            leaf enable {
              type empty;
              description "True only";
            }
          }  // container per-flow
        }  // grouping PER-FLOW
    
        grouping SRV6 {
          description
            "Common node of traffic-engineering, policy,
           on-demand-color";
          container srv6 {
            presence
              "CLI submode compatibility.";
            description "SRv6 options";
            container locator {
              description "SRv6 Locator options";
              leaf locator-name {
                type xr:Cisco-ios-xr-string {
                  length "1..64";
                }
                description "SRv6 locator name";
              }
    
              leaf behavior {
                type Xtc-behavior-srv6;
                description "SRv6 USID Behavior";
              }
    
              leaf binding-sid-type {
                type Xtc-binding-sidsrv6;
                description
                  "Binding Segment ID type";
              }
            }  // container locator
    
            leaf maximum-sid-depth {
              type uint32 {
                range "1..255";
              }
              description
                "SRv6 Maximum SID Depth Configuration";
            }
    
            leaf enable {
              type empty;
              description "True only";
            }
          }  // container srv6
        }  // grouping SRV6
    
        grouping PCE-GROUP {
          description
            "Common node of policy, preference,
           on-demand-color";
          leaf pce-group {
            type xr:Cisco-ios-xr-string {
              length "1..16";
            }
            description
              "Name of the PCE group - maximum 16 characters";
          }
        }  // grouping PCE-GROUP
    
        grouping AFFINITY-RULE-TABLE {
          description
            "Common node of constraints,
           on-demand-color-dyn-mpls";
          container affinity-rules {
            description
              "SR path computation and verification affinity
             rules";
            list affinity-rule {
              key "rule";
              description
                "SR path computation and verification affinity
               rule";
              leaf rule {
                type Xtc-affinity-rule;
                description "Affinity rule type";
              }
    
              list affinity-name {
                key "affinity-name";
                description "Affinity rule name";
                leaf affinity-name {
                  type xr:Cisco-ios-xr-string {
                    length "1..32";
                  }
                  description "Affinity name";
                }
              }  // list affinity-name
            }  // list affinity-rule
          }  // container affinity-rules
        }  // grouping AFFINITY-RULE-TABLE
    
        grouping BFD {
          description
            "Common node of policy, on-demand-color";
          container bfd {
            presence
              "CLI submode compatibility.";
            description
              "Bidirectional Forwarding Detection (BFD)";
            container reverse-path {
              presence
                "CLI submode compatibility.";
              description
                "Specify parameters about the reverse path back
               to the head-end";
              leaf binding-label {
                type uint32 {
                  range "16..1048575";
                }
                description
                  "Binding label of a policy/tunnel from
                 destination to head-end";
              }
            }  // container reverse-path
    
            container bfd-logging {
              presence
                "CLI submode compatibility.";
              description
                "Syslog configuration options";
              leaf session-state-change {
                type empty;
                description
                  "Emit syslog when the state of the session
                 changes";
              }
            }  // container bfd-logging
    
            leaf enable {
              type empty;
              description
                "Bidirectional Forwarding Detection (BFD)";
            }
    
            leaf multiplier {
              type uint32 {
                range "1..10";
              }
              description
                "Number of missed BFD packets to declare session
               down (default 3)";
            }
    
            leaf minimum-interval {
              type uint32 {
                range "50..30000";
              }
              units "millisecond";
              description
                "Hello interval in milliseconds (default 150)";
            }
    
            leaf disable {
              type empty;
              description
                "Do not create BFD sessions";
            }
    
            leaf invalidation-action {
              type Xtc-bfd-invalidation-action;
              description
                "Action to be taken when BFD session is
               invalidated";
            }
          }  // container bfd
        }  // grouping BFD
    
        grouping FORWARD-CLASS {
          description
            "Common node of auto-route, profile-auto-route";
          leaf forward-class {
            type uint32 {
              range "0..7";
            }
            description
              "Forward class associated with the policy";
          }
        }  // grouping FORWARD-CLASS
    
        grouping DISABLE {
          description
            "Common node of application, labeled-services";
          leaf disable {
            type empty;
            description
              "Disable all steering services";
          }
        }  // grouping DISABLE
    
        grouping XTC-AGENT-CFG-DISABLE {
          description
            "Common node of application,
           labeled-servicesCommon node of application,
           labeled-services";
          leaf disable {
            type empty;
            description
              "Disable all steering services";
          }
        }  // grouping XTC-AGENT-CFG-DISABLE
    
        grouping MAXIMUM-SID-DEPTH {
          description
            "Common node of traffic-engineering,
           on-demand-color";
          leaf maximum-sid-depth {
            type uint32 {
              range "1..255";
            }
            description
              "Maximum SID Depth Configuration";
          }
        }  // grouping MAXIMUM-SID-DEPTH
    
        augment /a1:sr {
          description
            "This augment extends the configuration data of
           'Cisco-IOS-XR-segment-routing-ms-cfg'";
          container traffic-engineering {
            presence
              "CLI submode compatibility.";
            description
              "Traffic Engineering configuration data";
            container out-of-resources {
              description
                "SR-TE out-of-resources handling configuration";
              leaf maximum-paths-batch {
                type uint32 {
                  range "0..4294967295";
                }
                default "0";
                description
                  "Maximum total number of LSP path operations in
                 a single batch";
              }
    
              leaf maximum-paths {
                type uint32 {
                  range "0..4294967295";
                }
                default "0";
                description
                  "Maximum total number of LSP paths that can be
                 created";
              }
            }  // container out-of-resources
    
            container on-demand-colors {
              description
                "On-demand color configuration";
              list on-demand-color {
                key "color";
                description
                  "On-demand color configuration";
                container on-demand-color-dyn-mpls {
                  presence
                    "CLI submode compatibility.";
                  description
                    "Dynamic MPLS path properties";
                  container on-demand-color-dyn-mpls-anycast {
                    presence
                      "CLI submode compatibility.";
                    description
                      "Anycast Prefix SID Inclusion";
                  }  // container on-demand-color-dyn-mpls-anycast
    
                  container on-demand-color-dyn-mpls-metric {
                    presence
                      "CLI submode compatibility.";
                    description "Metric type";
                    leaf metric-type {
                      type Xtc-metric;
                      description "Metric Type";
                    }
    
                    uses METRIC-MARGIN;
                  }  // container on-demand-color-dyn-mpls-metric
    
                  container on-demand-color-dyn-mpls-pce {
                    presence
                      "CLI submode compatibility.";
                    description
                      "Use Path Computation Element";
                  }  // container on-demand-color-dyn-mpls-pce
    
                  container disjoint-path {
                    presence
                      "Indicates a disjoint-path node is configured.";
                    description "Disjoint path";
                    leaf group-id {
                      type uint32 {
                        range "1..65535";
                      }
                      mandatory true;
                      description "Group ID";
                    }
    
                    leaf disjointness-type {
                      type Xtc-disjointness;
                      mandatory true;
                      description
                        "Disjointness Type";
                    }
    
                    leaf sub-id {
                      type uint32 {
                        range "1..65535";
                      }
                      description "Sub ID";
                    }
                  }  // container disjoint-path
    
                  leaf on-demand-color-dyn-mpls-flex-algorithm {
                    type uint32 {
                      range "128..255";
                    }
                    description
                      "Prefix-SID algorithm";
                  }
    
                  uses AFFINITY-RULE-TABLE;
    
                  uses BOUNDS;
                }  // container on-demand-color-dyn-mpls
    
                container constraint {
                  description
                    "Path computation and verification constraints";
                  container segments {
                    description
                      "Path computation segment specific rules";
                    leaf protection-type {
                      type Xtc-adj-sid-protection;
                      description
                        "Protection Type";
                    }
    
                    leaf sid-algorithm {
                      type uint32 {
                        range "128..255";
                      }
                      description
                        "Prefix-SID algorithm";
                    }
                  }  // container segments
                }  // container constraint
    
                container steering {
                  presence
                    "CLI submode compatibility.";
                  description
                    "Ondemand steering options";
                  container labeled-services {
                    description
                      "Steering options for labeled services";
                    leaf disable {
                      type empty;
                      description
                        "Disable all steering services";
                    }
                  }  // container labeled-services
    
                  leaf invalidation-drop {
                    type empty;
                    description
                      "Enable path invalidation drop";
                  }
                }  // container steering
    
                leaf bandwidth {
                  type uint32 {
                    range "1..4294967295";
                  }
                  description
                    "The value of the bandwidth reserved by this
                   policy in kbps";
                }
    
                leaf color {
                  type uint32 {
                    range "1..4294967295";
                  }
                  description "Color";
                }
    
                uses PERFORMANCE-MEASUREMENT;
    
                uses PER-FLOW;
    
                uses MAXIMUM-SID-DEPTH;
    
                uses BFD;
    
                uses PCE-GROUP;
    
                uses SOURCE-ADDRESS;
    
                uses EFFECTIVE-METRIC;
    
                uses SRV6;
              }  // list on-demand-color
            }  // container on-demand-colors
    
            container effective-metric-global {
              presence
                "CLI submode compatibility.";
              description
                "Effective metric configuration submode";
              container effective-metric-admin-distance {
                presence
                  "CLI submode compatibility.";
                description
                  "Administrative distance advertised to other
                 protocols";
                container effective-metric-admin-distance-metric-types {
                  description
                    "Administrative distance advertised to other
                   protocols";
                  list effective-metric-admin-distance-metric-type {
                    key "metric-type";
                    description
                      "Administrative distance advertised for this
                     metric type";
                    leaf metric-type {
                      type Effective-metric;
                      description "MetricType";
                    }
    
                    leaf admin-distance {
                      type uint32 {
                        range "1..255";
                      }
                      mandatory true;
                      description
                        "AdminDistance";
                    }
                  }  // list effective-metric-admin-distance-metric-type
                }  // container effective-metric-admin-distance-metric-types
              }  // container effective-metric-admin-distance
            }  // container effective-metric-global
    
            container steering {
              presence
                "CLI submode compatibility.";
              description "Steering options";
              container applications {
                description
                  "Application table that steering options need
                 to be applied";
                list application {
                  key "application";
                  description
                    "Application that steering options need to be
                   applied";
                  leaf application {
                    type Xtc-steering-application;
                    description
                      "Steering application";
                  }
    
                  uses XTC-AGENT-CFG-DISABLE;
                }  // list application
              }  // container applications
    
              container labeled-services {
                presence
                  "CLI submode compatibility.";
                description
                  "Steering options for labeled services";
                leaf disable-on-demand-policies {
                  type empty;
                  description
                    "Disable steering for labeled services for
                   on-demand policies";
                }
    
                leaf disable-all-policies {
                  type empty;
                  description
                    "Disable steering for labeled services for all
                   policies";
                }
    
                leaf disable-pcep-policies {
                  type empty;
                  description
                    "Disable steering for labeled services for PCE
                   initiated policies";
                }
    
                leaf disable-local-policies {
                  type empty;
                  description
                    "Disable steering for labeled services for
                   local policies";
                }
    
                leaf disable-bgp-sr-te-policies {
                  type empty;
                  description
                    "Disable steering for labeled services for
                   BGP-SRTE policies";
                }
    
                uses XTC-AGENT-CFG-DISABLE;
              }  // container labeled-services
            }  // container steering
    
            container segments {
              description
                "Segment-lists configuration";
              list segment {
                key "path-name";
                description
                  "Segment-list configuration";
                container segments {
                  description
                    "Segments/hops configuration for given
                   Segment-list";
                  list segment {
                    key "segment-index";
                    description
                      "Configure Segment/hop at the index";
                    leaf segment-index {
                      type uint32 {
                        range "1..65535";
                      }
                      description
                        "Segment index";
                    }
    
                    leaf segment-type {
                      type Xtc-segment;
                      description
                        "Segment/hop type";
                    }
    
                    leaf address {
                      when
                        "../segment-type = 'ipv4-address' or ../segment-type = 'ipv4-adjacency-address'" {
                        description
                          "../SegmentType = IPv4Address or .
                         ./SegmentType = IPv4AdjacencyAddress";
                      }
                      type inet:ipv4-address-no-zone;
                      description "IPv4 Address";
                    }
    
                    leaf mpls-label {
                      when
                        "../segment-type = 'mpls-label'" {
                        description
                          "../SegmentType = MPLSLabel";
                      }
                      type uint32 {
                        range "0..1048575";
                      }
                      description "MPLS Label";
                    }
    
                    leaf adjacency-address {
                      type inet:ipv4-address-no-zone;
                      description
                        "IPv4 Adjacency Address";
                    }
    
                    leaf address-type {
                      when
                        "../segment-type = 'ipv4-adjacency-address'" {
                        description
                          "../SegmentType = IPv4AdjacencyAddress";
                      }
                      type uint32 {
                        range "0..32";
                      }
                      description
                        "IP address types";
                    }
    
                    leaf interface-identifier {
                      type uint32 {
                        range "1..65535";
                      }
                      description
                        "Interface Identifier";
                    }
    
                    leaf prefix-length {
                      type uint32 {
                        range "0..32";
                      }
                      description
                        "Prefix Length";
                    }
    
                    leaf validate-flag {
                      type uint32 {
                        range "0..1";
                      }
                      description
                        "Validate No Validate";
                    }
                  }  // list segment
                }  // container segments
    
                leaf path-name {
                  type xr:Cisco-ios-xr-string {
                    length "1..128";
                  }
                  description
                    "Segment-list name";
                }
              }  // list segment
            }  // container segments
    
            container logging {
              description
                "Logging configuration";
              leaf pcep-peer-status {
                type empty;
                description
                  "Enable logging for pcep peer status";
              }
    
              leaf policy-status {
                type empty;
                description
                  "Enable logging for policy status";
              }
            }  // container logging
    
            container timers {
              description
                "SR-TE timers configuration";
              leaf candidate-path-cleanup-delay {
                type uint32 {
                  range "0..86400";
                }
                default "120";
                description
                  "Delay before cleaning up candidate paths";
              }
    
              leaf initial-verify-restart {
                type uint32 {
                  range "10..10000";
                }
                default "40";
                description
                  "Timer to wait for topology convergence after
                 topology starts populating for restart case";
              }
    
              leaf initial-verify-switchover {
                type uint32 {
                  range "10..10000";
                }
                default "60";
                description
                  "Timer to wait for topology convergence after
                 topology starts populating for switchover case";
              }
    
              leaf initial-verify-startup {
                type uint32 {
                  range "10..10000";
                }
                default "120";
                description
                  "Timer to wait for topology convergence after
                 topology starts populating for startup case";
              }
    
              leaf cleanup-delay {
                type uint32 {
                  range "0..300";
                }
                default "10";
                description
                  "Delay before cleaning up previous path";
              }
    
              leaf install-delay {
                type uint32 {
                  range "0..300";
                }
                default "10";
                description
                  "Delay before switching to a reoptimized path";
              }
    
              leaf periodic-reoptimization {
                type uint32 {
                  range "0..86400";
                }
                default "600";
                description
                  "How often to perform periodic reoptimization
                 of policies";
              }
            }  // container timers
    
            container bfd-global {
              presence
                "CLI submode compatibility.";
              description
                "Bidirectional Forwarding Detection (BFD)";
              container bfd-timers {
                presence
                  "CLI submode compatibility.";
                description
                  "BFD timers configuration";
                leaf bringup-timer {
                  type uint32 {
                    range "10..3600";
                  }
                  description
                    "How long to wait for new BFD session to come
                   up";
                }
              }  // container bfd-timers
            }  // container bfd-global
    
            container binding-sid-rules {
              description "Binding sid rules";
              container explicit {
                presence
                  "Indicates a explicit node is configured.";
                description
                  "Binding sid explicit options";
                leaf rule {
                  type Xtc-binding-sidexplicit-rule;
                  mandatory true;
                  description
                    "Binding sid explicit rule";
                }
              }  // container explicit
    
              container dynamic-binding-sid-rules {
                presence
                  "Indicates a dynamic-binding-sid-rules node is configured.";
                description
                  "Dynamic binding SID options";
                leaf dynamic-binding-sid-rule {
                  type Xtc-binding-sid-dynamic-rule;
                  mandatory true;
                  description
                    "Binding SID dynamic rule";
                }
              }  // container dynamic-binding-sid-rules
            }  // container binding-sid-rules
    
            container policies {
              description "Policy configuration";
              list policy {
                key "policy-name";
                description
                  "Policy configuration";
                container binding-sid {
                  description
                    "Binding Segment ID";
                  leaf binding-sid-type {
                    type Xtc-binding-sid;
                    description
                      "Binding SID type";
                  }
    
                  leaf mpls-label {
                    when
                      "../binding-sid-type = 'mpls-label-specified'" {
                      description
                        "../BindingSIDType = MPLSLabelSpecified";
                    }
                    type uint32 {
                      range "16..1048575";
                    }
                    description "MPLS Label";
                  }
                }  // container binding-sid
    
                container steering {
                  description
                    "Policy steering options";
                  container labeled-services {
                    description
                      "Steering options for labeled services";
                    uses DISABLE;
                  }  // container labeled-services
    
                  container applications {
                    description
                      "Application table that steering options need
                     to be applied";
                    list application {
                      key "application";
                      description
                        "Application that steering options need to
                       be applied";
                      leaf application {
                        type Xtc-agent-policy-steering-application;
                        description
                          "Steering application";
                      }
    
                      uses DISABLE;
                    }  // list application
                  }  // container applications
    
                  leaf invalidation-drop {
                    type empty;
                    description
                      "Enable path invalidation drop";
                  }
                }  // container steering
    
                container policy-color-endpoint {
                  presence
                    "Indicates a policy-color-endpoint node is configured.";
                  description
                    "Color and endpoint of a policyColor,
                   EndPointType, Endpoint";
                  leaf color {
                    type uint32 {
                      range "1..4294967295";
                    }
                    mandatory true;
                    description "Color";
                  }
    
                  leaf end-point-type {
                    type Xtc-end-point;
                    mandatory true;
                    description "End point type";
                  }
    
                  leaf end-point-address {
                    type inet:ip-address-no-zone;
                    mandatory true;
                    description
                      "End point address";
                  }
                }  // container policy-color-endpoint
    
                container auto-route {
                  presence
                    "CLI submode compatibility.";
                  description
                    "Autoroute configuration";
                  container auto-route-metric {
                    description
                      "Autoroute metric";
                    leaf autoroute-metric-type {
                      type Xtc-auto-route-metric;
                      description "Metric type";
                    }
    
                    leaf metric-relative-value {
                      type int32 {
                        range "-10..10";
                      }
                      description
                        "Autoroute relative metric";
                    }
    
                    leaf metric-constant-value {
                      type uint32 {
                        range "1..2147483647";
                      }
                      description
                        "Autoroute constant metric";
                    }
                  }  // container auto-route-metric
    
                  container include-prefixes {
                    description
                      "Autoroute include prefix table configuration";
                    list include-prefix {
                      must
                        "af-type-all or af-type-ipv4-or-af-type-ipv6" {
                        description
                          "AF_TYPE_ALL or
                         AF_TYPE_IPV4-or-AF_TYPE_IPV6 must be
                         present.";
                      }
                      key "af-type";
                      description
                        "Autoroute IP prefix to include";
                      container af-type-all {
                        when
                          "../af-type = 'af-type-all'" {
                          description
                            "../AFType = AF_TYPE_ALL";
                        }
                        presence
                          "Indicates that this node is configured.";
                        description
                          "af type all";
                      }  // container af-type-all
    
                      leaf af-type {
                        type Xtc-address-family;
                        description
                          "Address family type";
                      }
    
                      list af-type-ipv4-or-af-type-ipv6 {
                        when
                          "../af-type = 'af-type-ipv4' or ../af-type = 'af-type-ipv6'" {
                          description
                            "../AFType = AF_TYPE_IPV4 or ../AFType =
                           AF_TYPE_IPV6";
                        }
                        key "prefix-address prefix-length";
                        description
                          "af type ipv4 or af type ipv6";
                        leaf prefix-address {
                          type inet:ip-address-no-zone;
                          description
                            "Autoroute prefix IP address";
                        }
    
                        leaf prefix-length {
                          type uint32 {
                            range "0..32";
                          }
                          description
                            "Autoroute IP prefix length";
                        }
                      }  // list af-type-ipv4-or-af-type-ipv6
                    }  // list include-prefix
                  }  // container include-prefixes
    
                  leaf force-sr-include {
                    type empty;
                    description
                      "Force policy to carry SR MPLS traffic as
                     well";
                  }
    
                  uses FORWARD-CLASS;
                }  // container auto-route
    
                container candidate-paths {
                  presence
                    "CLI submode compatibility.";
                  description
                    "Policy candidate-paths configuration";
                  container preferences {
                    description
                      "Policy path-option preference table";
                    list preference {
                      key "path-index";
                      description
                        "Policy path-option preference entry";
                      container constraints {
                        description
                          "SR path computation and verification
                         constraints";
                        container disjoint-path {
                          presence
                            "Indicates a disjoint-path node is configured.";
                          description
                            "Disjoint path";
                          leaf group-id {
                            type uint32 {
                              range "1..65535";
                            }
                            mandatory true;
                            description
                              "Group ID";
                          }
    
                          leaf disjointness-type {
                            type Xtc-disjointness;
                            mandatory true;
                            description
                              "Disjointness Type";
                          }
    
                          leaf sub-id {
                            type uint32 {
                              range "1..65535";
                            }
                            description "Sub ID";
                          }
                        }  // container disjoint-path
    
                        container segment-rules {
                          description
                            "SR path computation segment specific
                           rules";
                          leaf protection-type {
                            type Xtc-adj-sid-protection;
                            description
                              "Protection Type";
                          }
    
                          leaf sid-algorithm {
                            type uint32 {
                              range "128..255";
                            }
                            description
                              "Prefix-SID algorithm";
                          }
                        }  // container segment-rules
    
                        uses AFFINITY-RULE-TABLE;
    
                        uses BOUNDS;
                      }  // container constraints
    
                      container path-infos {
                        description
                          "Policy path-option preference
                         configuration";
                        list path-info {
                          key "type segment-list-name";
                          description
                            "Policy configuration";
                          container metric {
                            presence
                              "CLI submode compatibility.";
                            description
                              "Metric configuration, valid only for
                             dynamic path-options";
                            leaf sid-limit {
                              type uint32 {
                                range "1..255";
                              }
                              description
                                "Maximum number of SIDs";
                            }
    
                            leaf metric-type {
                              type Xtc-metric;
                              description
                                "Metric type";
                            }
    
                            uses METRIC-MARGIN;
                          }  // container metric
    
                          container anycast {
                            presence
                              "CLI submode compatibility.";
                            description
                              "Anycast Prefix SID Inclusion";
                          }  // container anycast
    
                          container pcep {
                            presence
                              "CLI submode compatibility.";
                            description
                              "Path Computation Element Protocol";
                          }  // container pcep
    
                          leaf weight {
                            type uint32 {
                              range
                                "1..4294967295";
                            }
                            description
                              "Path-option weight";
                          }
    
                          leaf type {
                            type Xtc-path;
                            description
                              "Path-option type";
                          }
    
                          leaf segment-list-name {
                            type xr:Cisco-ios-xr-string {
                              length "1..128";
                            }
                            description
                              "Segment-list name";
                          }
                        }  // list path-info
                      }  // container path-infos
    
                      leaf path-index {
                        type uint32 {
                          range "1..65535";
                        }
                        description
                          "Path-option preference";
                      }
    
                      uses PER-FLOW;
    
                      uses PCE-GROUP;
    
                      uses EFFECTIVE-METRIC;
                    }  // list preference
                  }  // container preferences
                }  // container candidate-paths
    
                leaf ipv6-disable {
                  type empty;
                  description "IPv6 disable";
                }
    
                leaf shutdown {
                  type empty;
                  description
                    "Administratively shutdown policy";
                }
    
                leaf bandwidth {
                  type uint32 {
                    range "1..4294967295";
                  }
                  description
                    "The value of the bandwidth reserved by this
                   policy in kbps";
                }
    
                leaf policy-name {
                  type xr:Cisco-ios-xr-string {
                    length "1..59";
                  }
                  description "Policy name";
                }
    
                uses PERFORMANCE-MEASUREMENT;
    
                uses BFD;
    
                uses PCE-GROUP;
    
                uses SOURCE-ADDRESS;
    
                uses EFFECTIVE-METRIC;
    
                uses SRV6;
              }  // list policy
            }  // container policies
    
            container srte-interfaces {
              description "SR-TE interfaces";
              list srte-interface {
                key "srte-interface-name";
                description "SR-TE interface";
                container interface-affinities {
                  description
                    "Set user defined interface attribute flags";
                  list interface-affinity {
                    key "affinity-name";
                    description
                      "Set user defined interface attribute flags";
                    leaf affinity-name {
                      type xr:Cisco-ios-xr-string {
                        length "1..32";
                      }
                      description
                        "Interface affinity names";
                    }
                  }  // list interface-affinity
                }  // container interface-affinities
    
                leaf interface-metric {
                  type uint32 {
                    range "0..2147483647";
                  }
                  description
                    "Interface TE metric configuration";
                }
    
                leaf srte-interface-name {
                  type xr:Interface-name;
                  description
                    "SR-TE Interface name";
                }
              }  // list srte-interface
            }  // container srte-interfaces
    
            container pcc {
              presence
                "CLI submode compatibility.";
              description
                "Path Computation Client";
              container pce-peers {
                description
                  "PCE peer configuration";
                list pce-peer {
                  key "pce-address";
                  description "PCE peer";
                  container authentication-option {
                    presence
                      "Indicates a authentication-option node is configured.";
                    description
                      "Configure AO keychain based authentication";
                    leaf keychain {
                      type string {
                        length "1..32";
                      }
                      mandatory true;
                      description
                        "Name of the keychain";
                    }
    
                    leaf include-tcp-options {
                      type boolean;
                      description
                        "Include other TCP options in the header";
                    }
    
                    leaf accept-mismatch-connection {
                      type boolean;
                      description
                        "Accept new connection even if
                       Authentication Option mismatched";
                    }
                  }  // container authentication-option
    
                  leaf password {
                    type string {
                      length "1..25";
                    }
                    description
                      "PCC Peer MD5 Password";
                  }
    
                  leaf keychain {
                    type string {
                      length "1..32";
                    }
                    description
                      "PCC Peer Keychain";
                  }
    
                  leaf precedence {
                    type uint32 {
                      range "0..255";
                    }
                    description
                      "Precedence value of this PCE";
                  }
    
                  leaf pce-address {
                    type inet:ip-address-no-zone;
                    description
                      "Remote PCE address";
                  }
                }  // list pce-peer
              }  // container pce-peers
    
              container pce-peer-with-afs {
                description
                  "PCE peer configuration with address family";
                list pce-peer-with-af {
                  key "af-type pce-address";
                  description "PCE peer";
                  container authentication-option-with-af {
                    presence
                      "Indicates a authentication-option-with-af node is configured.";
                    description
                      "Configure AO keychain based authentication";
                    leaf keychain {
                      type string {
                        length "1..32";
                      }
                      mandatory true;
                      description
                        "Name of the keychain";
                    }
    
                    leaf include-tcp-options {
                      type boolean;
                      description
                        "Include other TCP options in the header";
                    }
    
                    leaf accept-mismatch-connection {
                      type boolean;
                      description
                        "Accept new connection even if
                       Authentication Option mismatched";
                    }
                  }  // container authentication-option-with-af
    
                  leaf password-with-af {
                    type string {
                      length "1..25";
                    }
                    description
                      "PCC Peer MD5 Password";
                  }
    
                  leaf precedence-with-af {
                    type uint32 {
                      range "0..255";
                    }
                    description
                      "Precedence value of this PCE";
                  }
    
                  leaf pce-group {
                    type xr:Cisco-ios-xr-string {
                      length "1..16";
                    }
                    description
                      "Name of the PCE group - maximum 16
                     characters";
                  }
    
                  leaf keychain-with-af {
                    type string {
                      length "1..32";
                    }
                    description
                      "PCC Peer Keychain";
                  }
    
                  leaf af-type {
                    type Xtc-address-family;
                    description
                      "PCE address-family type";
                  }
    
                  leaf pce-address {
                    type inet:ip-address-no-zone;
                    description
                      "Remote PCE address";
                  }
                }  // list pce-peer-with-af
              }  // container pce-peer-with-afs
    
              container profiles {
                description
                  "Path profiles configuration";
                list profile {
                  key "profile-id";
                  description
                    "Path profile configuration";
                  container steering {
                    presence
                      "CLI submode compatibility.";
                    description
                      "Steering options";
                    leaf invalidation-drop {
                      type empty;
                      description
                        "Enable path invalidation drop";
                    }
                  }  // container steering
    
                  container profile-auto-route {
                    description
                      "Autoroute configuration";
                    container auto-route-metric {
                      description
                        "Autoroute metric";
                      leaf autoroute-metric-type {
                        type Xtc-auto-route-metric;
                        description
                          "Metric type";
                      }
    
                      leaf metric-relative-value {
                        type int32 {
                          range "-10..10";
                        }
                        description
                          "Autoroute relative metric";
                      }
    
                      leaf metric-constant-value {
                        type uint32 {
                          range "1..2147483647";
                        }
                        description
                          "Autoroute constant metric";
                      }
                    }  // container auto-route-metric
    
                    leaf include-all {
                      type empty;
                      description
                        "Include all prefixes to autoroute";
                    }
    
                    leaf force-sr-include {
                      type empty;
                      description
                        "Force SR traffic over autoroute policy";
                    }
    
                    uses FORWARD-CLASS;
                  }  // container profile-auto-route
    
                  leaf profile-id {
                    type uint32 {
                      range "1..65534";
                    }
                    description
                      "Profile unique identifier";
                  }
                }  // list profile
              }  // container profiles
    
              leaf dead-timer-interval {
                type uint32 {
                  range "1..255";
                }
                description
                  "Amount of time after which the peer can
                 declare this session down, if no PCEP message
                 has been received";
              }
    
              leaf pcc-centric {
                type empty;
                description
                  "Enable PCC centric model, where PCC only
                 allows the lowest precedence PCE to initiate
                 policies";
              }
    
              leaf report-all {
                type empty;
                description
                  "Report all local SR policies to connected PCEP
                 peers";
              }
    
              leaf keepalive-timer-interval {
                type uint32 {
                  range "0..255";
                }
                description
                  "Maximum time between two consecutive PCEP
                 messages sent by this node";
              }
    
              leaf initiated-state-interval {
                type uint32 {
                  range "0..86400";
                }
                description
                  "Amount of time that PCE initiated policy can
                 exist as an orphan before it is cleaned up";
              }
    
              leaf ipv6-source-address {
                type inet:ipv6-address-no-zone;
                description
                  "Local source IP address to use on PCEP
                 sessions";
              }
    
              leaf source-address {
                type inet:ip-address-no-zone;
                description
                  "Local source IP address to use on PCEP
                 sessions";
              }
    
              leaf srpag {
                type empty;
                description
                  "Enable signaling using SR Policy Association
                 Group";
              }
    
              leaf initiated-orphan-interval {
                type uint32 {
                  range "0..180";
                }
                description
                  "Amount of time that PCE initiated policy
                 remains delegated to a peer that has gone down";
              }
    
              leaf delegation-timeout {
                type uint32 {
                  range "0..1576800000";
                }
                description
                  "Maximum time delegated SR-TE policies can
                 remain up without an active connection to a
                 PCE";
              }
            }  // container pcc
    
            container trace-counts {
              description
                "Configure SR-TE trace options";
              list trace-count {
                key "buffer-name";
                description
                  "Trace count for provided buffer";
                leaf buffer-name {
                  type xr:Cisco-ios-xr-string {
                    length "1..15";
                  }
                  description "Buffer name";
                }
    
                leaf trace-count {
                  type uint32 {
                    range "0..1000000";
                  }
                  mandatory true;
                  description "Trace count";
                }
              }  // list trace-count
            }  // container trace-counts
    
            container affinity-maps {
              description
                "Affinity-map configuration";
              list affinity-map {
                key "affinity-name";
                description "Affinity-map entry";
                leaf affinity-name {
                  type xr:Cisco-ios-xr-string {
                    length "1..32";
                  }
                  description
                    "Affinity-map bit-position";
                }
    
                leaf bit-position {
                  type uint32 {
                    range "0..255";
                  }
                  mandatory true;
                  description
                    "Affinity-map bit-position";
                }
              }  // list affinity-map
            }  // container affinity-maps
    
            container candidate-path-types {
              presence
                "CLI submode compatibility.";
              description
                "Configurations for candidate paths.";
              list candidate-path-type {
                must
                  "candidate-path-type-all-or-candidate-path-type-local-or-candidate-path-type-bgp-odn-or-candidate-path-type-bgp-srte-or-candidate-path-type-pcep" {
                  description
                    "CANDIDATE_PATH_TYPE_ALL-or-CANDIDATE_PATH_TYPE_LOCAL-or-CANDIDATE_PATH_TYPE_BGP_ODN-or-CANDIDATE_PATH_TYPE_BGP_SRTE-or-CANDIDATE_PATH_TYPE_PCEP must be present.";
                }
                key "candidate-path-type";
                description
                  "Configurations for candidate paths of specific
                 type.";
                container candidate-path-type-all-or-candidate-path-type-local-or-candidate-path-type-bgp-odn-or-candidate-path-type-bgp-srte-or-candidate-path-type-pcep {
                  when
                    "../candidate-path-type = 'candidate-path-type-all' or ../candidate-path-type = 'candidate-path-type-local' or ../candidate-path-type = 'candidate-path-type-bgp-odn' or ../candidate-path-type = 'candidate-path-type-bgp-srte' or ../candidate-path-type = 'candidate-path-type-pcep'" {
                    description
                      "../CandidatePathType =
                     CANDIDATE_PATH_TYPE_ALL or .
                     ./CandidatePathType =
                     CANDIDATE_PATH_TYPE_LOCAL or .
                     ./CandidatePathType =
                     CANDIDATE_PATH_TYPE_BGP_ODN or .
                     ./CandidatePathType =
                     CANDIDATE_PATH_TYPE_BGP_SRTE or .
                     ./CandidatePathType =
                     CANDIDATE_PATH_TYPE_PCEP";
                  }
                  presence
                    "Indicates that this node is configured.";
                  description
                    "candidate path type all or candidate path
                   type local or candidate path type bgp odn or
                   candidate path type bgp srte or candidate
                   path type pcep";
                  leaf enable {
                    type empty;
                    description "True only";
                  }
    
                  uses SOURCE-ADDRESS;
                }  // container candidate-path-type-all-or-candidate-path-type-local-or-candidate-path-type-bgp-odn-or-candidate-path-type-bgp-srte-or-candidate-path-type-pcep
    
                leaf candidate-path-type {
                  type Xtc-cpath;
                  description
                    "Candidate-path type";
                }
              }  // list candidate-path-type
            }  // container candidate-path-types
    
            leaf te-latency {
              type empty;
              description
                "Use TE-latency algorithm";
            }
    
            leaf kshortest-paths {
              type uint32 {
                range "1..200";
              }
              description
                "Maximum number of attempted paths for
               cumulative bounds (default 100)";
            }
    
            leaf separate-next-hop {
              type empty;
              description
                "Use Next Hop Separation in Forwarding";
            }
    
            leaf enable {
              type empty;
              description "True only";
            }
    
            uses MAXIMUM-SID-DEPTH;
    
            uses SRV6;
          }  // container traffic-engineering
        }
      }  // module Cisco-IOS-XR-infra-xtc-agent-cfg
    

© 2023 YumaWorks, Inc. All rights reserved.