This module contains a collection of YANG definitions for Cisco IOS-XR infra-xtc-agent package configuration. This YANG module ...
Version: 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.