This module contains a collection of YANG definitions for Cisco IOS-XR perf-meas package configuration. This module contains de...
Version: 2020-12-19
module Cisco-IOS-XR-perf-meas-cfg { yang-version 1; namespace "http://cisco.com/ns/yang/Cisco-IOS-XR-perf-meas-cfg"; prefix perf-meas-cfg; import ietf-inet-types { prefix inet; } import Cisco-IOS-XR-types { prefix xr; } import cisco-semver { prefix semver; } organization "Cisco Systems, Inc."; contact "Cisco Systems, Inc. Customer Service Postal: 170 West Tasman Drive San Jose, CA 95134 Tel: +1 800 553-NETS E-mail: cs-yang@cisco.com"; description "This module contains a collection of YANG definitions for Cisco IOS-XR perf-meas package configuration. This module contains definitions for the following management objects: performance-measurement: The root of performance-measurement configuration Copyright (c) 2013-2020 by Cisco Systems, Inc. All rights reserved."; revision "2020-12-19" { description "Updated liveness profile for endpoint support. 2020-12-12 Add interface delay-profile name schema class and hide delay-profile liveness-detction. 2020-12-02 Added sr-policy liveness profile config schema. 2020-11-16 Added default keyword for default profile configuration. 2020-10-27 Endpoint support. 2020-10-27 Added anomaly support for sr-policy min delay metrics. 2020-10-02 Added anomaly support for interface min delay metrics 2020-07-21 Remove deprecated interface profile probe interval and burst interval."; } revision "2020-03-31" { description "721 nohelp CLI for liveness, loopback, endpoint, src-port, named profile, distribution. 2020-02-24 Modifid type of service knobs from array to integer. 2020-02-20 Modifid type of service knobs from array to integer. 2020-01-08 Added new configure knob to specify source port for end-to-end DM session on RP. 2019-11-29 Revision IOS XR 7.2.1 Added PM named profile development. 2019-11-14 Revision IOS XR 7.2.1 Upate PM advertise delay config range."; } revision "2019-09-18" { description "Hid and disabled unsupported features for 7.1.1."; } revision "2019-04-05" { description "Establish semantic version baseline."; } revision "2017-10-17" { description "Revision Zero."; } 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 Pm-vrf-name-max-length { type xr:Cisco-ios-xr-string { length "1..32"; } description "Pm vrf name max length"; } typedef Profile-name-max-length { type xr:Cisco-ios-xr-string { length "1..256"; } description "Profile name max length"; } typedef Pm-measurement-mode { type enumeration { enum "pm-measurement-mode-type-one-way" { value 0; description "One-way measurement collecting only timestamp 1 and 2"; } enum "pm-measurement-mode-type-two-way" { value 1; description "two-way measurement collecting only timestamp 1 , 2, 3 and 4"; } enum "pm-measurement-mode-type-loop-back" { value 2; description "loopback measurement collecting only timestamp 1 and 4"; } } description "Pm measurement mode"; } typedef Pm-afi { type string { pattern "(ipv4)|(ipv6)"; } description "ipv4: Comment: v4 address family string, ipv6: Comment: v6 address family string"; } typedef Pm-protocol-and-encap { type enumeration { enum "pm-payload-protocol-type-pm-mpls" { value 1; description "Use RF6374 with MPLS Encapsulation"; } enum "pm-payload-protocol-type-twamp-light" { value 3; description "Use RFC5357"; } } description "Pm protocol and encap"; } typedef Pm-ip-address { type enumeration { enum "pm-ip-address-type-ipv4" { value 0; description "IPv4 nexthop address"; } enum "pm-ip-address-type-ipv6" { value 1; description "IPv6 nexthop address"; } enum "pm-ip-address-type-unknown" { value 2; description "unknown nexthop addrss type"; } } description "Pm ip address"; } typedef Pm-ld-measurement-mode { type enumeration { enum "pm-measurement-mode-type-loop-back" { value 2; description "loopback measurement collecting only timestamp 1 and 4"; } } description "Pm ld measurement mode"; } grouping LIVENESS-DETECTION { description "Common node of liveness-profile-endpoint, liveness-name-profile-endpoint"; container liveness-detection { description "PM Endpoint Liveness Detection"; container logging { description "Enable syslog for liveness detection"; leaf state-change { type empty; description "Emit syslog when the liveness state change detected"; } } // container logging leaf multiplier { type uint32 { range "2..10"; } description "Liveness detection multiplier"; } } // container liveness-detection } // grouping LIVENESS-DETECTION grouping THRESHOLD-CROSSING-CHECK-MINIMUM-DELAY { description "Common node of delay-profile-rsvp-te, delay-profile-sr-policy, delay-profile-endpoint, delay-name-profile-sr-policy, delay-name-profile-endpoint"; leaf threshold-crossing-check-minimum-delay { type boolean; description "Enable Minimum-delay Threshold-check."; } } // grouping THRESHOLD-CROSSING-CHECK-MINIMUM-DELAY grouping THRESHOLD-CROSSING-CHECK-AVERAGE-DELAY { description "Common node of delay-profile-rsvp-te, delay-profile-sr-policy, delay-profile-endpoint, delay-name-profile-sr-policy, delay-name-profile-endpoint"; leaf threshold-crossing-check-average-delay { type boolean; description "Enable Average-delay Threshold-check."; } } // grouping THRESHOLD-CROSSING-CHECK-AVERAGE-DELAY grouping PM-LIVENESS-DETECTION { description "Common node of liveness-profile-sr-policy, liveness-name-profile-sr-policy"; container pm-liveness-detection { description "PM Liveness Detection"; leaf multiplier { type uint32 { range "2..10"; } description "Liveness detection multiplier"; } } // container pm-liveness-detection } // grouping PM-LIVENESS-DETECTION grouping ADVERTISEMENT { description "Common node of delay-profile-interface, delay-profile-sr-policy, delay-profile-rsvp-te, delay-profile-endpoint, delay-name-profile-interface, delay-name-profile-sr-policy, delay-name-profile-endpoint"; container advertisement { description "Advertisement Profile"; container logging { description "Syslog configuration options"; leaf delay-exceeded { type empty; description "Emit syslog when the delay exceeds the threshold"; } } // container logging container anomaly-check { description "Anomaly Check Advertisement Profile"; container bounds { description "Range of upper and lower bound in uSec"; leaf upper-bound { type uint32 { range "0..200000"; } description "Upper Bound in uSec"; } leaf lower-bound { type uint32 { range "0..200000"; } description "Lower Bound in uSec"; } } // container bounds } // container anomaly-check container accelerated { description "Accelerated Advertisement Profile"; leaf threshold { type uint32 { range "0..100"; } units "percentage"; default "20"; description "Accelerated advertisement threshold percentage"; } leaf minimum-change { type uint32 { range "0..100000"; } default "500"; description "Accelerated advertisement minimum value in uSec"; } leaf enable { type empty; description "Enable Accelerated Advertisement"; } } // container accelerated container periodic { description "Periodic Advertisement Profile"; leaf interval { type uint32 { range "30..3600"; } units "second"; default "120"; description "Periodic advertisement and metric aggregation interval in seconds"; } leaf threshold { type uint32 { range "0..100"; } units "percentage"; default "10"; description "Periodic advertisement threshold percentage change (compared to last advertisement)"; } leaf minimum-change { type uint32 { range "0..100000"; } description "Periodic advertisement minimum change in uSec (compared to last advertisement)"; } leaf disable { type empty; description "Enable Performance Measurement Periodic Advertisement"; } } // container periodic } // container advertisement } // grouping ADVERTISEMENT grouping THRESHOLD-CROSSING-CHECK-MAXIMUM-DELAY { description "Common node of delay-profile-rsvp-te, delay-profile-sr-policy, delay-profile-endpoint, delay-name-profile-sr-policy, delay-name-profile-endpoint"; leaf threshold-crossing-check-maximum-delay { type boolean; description "Enable Maximum-delay Threshold-check."; } } // grouping THRESHOLD-CROSSING-CHECK-MAXIMUM-DELAY grouping PROBE { description "Common node of delay-profile-endpoint, delay-name-profile-endpoint"; container probe { description "PM Delay Profile Probe"; container type-of-service { description "PM Delay Profile Type Of Service"; leaf dscp-value { type uint32 { range "0..63"; } description "DSCP value indicating TOS level used by protocol twamp-light"; } } // container type-of-service leaf computation-interval { type uint32 { range "1..3600"; } units "second"; description "The value for delay profile probe computation interval in seconds"; } leaf measurement-mode { type Pm-measurement-mode; description "Configuration for measurement mode"; } leaf burst-interval { type uint32 { range "30..15000"; } description "The value for delay profile probe burst interval"; } } // container probe } // grouping PROBE grouping PM-SRPOLICY-PROBE-CFG-PROBE { description "Common node of delay-profile-endpoint, delay-name-profile-endpointCommon node of delay-profile-sr-policy, delay-name-profile-sr-policy"; container probe { description "PM Delay Profile Probe"; container type-of-service { description "PM Delay Profile Type Of Service"; leaf dscp-value { type uint32 { range "0..63"; } description "DSCP value indicating TOS level used by protocol twamp-light"; } leaf traffic-class-value { type uint32 { range "0..7"; } description "Traffic Class value indicating TOS level used by protocol pm-mpls"; } } // container type-of-service container sweep { description "Enable ECMP hashing by sweeping a field in the probe packet"; container destination { description "Configuration for destination address sweeping range, only IPv4 address is supported. Used by IPv4, IPv6 and NULL endpoint SR Policy."; leaf address-type { type Pm-ip-address; description "Type of address (Only supports PM_IP_ADDRESS_TYPE_IPV4)"; } leaf address { type inet:ip-address-no-zone; description "Starting address for destination sweeping"; } leaf range { type uint32 { range "0..128"; } description "Sweeping range"; } } // container destination } // container sweep container protocol { description "Protocol used for measurement probe messages"; leaf protocol-type { type Pm-protocol-and-encap; description "Type of protocol"; } } // container protocol leaf computation-interval { type uint32 { range "1..3600"; } units "second"; description "The value for delay profile probe computation interval in seconds"; } leaf measurement-mode { type Pm-measurement-mode; description "Configuration for measurement mode"; } leaf burst-interval { type uint32 { range "30..15000"; } description "The value for delay profile probe burst interval"; } } // container probe } // grouping PM-SRPOLICY-PROBE-CFG-PROBE grouping PM-PROBE-CFG-PROBE { description "Common node of delay-profile-endpoint, delay-name-profile-endpointCommon node of delay-profile-sr-policy, delay-name-profile-sr-policyCommon node of delay-profile-interface, delay-name-profile-interface"; container probe { description "PM Delay Profile Probe"; container type-of-service { description "PM Delay Profile Type Of Service"; leaf traffic-class-value { type uint32 { range "0..7"; } description "Traffic Class value indicating TOS level used by protocol pm-mpls"; } leaf dscp-value { type uint32 { range "0..63"; } description "DSCP value indicating TOS level used by protocol twamp-light"; } } // container type-of-service container protocol { description "Protocol used for measurement probe messages"; leaf protocol-type { type Pm-protocol-and-encap; description "Type of protocol"; } } // container protocol leaf measurement-mode { type Pm-measurement-mode; description "Configuration for measurement mode"; } leaf burst-interval { type uint32 { range "30..15000"; } default "3000"; description "The value for delay profile burst interval in mSec"; } leaf computation-interval { type uint32 { range "1..3600"; } units "second"; default "30"; description "The value for delay profile probe computation interval in seconds"; } } // container probe } // grouping PM-PROBE-CFG-PROBE grouping PM-SRPOLICY-LIVE-PROBE-CFG-PROBE { description "Common node of delay-profile-endpoint, delay-name-profile-endpointCommon node of delay-profile-sr-policy, delay-name-profile-sr-policyCommon node of delay-profile-interface, delay-name-profile-interfaceCommon node of liveness-profile-sr-policy, liveness-name-profile-sr-policy"; container probe { description "PM Liveness Profile Probe"; container type-of-service { description "PM Liveness Profile Type Of Service"; leaf dscp-value { type uint32 { range "0..63"; } description "DSCP value indicating TOS level used by protocol twamp-light"; } } // container type-of-service container sweep { description "Enable ECMP hashing by sweeping a field in the probe packet"; container destination { description "Configuration for destination address sweeping range, only IPv4 address is supported. Used by IPv4, IPv6 and NULL endpoint SR Policy."; leaf address-type { type Pm-ip-address; description "Type of address (Only supports PM_IP_ADDRESS_TYPE_IPV4)"; } leaf address { type inet:ip-address-no-zone; description "Starting address for destination sweeping"; } leaf range { type uint32 { range "0..128"; } description "Sweeping range"; } } // container destination } // container sweep leaf measurement-mode { type Pm-ld-measurement-mode; description "Configuration for measurement mode"; } leaf burst-interval { type uint32 { range "30..15000"; } description "The value for delay profile probe burst interval"; } } // container probe } // grouping PM-SRPOLICY-LIVE-PROBE-CFG-PROBE grouping PM-ENDPOINT-LIVENESS-DETECTION-PROBE-CFG-PROBE { description "Common node of delay-profile-endpoint, delay-name-profile-endpointCommon node of delay-profile-sr-policy, delay-name-profile-sr-policyCommon node of delay-profile-interface, delay-name-profile-interfaceCommon node of liveness-profile-sr-policy, liveness-name-profile-sr-policyCommon node of liveness-profile-endpoint, liveness-name-profile-endpoint"; container probe { description "PM Endpoint Liveness Profile Probe"; container type-of-service { description "PM Liveness Profile Type Of Service"; leaf dscp-value { type uint32 { range "0..63"; } description "DSCP value indicating TOS level used by protocol twamp-light"; } } // container type-of-service leaf burst-interval { type uint32 { range "30..15000"; } description "The value for delay profile probe burst interval"; } leaf measurement-mode { type Pm-ld-measurement-mode; description "Configuration for measurement mode"; } } // container probe } // grouping PM-ENDPOINT-LIVENESS-DETECTION-PROBE-CFG-PROBE container performance-measurement { description "The root of performance-measurement configuration"; container liveness-profile-sr-policy { description "Performance-measurement SR Policy liveness profile"; uses PM-LIVENESS-DETECTION; uses PM-SRPOLICY-LIVE-PROBE-CFG-PROBE; } // container liveness-profile-sr-policy container liveness-name-profile-endpoints { description "Endpointliveness name profile table"; list liveness-name-profile-endpoint { key "profile-name"; description "Endpoint liveness name profile"; leaf profile-name { type Profile-name-max-length; description "Profile name"; } uses LIVENESS-DETECTION; uses PM-ENDPOINT-LIVENESS-DETECTION-PROBE-CFG-PROBE; } // list liveness-name-profile-endpoint } // container liveness-name-profile-endpoints container protocol { description "PM protocols"; container twamp-light { description "Twamp-light protocol"; container delay-measurement { description "Delay measurement"; container unauthenticated { description "Unauthenticated mode"; leaf querier-source-port { type uint32 { range "862..14999"; } description "UDP port opened on Route Processor to be used as source port in queries, support range from 1024 to 14999"; } leaf ipv4-timestamp1 { type uint32 { range "256..23999"; } description "Label to put timestamp 1 on a IPv4 packet"; } leaf ipv6-timestamp2 { type uint32 { range "256..23999"; } description "Label to put timestamp2 on a IPv6 packet"; } leaf ipv4-timestamp2 { type uint32 { range "256..23999"; } description "Label to put timestamp2 on a IPv4 packet"; } leaf querier-destination-port { type uint32 { range "862..14999"; } description "UDP port opened to be used as destination port in queries, support reserved 862 port for TWAMP or 1024 to 14999"; } leaf ipv6-timestamp1 { type uint32 { range "256..23999"; } description "Label to put timestamp 1 on a IPv6 packet"; } } // container unauthenticated } // container delay-measurement } // container twamp-light } // container protocol container delay-profile-endpoint { description "Performance-measurement Endpoint delay profile"; uses THRESHOLD-CROSSING-CHECK-AVERAGE-DELAY; uses ADVERTISEMENT; uses THRESHOLD-CROSSING-CHECK-MAXIMUM-DELAY; uses PROBE; uses THRESHOLD-CROSSING-CHECK-MINIMUM-DELAY; } // container delay-profile-endpoint container delay-name-profile-sr-policies { description "SR Policy delay name profile table"; list delay-name-profile-sr-policy { key "profile-name"; description "SR Policy delay name profile"; leaf profile-name { type Profile-name-max-length; description "Profile name"; } uses THRESHOLD-CROSSING-CHECK-AVERAGE-DELAY; uses ADVERTISEMENT; uses THRESHOLD-CROSSING-CHECK-MAXIMUM-DELAY; uses PM-SRPOLICY-PROBE-CFG-PROBE; uses THRESHOLD-CROSSING-CHECK-MINIMUM-DELAY; } // list delay-name-profile-sr-policy } // container delay-name-profile-sr-policies container delay-profile-rsvp-te { description "Performance-measurement RSVP-TE delay profile"; container probe { description "PM Delay Profile Probe"; container type-of-service { description "PM Delay Profile Type Of Service"; leaf dscp-value { type uint32 { range "0..63"; } description "DSCP value indicating TOS level used by protocol twamp-light"; } leaf traffic-class-value { type uint32 { range "0..7"; } description "Traffic Class value indicating TOS level used by protocol pm-mpls"; } } // container type-of-service container protocol { description "Protocol used for measurement probe messages"; leaf protocol-type { type Pm-protocol-and-encap; description "Type of protocol"; } } // container protocol leaf burst-interval { type uint32 { range "30..15000"; } description "The value for delay profile probe burst interval"; } leaf measurement-mode { type Pm-measurement-mode; description "Configuration for measurement mode"; } leaf computation-interval { type uint32 { range "1..3600"; } units "second"; description "The value for delay profile probe computation interval in seconds"; } } // container probe uses THRESHOLD-CROSSING-CHECK-AVERAGE-DELAY; uses ADVERTISEMENT; uses THRESHOLD-CROSSING-CHECK-MAXIMUM-DELAY; uses THRESHOLD-CROSSING-CHECK-MINIMUM-DELAY; } // container delay-profile-rsvp-te container delay-name-profile-endpoints { description "Endpoint delay name profile table"; list delay-name-profile-endpoint { key "profile-name"; description "Endpoint delay name profile"; leaf profile-name { type Profile-name-max-length; description "Profile name"; } uses THRESHOLD-CROSSING-CHECK-AVERAGE-DELAY; uses ADVERTISEMENT; uses THRESHOLD-CROSSING-CHECK-MAXIMUM-DELAY; uses PROBE; uses THRESHOLD-CROSSING-CHECK-MINIMUM-DELAY; } // list delay-name-profile-endpoint } // container delay-name-profile-endpoints container liveness-profile-endpoint { description "Performance-measurement Endpoint liveness profile"; uses LIVENESS-DETECTION; uses PM-ENDPOINT-LIVENESS-DETECTION-PROBE-CFG-PROBE; } // container liveness-profile-endpoint container delay-profile-interface { description "Performance-measurement interface delay profile"; uses ADVERTISEMENT; uses PM-PROBE-CFG-PROBE; } // container delay-profile-interface container delay-name-profile-interfaces { description "Interface delay name profile table"; list delay-name-profile-interface { key "profile-name"; description "Interface delay name profile"; leaf profile-name { type Profile-name-max-length; description "Profile name"; } uses ADVERTISEMENT; uses PM-PROBE-CFG-PROBE; } // list delay-name-profile-interface } // container delay-name-profile-interfaces container endpoints { description "Configure performance-measurement Endpoint"; list endpoint { key "dst-addr-type dst-addr vrf"; description "Configure performance-measurement Endpoint"; container endpoint-delay-measurement { description "Endpoint delay measurement"; leaf endpoint-profile-name { type xr:Cisco-ios-xr-string { length "1..256"; } description "Endpoint delay profile name"; } leaf endpoint-enable-delay-measurement { type empty; description "Enable endpoint delay measurement"; } } // container endpoint-delay-measurement container source-address { presence "Indicates a source-address node is configured."; description "Endpoint source address"; leaf src-addr-type { type Pm-ip-address; mandatory true; description "Type of IP Address"; } leaf src-addr { type inet:ip-address-no-zone; mandatory true; description "Source IP Address"; } } // container source-address leaf enable-endpoint { type empty; description "Enable endpoint submode"; } leaf description { type string { length "1..255"; } description "A textual description of the Endpoint"; } leaf dst-addr-type { type Pm-afi; description "Type of IP Address"; } leaf dst-addr { type inet:ip-address-no-zone; description "Destination IP address"; } leaf vrf { type Pm-vrf-name-max-length; description "VRF name"; } } // list endpoint } // container endpoints container delay-profile-sr-policy { description "Performance-measurement SR Policy delay profile"; uses THRESHOLD-CROSSING-CHECK-AVERAGE-DELAY; uses ADVERTISEMENT; uses THRESHOLD-CROSSING-CHECK-MAXIMUM-DELAY; uses PM-SRPOLICY-PROBE-CFG-PROBE; uses THRESHOLD-CROSSING-CHECK-MINIMUM-DELAY; } // container delay-profile-sr-policy container interfaces { description "Configure performance-measurement interfaces"; list interface { key "interface-name"; description "Configure a performance-measurement interface"; container delay-measurement { description "Interface delay measurement"; container delay-profile { description "Interface delay profile"; leaf pm-profile-name { type xr:Cisco-ios-xr-string { length "1..256"; } description "Interface delay profile name"; } } // container delay-profile leaf enable-delay-measurement { type empty; description "Enable interface delay measurement"; } leaf advertise-delay { type uint32 { range "1..16777215"; } description "The value for interface delay measurement advertisement delay in uSec"; } } // container delay-measurement container nexthop-address { description "PM Delay Nexthop Address"; leaf nexthop-address-type { type Pm-ip-address; description "Type of IP Address of nexthop"; } leaf nexthop-address { type inet:ip-address-no-zone; description "Address of nexthop"; } } // container nexthop-address leaf enable-interface { type empty; description "Enable interface submode"; } leaf interface-name { type xr:Interface-name; description "Interface name"; } } // list interface } // container interfaces container liveness-name-profile-sr-policies { description "SR Policy liveness name profile table"; list liveness-name-profile-sr-policy { key "profile-name"; description "SR Policy liveness name profile"; leaf profile-name { type Profile-name-max-length; description "Profile name"; } uses PM-LIVENESS-DETECTION; uses PM-SRPOLICY-LIVE-PROBE-CFG-PROBE; } // list liveness-name-profile-sr-policy } // container liveness-name-profile-sr-policies leaf enable-performance-measurement { type empty; description "Enable the performance measurement feature"; } } // container performance-measurement } // module Cisco-IOS-XR-perf-meas-cfg
© 2023 YumaWorks, Inc. All rights reserved.