Cisco-IOS-XR-man-ipsla-cfg

This module contains a collection of YANG definitions for Cisco IOS-XR man-ipsla package configuration. This module contains de...

  • Version: 2019-05-10

    Cisco-IOS-XR-man-ipsla-cfg@2019-05-10


    
      module Cisco-IOS-XR-man-ipsla-cfg {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XR-man-ipsla-cfg";
    
        prefix man-ipsla-cfg;
    
        import ietf-inet-types {
          prefix inet;
        }
        import Cisco-IOS-XR-types {
          prefix xr;
        }
        import cisco-semver {
          prefix semver;
        }
        import Cisco-IOS-XR-snmp-agent-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 man-ipsla package configuration.
         
         This module contains definitions
         for the following management objects:
           ipsla: IPSLA configuration
         
         This YANG module augments the
           Cisco-IOS-XR-snmp-agent-cfg
         module with configuration data.
         
         Copyright (c) 2013-2019 by Cisco Systems, Inc.
         All rights reserved.";
    
        revision "2019-05-10" {
          description
            "Change in default value of lsp-selector.";
        }
    
        revision "2019-04-05" {
          description
            "Establish semantic version baseline.";
        }
    
        revision "2015-11-09" {
          description "IOS XR 6.0 revision.";
        }
    
        semver:module-version "2.0.0";
        semver:module-version "1.0.0";
    
        typedef Ipsla-secondary-frequency {
          type enumeration {
            enum "connection-loss" {
              value 1;
              description
                "Enable secondary frequency for connection loss";
            }
            enum "timeout" {
              value 2;
              description
                "Enable secondary frequency for timeout";
            }
            enum "both" {
              value 3;
              description
                "Enable secondary frequency for timeout and
               connection loss";
            }
          }
          description
            "Ipsla secondary frequency";
        }
    
        typedef Ipsla-month {
          type enumeration {
            enum "january" {
              value 0;
              description "January";
            }
            enum "february" {
              value 1;
              description "February";
            }
            enum "march" {
              value 2;
              description "March";
            }
            enum "april" {
              value 3;
              description "April";
            }
            enum "may" {
              value 4;
              description "May";
            }
            enum "june" {
              value 5;
              description "June";
            }
            enum "july" {
              value 6;
              description "July";
            }
            enum "august" {
              value 7;
              description "August";
            }
            enum "september" {
              value 8;
              description "September";
            }
            enum "october" {
              value 9;
              description "October";
            }
            enum "november" {
              value 10;
              description "November";
            }
            enum "december" {
              value 11;
              description "December";
            }
          }
          description "Ipsla month";
        }
    
        typedef Ipsla-lsp-ping-reply-mode {
          type enumeration {
            enum "ipv4-udp-router-alert" {
              value 3;
              description
                "Send replies via IPv4 UDP packets with Router
               Alert option";
            }
            enum "control-channel" {
              value 4;
              description
                "Send replies via a Control Channel option";
            }
          }
          description
            "Ipsla lsp ping reply mode";
        }
    
        typedef Ipsla-lsp-trace-reply-mode {
          type enumeration {
            enum "ipv4-udp-router-alert" {
              value 3;
              description
                "Send replies via IPv4 UDP packets with Router
               Alert option";
            }
          }
          description
            "Ipsla lsp trace reply mode";
        }
    
        typedef Ipsla-lsp-monitor-reply-mode {
          type enumeration {
            enum "ipv4-udp-router-alert" {
              value 3;
              description
                "Send replies via IPv4 UDP packets with Router
               Alert option";
            }
          }
          description
            "Ipsla lsp monitor reply mode";
        }
    
        typedef Ipsla-sched {
          type enumeration {
            enum "pending" {
              value 1;
              description
                "Schedule pending for later time";
            }
            enum "now" {
              value 2;
              description
                "Schedule operation now";
            }
            enum "after" {
              value 3;
              description
                "Schedule operation after specifed duration";
            }
            enum "at" {
              value 4;
              description
                "Schedule operation at specified time";
            }
          }
          description "Ipsla sched";
        }
    
        typedef Ipsla-lsp-reply-dscp {
          type union {
            type enumeration {
              enum "default" {
                value 0;
                description
                  "Match packets with default dscp (000000)";
              }
              enum "af11" {
                value 10;
                description
                  "Match packets with AF11 dscp (001010)";
              }
              enum "af12" {
                value 12;
                description
                  "Match packets with AF12 dscp (001100)";
              }
              enum "af13" {
                value 14;
                description
                  "Match packets with AF13 dscp (001110)";
              }
              enum "af21" {
                value 18;
                description
                  "Match packets with AF21 dscp (010010)";
              }
              enum "af22" {
                value 20;
                description
                  "Match packets with AF22 dscp (010100)";
              }
              enum "af23" {
                value 22;
                description
                  "Match packets with AF23 dscp (010110)";
              }
              enum "af31" {
                value 26;
                description
                  "Match packets with AF31 dscp (011010)";
              }
              enum "af32" {
                value 28;
                description
                  "Match packets with AF32 dscp (011100)";
              }
              enum "af33" {
                value 30;
                description
                  "Match packets with AF33 dscp (011110)";
              }
              enum "af41" {
                value 34;
                description
                  "Match packets with AF41 dscp (100010)";
              }
              enum "af42" {
                value 36;
                description
                  "Match packets with AF42 dscp (100100)";
              }
              enum "af43" {
                value 38;
                description
                  "Match packets with AF43 dscp (100110)";
              }
              enum "cs1" {
                value 8;
                description
                  "Match packets with CS1(precedence 1) dscp
                 (001000)";
              }
              enum "cs2" {
                value 16;
                description
                  "Match packets with CS2(precedence 2) dscp
                 (010000)";
              }
              enum "cs3" {
                value 24;
                description
                  "Match packets with CS3(precedence 3) dscp
                 (011000)";
              }
              enum "cs4" {
                value 32;
                description
                  "Match packets with CS4(precedence 4) dscp
                 (100000)";
              }
              enum "cs5" {
                value 40;
                description
                  "Match packets with CS5(precedence 5) dscp
                 (101000)";
              }
              enum "cs6" {
                value 48;
                description
                  "Match packets with CS6(precedence 6) dscp
                 (110000)";
              }
              enum "cs7" {
                value 56;
                description
                  "Match packets with CS7(precedence 7) dscp
                 (111000)";
              }
              enum "ef" {
                value 46;
                description
                  "Match packets with EF dscp (101110)";
              }
            }
            type uint32 {
              range "0..63";
            }
          }
          description "Ipsla lsp reply dscp";
        }
    
        typedef Ipsla-life {
          type union {
            type enumeration {
              enum "forever" {
                value 0;
                description
                  "Schedule operation to run forever";
              }
            }
            type uint32 {
              range "0..2147483647";
            }
          }
          description "Ipsla life";
        }
    
        typedef Ipsla-threshold-types {
          type enumeration {
            enum "immediate" {
              value 2;
              description
                "Take action immediately after threshold is
               violated";
            }
            enum "consecutive" {
              value 3;
              description
                "Take action after N consecutive threshold
               violations";
            }
            enum "xof-y" {
              value 4;
              description
                "Take action after X violations in Y probes";
            }
            enum "average" {
              value 5;
              description
                "Take action if average of N probes violates the
               threshold";
            }
          }
          description "Ipsla threshold types";
        }
    
        typedef Ipsla-lsp-monitor-threshold-types {
          type enumeration {
            enum "immediate" {
              value 2;
              description
                "Take action immediately after threshold is
               violated";
            }
            enum "consecutive" {
              value 3;
              description
                "Take action after N consecutive threshold
               violations";
            }
          }
          description
            "Ipsla lsp monitor threshold types";
        }
    
        typedef Ipsla-history-filter {
          type enumeration {
            enum "failed" {
              value 2;
              description
                "Store data for failed operations";
            }
            enum "all" {
              value 255;
              description
                "Store data for all operations";
            }
          }
          description "Ipsla history filter";
        }
    
        grouping TAG {
          description
            "Common node of mpls-lsp-ping, mpls-lsp-trace";
          leaf tag {
            type string {
              length "1..128";
            }
            description
              "Add a tag for this MPLSLM instance";
          }
        }  // grouping TAG
    
        grouping IPSLA-OP-DEF-COMMON-CFG-TAG {
          description
            "Common node of mpls-lsp-ping,
           mpls-lsp-traceCommon node of icmp-echo,
           icmp-path-echo, icmp-path-jitter, udp-echo,
           udp-jitter, mpls-lsp-ping, mpls-lsp-trace";
          leaf tag {
            type string {
              length "1..128";
            }
            description
              "Add a tag for this operation";
          }
        }  // grouping IPSLA-OP-DEF-COMMON-CFG-TAG
    
        grouping LSR-PATH {
          description
            "Common node of icmp-path-echo, icmp-path-jitter";
          container lsr-path {
            presence
              "Indicates a lsr-path node is configured.";
            description
              "Loose source routing path (up to 8 intermediate
             nodes)";
            leaf node1 {
              type inet:ipv4-address-no-zone;
              mandatory true;
              description
                "IPv4 address of the intermediate node";
            }
    
            leaf node2 {
              type inet:ipv4-address-no-zone;
              description
                "IPv4 address of the intermediate node";
            }
    
            leaf node3 {
              type inet:ipv4-address-no-zone;
              description
                "IPv4 address of the intermediate node";
            }
    
            leaf node4 {
              type inet:ipv4-address-no-zone;
              description
                "IPv4 address of the intermediate node";
            }
    
            leaf node5 {
              type inet:ipv4-address-no-zone;
              description
                "IPv4 address of the intermediate node";
            }
    
            leaf node6 {
              type inet:ipv4-address-no-zone;
              description
                "IPv4 address of the intermediate node";
            }
    
            leaf node7 {
              type inet:ipv4-address-no-zone;
              description
                "IPv4 address of the intermediate node";
            }
    
            leaf node8 {
              type inet:ipv4-address-no-zone;
              description
                "IPv4 address of the intermediate node";
            }
          }  // container lsr-path
        }  // grouping LSR-PATH
    
        grouping VERIFY-DATA {
          description
            "Common node of udp-echo, udp-jitter";
          leaf verify-data {
            type empty;
            description
              "Check each IPSLA response for corruption";
          }
        }  // grouping VERIFY-DATA
    
        grouping SOURCE-ADDRESS {
          description
            "Common node of icmp-echo, icmp-path-echo,
           icmp-path-jitter, udp-echo, udp-jitter,
           mpls-lsp-ping, mpls-lsp-trace";
          leaf source-address {
            type string;
            description
              "Enter IPv4 address of the source device";
          }
        }  // grouping SOURCE-ADDRESS
    
        grouping FREQUENCY {
          description
            "Common node of icmp-echo, icmp-path-echo,
           icmp-path-jitter, udp-echo, udp-jitter,
           mpls-lsp-ping, mpls-lsp-trace";
          leaf frequency {
            type uint32 {
              range "1..604800";
            }
            units "second";
            default "60";
            description
              "Probe interval in seconds";
          }
        }  // grouping FREQUENCY
    
        grouping DEST-ADDRESS {
          description
            "Common node of icmp-echo, icmp-path-echo,
           icmp-path-jitter, udp-echo, udp-jitter";
          leaf dest-address {
            type string;
            description
              "Enter IPv4 address of the destination device";
          }
        }  // grouping DEST-ADDRESS
    
        grouping SCAN {
          description
            "Common node of mpls-lsp-ping, mpls-lsp-trace";
          container scan {
            description
              "Scanning parameters configuration";
            leaf interval {
              type uint32 {
                range "1..70560";
              }
              units "minute";
              default "240";
              description
                "Time interval for automatic discovery";
            }
    
            leaf delete-factor {
              type uint32 {
                range "0..2147483647";
              }
              default "1";
              description
                "Number of times for automatic deletion";
            }
          }  // container scan
        }  // grouping SCAN
    
        grouping DSCP-BITS {
          description
            "Common node of reply, reply";
          leaf dscp-bits {
            type Ipsla-lsp-reply-dscp;
            description
              "DSCP bits in the reply IP header";
          }
        }  // grouping DSCP-BITS
    
        grouping THRESHOLD-TYPE {
          description
            "Common node of timeout, connection-loss";
          container threshold-type {
            description
              "Type of thresholding to perform on the monitored
             element";
            leaf thresh-type {
              type Ipsla-lsp-monitor-threshold-types;
              description
                "Type of thresholding to perform";
            }
    
            leaf count1 {
              when
                "../thresh-type != 'immediate'" {
                description
                  "../ThreshType != Immediate";
              }
              type uint32 {
                range "1..16";
              }
              description
                "Probe count for consecutive";
            }
    
            leaf count2 {
              when
                "../thresh-type != 'immediate' and ../thresh-type != 'consecutive'" {
                description
                  "../ThreshType != Immediate and ../ThreshType
                 != Consecutive";
              }
              type uint32 {
                range "1..16";
              }
              description
                "Y value, when threshold type is XofY";
            }
          }  // container threshold-type
        }  // grouping THRESHOLD-TYPE
    
        grouping IPSLA-OP-REACT-CFG-THRESHOLD-TYPE {
          description
            "Common node of timeout, connection-lossCommon
           node of timeout, verify-error, connection-loss,
           jitter-average-sd, jitter-average-ds,
           jitter-average, packet-loss-ds, packet-loss-sd,
           rtt";
          container threshold-type {
            description
              "Type of thresholding to perform on the monitored
             element";
            leaf thresh-type {
              type Ipsla-threshold-types;
              description
                "Type of thresholding to perform";
            }
    
            leaf count1 {
              when
                "../thresh-type != 'immediate'" {
                description
                  "../ThreshType != Immediate";
              }
              type uint32 {
                range "1..16";
              }
              description
                "Probe count for avarage, consecutive case or X
               value for XofY case";
            }
    
            leaf count2 {
              when
                "../thresh-type != 'immediate' and ../thresh-type != 'consecutive' and ../thresh-type != 'average'" {
                description
                  "../ThreshType != Immediate and ../ThreshType
                 != Consecutive and ../ThreshType != Average";
              }
              type uint32 {
                range "1..16";
              }
              description
                "Y value, when threshold type is XofY";
            }
          }  // container threshold-type
        }  // grouping IPSLA-OP-REACT-CFG-THRESHOLD-TYPE
    
        grouping ANY-VRF {
          description
            "Common node of remote-port-number,
           any-remote-port";
          leaf any-vrf {
            type empty;
            description "Configure any vrf name";
          }
        }  // grouping ANY-VRF
    
        grouping STATISTICS {
          description
            "Common node of icmp-echo, udp-echo, udp-jitter,
           mpls-lsp-ping, mpls-lsp-trace";
          container statistics {
            description
              "Statistics collection aggregated over an hour";
            leaf hours {
              type uint32 {
                range "0..25";
              }
              units "hour";
              default "2";
              description
                "Number of hours for which hourly statistics are
               kept";
            }
    
            leaf dist-interval {
              type uint32 {
                range "1..100";
              }
              units "millisecond";
              default "20";
              description
                "Specify distribution interval in milliseconds";
            }
    
            leaf dist-count {
              type uint32 {
                range "1..20";
              }
              default "1";
              description
                "Count of distribution intervals maintained";
            }
          }  // container statistics
        }  // grouping STATISTICS
    
        grouping IPSLA-MPLSLM-DEF-CFG-STATISTICS {
          description
            "Common node of icmp-echo, udp-echo, udp-jitter,
           mpls-lsp-ping, mpls-lsp-traceCommon node of
           mpls-lsp-ping, mpls-lsp-trace";
          container statistics {
            description
              "Statistics collection aggregated over an hour";
            leaf hours {
              type uint32 {
                range "0..2";
              }
              units "hour";
              default "2";
              description
                "Number of hours for which hourly statistics are
               kept";
            }
          }  // container statistics
        }  // grouping IPSLA-MPLSLM-DEF-CFG-STATISTICS
    
        grouping TIMEOUT {
          description
            "Common node of mpls-lsp-ping, mpls-lsp-trace";
          leaf timeout {
            type uint32 {
              range "1..604800000";
            }
            units "millisecond";
            default "5000";
            description
              "Probe/Control timeout in milliseconds";
          }
        }  // grouping TIMEOUT
    
        grouping IPSLA-OP-DEF-COMMON-CFG-TIMEOUT {
          description
            "Common node of mpls-lsp-ping,
           mpls-lsp-traceCommon node of icmp-echo,
           icmp-path-echo, icmp-path-jitter, udp-echo,
           udp-jitter, mpls-lsp-ping, mpls-lsp-trace";
          leaf timeout {
            type uint32 {
              range "1..604800000";
            }
            units "millisecond";
            default "5000";
            description
              "Probe/Control timeout in milliseconds";
          }
        }  // grouping IPSLA-OP-DEF-COMMON-CFG-TIMEOUT
    
        grouping CONTROL-DISABLE {
          description
            "Common node of udp-echo, udp-jitter";
          leaf control-disable {
            type empty;
            description
              "Disable control packets";
          }
        }  // grouping CONTROL-DISABLE
    
        grouping FORCE-EXPLICIT-NULL {
          description
            "Common node of mpls-lsp-ping, mpls-lsp-trace";
          leaf force-explicit-null {
            type empty;
            description
              "Forced option for the MPLS LSP operation";
          }
        }  // grouping FORCE-EXPLICIT-NULL
    
        grouping IPSLA-MPLSLM-DEF-CFG-FORCE-EXPLICIT-NULL {
          description
            "Common node of mpls-lsp-ping,
           mpls-lsp-traceCommon node of mpls-lsp-ping,
           mpls-lsp-trace";
          leaf force-explicit-null {
            type empty;
            description
              "Forced option for the MPLS LSP operation";
          }
        }  // grouping IPSLA-MPLSLM-DEF-CFG-FORCE-EXPLICIT-NULL
    
        grouping REMOTE-PORT {
          description
            "Common node of remote-ipv4-address,
           remote-ipv6-address, any-remote-ipv4-address-path
           , any-remote-ipv6-address-path";
          container remote-port-numbers {
            description
              "Configuration of remote port";
            list remote-port-number {
              key "remote-port";
              description
                "Enter value of remote port";
              leaf remote-port {
                type inet:port-number;
                description "Remote port";
              }
    
              uses ANY-VRF;
    
              uses IPSLA-RESPONDER-CFG-VRF-MP;
            }  // list remote-port-number
          }  // container remote-port-numbers
        }  // grouping REMOTE-PORT
    
        grouping ENHANCED-STATS-TABLE {
          description
            "Common node of icmp-echo, udp-echo, udp-jitter,
           mpls-lsp-ping";
          container enhanced-stats {
            description
              "Table of statistics collection intervals";
            list enhanced-stat {
              key "interval";
              description
                "Statistics for a specified time interval";
              leaf buckets {
                type uint32 {
                  range "1..100";
                }
                default "15";
                description
                  "Buckets of enhanced statistics kept";
              }
    
              leaf interval {
                type uint32 {
                  range "1..3600";
                }
                units "second";
                description
                  "Interval in seconds";
              }
            }  // list enhanced-stat
          }  // container enhanced-stats
        }  // grouping ENHANCED-STATS-TABLE
    
        grouping LSP-SELECTOR {
          description
            "Common node of mpls-lsp-ping, mpls-lsp-trace";
          leaf lsp-selector {
            type inet:ipv4-address-no-zone;
            default "1.0.0.127";
            description
              "Attributes used for path selection during LSP
             load balancing";
          }
        }  // grouping LSP-SELECTOR
    
        grouping IPSLA-MPLSLM-DEF-CFG-LSP-SELECTOR {
          description
            "Common node of mpls-lsp-ping,
           mpls-lsp-traceCommon node of mpls-lsp-ping,
           mpls-lsp-trace";
          leaf lsp-selector {
            type inet:ipv4-address-no-zone;
            default "1.0.0.127";
            description
              "Attributes used for path selection during LSP
             load balancing";
          }
        }  // grouping IPSLA-MPLSLM-DEF-CFG-LSP-SELECTOR
    
        grouping ACTION-TYPE {
          description
            "Common node of timeout, verify-error,
           connection-loss, jitter-average-sd,
           jitter-average-ds, jitter-average, packet-loss-ds
           , packet-loss-sd, rtt";
          container action-type {
            description
              "Type of action to be taken on threshold
             violation(s)";
            leaf logging {
              type empty;
              description
                "Generate a syslog alarm on threshold violation";
            }
    
            leaf trigger {
              type empty;
              description
                "Generate trigger to active reaction triggered
               operation(s)";
            }
          }  // container action-type
        }  // grouping ACTION-TYPE
    
        grouping IPSLA-MPLSLM-REACT-CFG-ACTION-TYPE {
          description
            "Common node of timeout, verify-error,
           connection-loss, jitter-average-sd,
           jitter-average-ds, jitter-average, packet-loss-ds
           , packet-loss-sd, rttCommon node of timeout,
           connection-loss, lpd-tree-trace, lpd-group";
          container action-type {
            description
              "Type of action to be taken on threshold
             violation(s)";
            leaf logging {
              type empty;
              description
                "Generate a syslog alarm on threshold violation";
            }
          }  // container action-type
        }  // grouping IPSLA-MPLSLM-REACT-CFG-ACTION-TYPE
    
        grouping REPLY {
          description
            "Common node of mpls-lsp-ping, mpls-lsp-trace";
          container reply {
            description
              "Echo reply options for the MPLS LSP operation";
            leaf dscp-bits {
              type Ipsla-lsp-reply-dscp;
              description
                "DSCP bits in the reply IP header";
            }
    
            leaf mode {
              type Ipsla-lsp-monitor-reply-mode;
              description
                "Enables use of router alert in echo reply
               packets";
            }
          }  // container reply
        }  // grouping REPLY
    
        grouping IPSLA-MPLSLM-DEF-CFG-CREATE {
          description
            "Common node of icmp-echo, icmp-path-echo,
           icmp-path-jitter, udp-echo, udp-jitter,
           mpls-lsp-ping, mpls-lsp-traceCommon node of
           mpls-lsp-ping, mpls-lsp-trace";
          leaf create {
            type empty;
            description
              "Create MPLSLM instance with specified type";
          }
        }  // grouping IPSLA-MPLSLM-DEF-CFG-CREATE
    
        grouping IPSLA-MPLSLM-REACT-CFG-CREATE {
          description
            "Common node of icmp-echo, icmp-path-echo,
           icmp-path-jitter, udp-echo, udp-jitter,
           mpls-lsp-ping, mpls-lsp-traceCommon node of
           mpls-lsp-ping, mpls-lsp-traceCommon node of
           timeout, verify-error, connection-loss,
           jitter-average, jitter-average-sd,
           jitter-average-ds, packet-loss-sd, packet-loss-ds
           , rttCommon node of timeout, connection-loss,
           lpd-tree-trace, lpd-group";
          leaf create {
            type empty;
            description
              "Create reaction condition for a particular
             MPLSLM";
          }
        }  // grouping IPSLA-MPLSLM-REACT-CFG-CREATE
    
        grouping TOS {
          description
            "Common node of icmp-echo, icmp-path-echo,
           icmp-path-jitter, udp-echo, udp-jitter";
          leaf tos {
            type uint32 {
              range "0..255";
            }
            default "0";
            description
              "Type of service setting in probe packet";
          }
        }  // grouping TOS
    
        grouping SOURCE-PORT {
          description
            "Common node of udp-echo, udp-jitter";
          leaf source-port {
            type inet:port-number;
            description
              "Port number on source device";
          }
        }  // grouping SOURCE-PORT
    
        grouping OUTPUT-NEXTHOP {
          description
            "Common node of mpls-lsp-ping, mpls-lsp-trace";
          leaf output-nexthop {
            type inet:ipv4-address-no-zone;
            description
              "Echo request output nexthop";
          }
        }  // grouping OUTPUT-NEXTHOP
    
        grouping IPSLA-MPLSLM-DEF-CFG-OUTPUT-NEXTHOP {
          description
            "Common node of mpls-lsp-ping,
           mpls-lsp-traceCommon node of mpls-lsp-ping,
           mpls-lsp-trace";
          leaf output-nexthop {
            type inet:ipv4-address-no-zone;
            description
              "Echo request output nexthop";
          }
        }  // grouping IPSLA-MPLSLM-DEF-CFG-OUTPUT-NEXTHOP
    
        grouping ACCESSLIST {
          description
            "Common node of mpls-lsp-ping, mpls-lsp-trace";
          leaf accesslist {
            type xr:Cisco-ios-xr-string {
              length "1..32";
            }
            description
              "Apply access list to filter PE addresses";
          }
        }  // grouping ACCESSLIST
    
        grouping OUTPUT-INTERFACE {
          description
            "Common node of mpls-lsp-ping, mpls-lsp-trace";
          leaf output-interface {
            type xr:Interface-name;
            description
              "Echo request output interface";
          }
        }  // grouping OUTPUT-INTERFACE
    
        grouping IPSLA-OP-DEF-MPLS-LSP-CFG-OUTPUT-INTERFACE {
          description
            "Common node of mpls-lsp-ping,
           mpls-lsp-traceCommon node of mpls-lsp-ping,
           mpls-lsp-trace";
          leaf output-interface {
            type xr:Interface-name;
            description
              "Echo request output interface";
          }
        }  // grouping IPSLA-OP-DEF-MPLS-LSP-CFG-OUTPUT-INTERFACE
    
        grouping EXP-BITS {
          description
            "Common node of mpls-lsp-ping, mpls-lsp-trace";
          leaf exp-bits {
            type uint32 {
              range "0..7";
            }
            default "0";
            description
              "EXP bits in MPLS LSP echo request header";
          }
        }  // grouping EXP-BITS
    
        grouping IPSLA-OP-DEF-MPLS-LSP-CFG-EXP-BITS {
          description
            "Common node of mpls-lsp-ping,
           mpls-lsp-traceCommon node of mpls-lsp-ping,
           mpls-lsp-trace";
          leaf exp-bits {
            type uint32 {
              range "0..7";
            }
            default "0";
            description
              "EXP bits in MPLS LSP echo reply header";
          }
        }  // grouping IPSLA-OP-DEF-MPLS-LSP-CFG-EXP-BITS
    
        grouping VRF {
          description
            "Common node of icmp-echo, icmp-path-echo,
           icmp-path-jitter, udp-echo, udp-jitter";
          leaf vrf {
            type xr:Cisco-ios-xr-string {
              length "1..32";
            }
            description
              "Configure IPSLA for a VPN Routing/Forwarding
             instance)";
          }
        }  // grouping VRF
    
        grouping IPSLA-MPLSLM-DEF-CFG-VRF {
          description
            "Common node of icmp-echo, icmp-path-echo,
           icmp-path-jitter, udp-echo, udp-jitterCommon node
           of mpls-lsp-ping, mpls-lsp-trace";
          leaf vrf {
            type xr:Cisco-ios-xr-string {
              length "1..32";
            }
            description
              "Specify a VRF instance to be monitored";
          }
        }  // grouping IPSLA-MPLSLM-DEF-CFG-VRF
    
        grouping HISTORY {
          description
            "Common node of icmp-echo, udp-echo, mpls-lsp-ping
           , mpls-lsp-trace";
          container history {
            description
              "Configure the history parameters for this
             operation";
            leaf lives {
              type uint32 {
                range "0..2";
              }
              default "0";
              description
                "Specify number of lives to be kept";
            }
    
            leaf history-filter {
              type Ipsla-history-filter;
              description
                "Choose type of data to be stored in history
               buffer";
            }
    
            leaf buckets {
              type uint32 {
                range "1..60";
              }
              default "15";
              description
                "Specify number of history buckets";
            }
          }  // container history
        }  // grouping HISTORY
    
        grouping ANY-REMOTE-PORT {
          description
            "Common node of remote-ipv4-address,
           remote-ipv6-address, any-remote-ipv4-address-path
           , any-remote-ipv6-address-path";
          container any-remote-port {
            description
              "Configuration of any remote port";
            uses ANY-VRF;
    
            uses IPSLA-RESPONDER-CFG-VRF-MP;
          }  // container any-remote-port
        }  // grouping ANY-REMOTE-PORT
    
        grouping IPSLA-RESPONDER-CFG-VRF-MP {
          description
            "Common node of remote-port-number,
           any-remote-port";
          container vrf-names {
            description "Configuration of vrf";
            list vrf-name {
              key "vrf-name";
              description
                "Configure vrf name value";
              leaf vrf-name {
                type xr:Cisco-ios-xr-string {
                  length "1..32";
                }
                description "VRF Name";
              }
            }  // list vrf-name
          }  // container vrf-names
        }  // grouping IPSLA-RESPONDER-CFG-VRF-MP
    
        grouping THRESHOLD-LIMITS {
          description
            "Common node of jitter-average-sd,
           jitter-average-ds, jitter-average, packet-loss-ds
           , packet-loss-sd, rtt";
          container threshold-limits {
            presence
              "Indicates a threshold-limits node is configured.";
            description
              "Specify threshold limits for the monitored
             element";
            leaf lower-limit {
              type uint32 {
                range "1..4294967295";
              }
              mandatory true;
              description
                "Threshold lower limit value";
            }
    
            leaf upper-limit {
              type uint32 {
                range "1..4294967295";
              }
              mandatory true;
              description
                "Threshold upper limit value";
            }
          }  // container threshold-limits
        }  // grouping THRESHOLD-LIMITS
    
        grouping DEST-PORT {
          description
            "Common node of udp-echo, udp-jitter";
          leaf dest-port {
            type inet:port-number;
            description
              "Port number on target device";
          }
        }  // grouping DEST-PORT
    
        grouping LOCAL-PORT {
          description
            "Common node of local-ipv4-address,
           local-ipv6-address, any-local-ipv4-address-path,
           any-local-ipv6-address-path";
          container local-port-numbers {
            description
              "Configuration of local port";
            list local-port-number {
              key "local-port";
              description
                "Enter value of local port";
              container remote-ip {
                description
                  "Configure remote ip address";
                container any-remote-ipv6-address-path {
                  description
                    "Configure any ipv6 address";
                  uses REMOTE-PORT;
    
                  uses ANY-REMOTE-PORT;
                }  // container any-remote-ipv6-address-path
    
                container remote-ipv4-addresses {
                  description
                    "Configure IPV4 address";
                  list remote-ipv4-address {
                    key "remotev4-address";
                    description
                      "Enter value of remote ipv4 address";
                    leaf remotev4-address {
                      type xr:Cisco-ios-xr-string;
                      description
                        "Remote IPv4 address";
                    }
    
                    uses REMOTE-PORT;
    
                    uses ANY-REMOTE-PORT;
                  }  // list remote-ipv4-address
                }  // container remote-ipv4-addresses
    
                container any-remote-ipv4-address-path {
                  description
                    "Configure any ipv4 address";
                  uses REMOTE-PORT;
    
                  uses ANY-REMOTE-PORT;
                }  // container any-remote-ipv4-address-path
    
                container remote-ipv6-addresses {
                  description
                    "Configure IPV6 address";
                  list remote-ipv6-address {
                    key "remotev6-address";
                    description
                      "Enter value of remote ipv6 address";
                    leaf remotev6-address {
                      type xr:Cisco-ios-xr-string;
                      description
                        "Remote IPv6 address";
                    }
    
                    uses REMOTE-PORT;
    
                    uses ANY-REMOTE-PORT;
                  }  // list remote-ipv6-address
                }  // container remote-ipv6-addresses
              }  // container remote-ip
    
              leaf local-port {
                type inet:port-number;
                description "Local port";
              }
            }  // list local-port-number
          }  // container local-port-numbers
        }  // grouping LOCAL-PORT
    
        augment /a1:snmp/a1:notification {
          description
            "This augment extends the configuration data of
           'Cisco-IOS-XR-snmp-agent-cfg'";
          leaf ipsla {
            type boolean;
            description
              "Enable SNMP RTTMON-MIB IPSLA traps";
          }
        }
    
        container ipsla {
          description "IPSLA configuration";
          container common {
            description
              "IPSLA application common configuration";
            container hardware-timestamp {
              description
                "Hardware Timestamp configuration";
              leaf disable {
                type empty;
                description
                  "states true if hw-timestamp is disabled";
              }
            }  // container hardware-timestamp
    
            container authentication {
              description
                "Authenticaion configuration";
              leaf key-chain {
                type string {
                  length "1..32";
                }
                description
                  "Use MD5 authentication for IPSLA control
                 message";
              }
            }  // container authentication
    
            leaf low-memory {
              type uint32 {
                range "0..4294967295";
              }
              default "20480";
              description
                "Configure low memory water mark (default 20M)";
            }
          }  // container common
    
          container mpls-lsp-monitor {
            description
              "MPLS LSP Monitor(MPLSLM) configuration";
            container reactions {
              description
                "MPLSLM Reaction configuration";
              list reaction {
                key "monitor-id";
                description
                  "Reaction configuration for an MPLSLM instance";
                container condition {
                  description
                    "Reaction condition specification";
                  container lpd-tree-trace {
                    presence
                      "CLI submode compatibility.";
                    description
                      "React on LPD Tree Trace violation for a
                     monitored MPLSLM";
                    uses IPSLA-MPLSLM-REACT-CFG-ACTION-TYPE;
                  }  // container lpd-tree-trace
    
                  container timeout {
                    presence
                      "CLI submode compatibility.";
                    description
                      "React on probe timeout";
                    uses IPSLA-MPLSLM-REACT-CFG-ACTION-TYPE;
    
                    uses THRESHOLD-TYPE;
                  }  // container timeout
    
                  container lpd-group {
                    presence
                      "CLI submode compatibility.";
                    description
                      "React on LPD Group violation for a monitored
                     MPLSLM";
                    uses IPSLA-MPLSLM-REACT-CFG-ACTION-TYPE;
                  }  // container lpd-group
    
                  container connection-loss {
                    presence
                      "CLI submode compatibility.";
                    description
                      "React on connection loss for a monitored
                     MPLSLM";
                    uses IPSLA-MPLSLM-REACT-CFG-ACTION-TYPE;
    
                    uses THRESHOLD-TYPE;
                  }  // container connection-loss
                }  // container condition
    
                leaf monitor-id {
                  type uint32 {
                    range "1..2048";
                  }
                  description
                    "Monitor identifier";
                }
              }  // list reaction
            }  // container reactions
    
            container schedules {
              description
                "MPLSLM schedule configuration";
              list schedule {
                key "monitor-id";
                description
                  "Schedule an MPLSLM instance";
                container start-time {
                  description
                    "Start time of MPLSLM instance";
                  leaf schedule-type {
                    type Ipsla-sched;
                    description
                      "Type of schedule";
                  }
    
                  leaf hour {
                    when
                      "../schedule-type != 'now' and ../schedule-type != 'pending'" {
                      description
                        "../ScheduleType != Now and ../ScheduleType
                       != Pending";
                    }
                    type uint32 {
                      range "0..23";
                    }
                    description
                      "Hour value(hh) in hh:mm:ss specification";
                  }
    
                  leaf minute {
                    when
                      "../schedule-type != 'now' and ../schedule-type != 'pending'" {
                      description
                        "../ScheduleType != Now and ../ScheduleType
                       != Pending";
                    }
                    type uint32 {
                      range "0..59";
                    }
                    description
                      "Minute value(mm) in hh:mm:ss specification";
                  }
    
                  leaf second {
                    when
                      "../schedule-type != 'now' and ../schedule-type != 'pending'" {
                      description
                        "../ScheduleType != Now and ../ScheduleType
                       != Pending";
                    }
                    type uint32 {
                      range "0..59";
                    }
                    description
                      "Second value(ss) in hh:mm:ss specification";
                  }
    
                  leaf month {
                    when
                      "../schedule-type != 'now' and ../schedule-type != 'pending' and ../schedule-type != 'after'" {
                      description
                        "../ScheduleType != Now and ../ScheduleType
                       != Pending and ../ScheduleType != After";
                    }
                    type Ipsla-month;
                    description
                      "Month of the year (optional. Default current
                     month)";
                  }
    
                  leaf day {
                    when
                      "../schedule-type != 'now' and ../schedule-type != 'pending' and ../schedule-type != 'after'" {
                      description
                        "../ScheduleType != Now and ../ScheduleType
                       != Pending and ../ScheduleType != After";
                    }
                    type uint32 {
                      range "1..31";
                    }
                    description
                      "Day of the month(optional. Default today)";
                  }
    
                  leaf year {
                    when
                      "../schedule-type != 'now' and ../schedule-type != 'pending' and ../schedule-type != 'after'" {
                      description
                        "../ScheduleType != Now and ../ScheduleType
                       != Pending and ../ScheduleType != After";
                    }
                    type uint32 {
                      range "1993..2035";
                    }
                    description
                      "Year (optional. Default current year)";
                  }
                }  // container start-time
    
                leaf frequency {
                  type uint32 {
                    range "1..604800";
                  }
                  units "second";
                  description
                    "Group schedule frequency of the probing";
                }
    
                leaf period {
                  type uint32 {
                    range "1..604800";
                  }
                  units "second";
                  description
                    "Group schedule period range";
                }
    
                leaf monitor-id {
                  type uint32 {
                    range "1..2048";
                  }
                  description
                    "Monitor indentifier";
                }
              }  // list schedule
            }  // container schedules
    
            container definitions {
              description
                "MPLS LSP Monitor definition table";
              list definition {
                key "monitor-id";
                description
                  "MPLS LSP Monitor definition";
                container operation-type {
                  description
                    "Operation type specification";
                  container mpls-lsp-trace {
                    presence
                      "CLI submode compatibility.";
                    description
                      "Perform MPLS LSP Trace operation";
                    leaf ttl {
                      type uint32 {
                        range "1..255";
                      }
                      default "30";
                      description
                        "Time to live value";
                    }
    
                    uses EXP-BITS;
    
                    uses REPLY;
    
                    uses TAG;
    
                    uses IPSLA-MPLSLM-DEF-CFG-LSP-SELECTOR;
    
                    uses OUTPUT-INTERFACE;
    
                    uses ACCESSLIST;
    
                    uses IPSLA-MPLSLM-DEF-CFG-OUTPUT-NEXTHOP;
    
                    uses IPSLA-MPLSLM-DEF-CFG-STATISTICS;
    
                    uses TIMEOUT;
    
                    uses IPSLA-MPLSLM-DEF-CFG-FORCE-EXPLICIT-NULL;
    
                    uses SCAN;
    
                    uses IPSLA-MPLSLM-DEF-CFG-VRF;
                  }  // container mpls-lsp-trace
    
                  container mpls-lsp-ping {
                    presence
                      "CLI submode compatibility.";
                    description
                      "Perform MPLS LSP Ping operation";
                    container data-size {
                      description
                        "Protocol data size in payload of probe
                       packets";
                      leaf request {
                        type uint32 {
                          range "100..17986";
                        }
                        units "byte";
                        default "100";
                        description
                          "Payload size in request probe packet";
                      }
                    }  // container data-size
    
                    container path-discover {
                      presence
                        "CLI submode compatibility.";
                      description
                        "Path discover configuration";
                      container session {
                        description
                          "Session parameters configuration";
                        leaf timeout {
                          type uint32 {
                            range "1..900";
                          }
                          units "second";
                          default "120";
                          description
                            "Timeout value for path discovery request";
                        }
    
                        leaf limit {
                          type uint32 {
                            range "1..15";
                          }
                          default "1";
                          description
                            "Number of concurrent active path
                           discovery requests at one time";
                        }
                      }  // container session
    
                      container path {
                        description
                          "Path parameters configuration";
                        container secondary-frequency {
                          presence
                            "Indicates a secondary-frequency node is configured.";
                          description
                            "Frequency to be used if path failure
                           condition is detected";
                          leaf type {
                            type Ipsla-secondary-frequency;
                            mandatory true;
                            description
                              "Condition type of path failure";
                          }
    
                          leaf frequency {
                            type uint32 {
                              range "1..604800";
                            }
                            units "second";
                            mandatory true;
                            description
                              "Frequency value in seconds";
                          }
                        }  // container secondary-frequency
    
                        leaf retry {
                          type uint32 {
                            range "1..16";
                          }
                          default "1";
                          description
                            "Number of attempts before declaring the
                           path as down";
                        }
                      }  // container path
    
                      container echo {
                        description
                          "Echo parameters configuration";
                        container multipath {
                          description
                            "Downstream map multipath settings";
                          leaf bitmap-size {
                            type uint32 {
                              range "1..256";
                            }
                            default "32";
                            description
                              "Multipath bit size";
                          }
                        }  // container multipath
    
                        leaf interval {
                          type uint32 {
                            range "0..3600000";
                          }
                          units "millisecond";
                          default "0";
                          description
                            "Send interval between echo requests
                           during path discovery";
                        }
    
                        leaf timeout {
                          type uint32 {
                            range "1..3600";
                          }
                          units "second";
                          default "5";
                          description
                            "Timeout value for echo requests during
                           path discovery";
                        }
    
                        leaf retry {
                          type uint32 {
                            range "0..10";
                          }
                          default "3";
                          description
                            "Number of timeout retry attempts during
                           path discovery";
                        }
    
                        leaf maximum-lsp-selector {
                          type inet:ipv4-address-no-zone;
                          default
                            "127.255.255.255";
                          description
                            "Maximum IPv4 address used as destination
                           in echo request";
                        }
                      }  // container echo
    
                      leaf scan-period {
                        type uint32 {
                          range "0..7200";
                        }
                        units "minute";
                        default "0";
                        description
                          "Time period for finishing path discovery";
                      }
                    }  // container path-discover
    
                    leaf ttl {
                      type uint32 {
                        range "1..255";
                      }
                      default "255";
                      description
                        "Time to live value";
                    }
    
                    uses EXP-BITS;
    
                    uses REPLY;
    
                    uses TAG;
    
                    uses IPSLA-MPLSLM-DEF-CFG-LSP-SELECTOR;
    
                    uses OUTPUT-INTERFACE;
    
                    uses ACCESSLIST;
    
                    uses IPSLA-MPLSLM-DEF-CFG-OUTPUT-NEXTHOP;
    
                    uses IPSLA-MPLSLM-DEF-CFG-STATISTICS;
    
                    uses TIMEOUT;
    
                    uses IPSLA-MPLSLM-DEF-CFG-FORCE-EXPLICIT-NULL;
    
                    uses SCAN;
    
                    uses IPSLA-MPLSLM-DEF-CFG-VRF;
                  }  // container mpls-lsp-ping
                }  // container operation-type
    
                leaf monitor-id {
                  type uint32 {
                    range "1..2048";
                  }
                  description
                    "Monitor identifier";
                }
              }  // list definition
            }  // container definitions
          }  // container mpls-lsp-monitor
    
          container operation {
            description
              "IPSLA Operation configuration";
            container schedules {
              description
                "Schedule an operation";
              list schedule {
                key "operation-id";
                description
                  "Operation schedule configuration";
                container start-time {
                  description
                    "Start time of the operation";
                  leaf schedule-type {
                    type Ipsla-sched;
                    description
                      "Type of schedule";
                  }
    
                  leaf hour {
                    when
                      "../schedule-type != 'now' and ../schedule-type != 'pending'" {
                      description
                        "../ScheduleType != Now and ../ScheduleType
                       != Pending";
                    }
                    type uint32 {
                      range "0..23";
                    }
                    description
                      "Hour value(hh) in hh:mm:ss specification";
                  }
    
                  leaf minute {
                    when
                      "../schedule-type != 'now' and ../schedule-type != 'pending'" {
                      description
                        "../ScheduleType != Now and ../ScheduleType
                       != Pending";
                    }
                    type uint32 {
                      range "0..59";
                    }
                    description
                      "Minute value(mm) in hh:mm:ss specification";
                  }
    
                  leaf second {
                    when
                      "../schedule-type != 'now' and ../schedule-type != 'pending'" {
                      description
                        "../ScheduleType != Now and ../ScheduleType
                       != Pending";
                    }
                    type uint32 {
                      range "0..59";
                    }
                    description
                      "Second value(ss) in hh:mm:ss specification";
                  }
    
                  leaf month {
                    when
                      "../schedule-type != 'now' and ../schedule-type != 'pending' and ../schedule-type != 'after'" {
                      description
                        "../ScheduleType != Now and ../ScheduleType
                       != Pending and ../ScheduleType != After";
                    }
                    type Ipsla-month;
                    description
                      "Month of the year (optional. Default current
                     month)";
                  }
    
                  leaf day {
                    when
                      "../schedule-type != 'now' and ../schedule-type != 'pending' and ../schedule-type != 'after'" {
                      description
                        "../ScheduleType != Now and ../ScheduleType
                       != Pending and ../ScheduleType != After";
                    }
                    type uint32 {
                      range "1..31";
                    }
                    description
                      "Day of the month(optional. Default today)";
                  }
    
                  leaf year {
                    when
                      "../schedule-type != 'now' and ../schedule-type != 'pending' and ../schedule-type != 'after'" {
                      description
                        "../ScheduleType != Now and ../ScheduleType
                       != Pending and ../ScheduleType != After";
                    }
                    type uint32 {
                      range "1993..2035";
                    }
                    description
                      "Year(optional. Default current year)";
                  }
                }  // container start-time
    
                leaf life {
                  type Ipsla-life;
                  units "second";
                  description
                    "Length of the time to execute (default 3600
                   seconds)";
                }
    
                leaf ageout {
                  type uint32 {
                    range "0..2073600";
                  }
                  units "second";
                  description
                    "How long to keep this entry after it becomes
                   inactive";
                }
    
                leaf recurring {
                  type empty;
                  description
                    "probe to be scheduled automatically every day";
                }
    
                leaf operation-id {
                  type uint32 {
                    range "1..2048";
                  }
                  description "Operation number";
                }
              }  // list schedule
            }  // container schedules
    
            container reactions {
              description
                "Reaction configuration";
              list reaction {
                key "operation-id";
                description
                  "Reaction configuration for an operation";
                container condition {
                  description
                    "Reaction condition specification";
                  container jitter-average-ds {
                    presence
                      "CLI submode compatibility.";
                    description
                      "React on destination to source jitter
                     threshold violation";
                    uses THRESHOLD-LIMITS;
    
                    uses ACTION-TYPE;
    
                    uses IPSLA-OP-REACT-CFG-THRESHOLD-TYPE;
                  }  // container jitter-average-ds
    
                  container timeout {
                    presence
                      "CLI submode compatibility.";
                    description
                      "React on probe timeout";
                    uses ACTION-TYPE;
    
                    uses IPSLA-OP-REACT-CFG-THRESHOLD-TYPE;
                  }  // container timeout
    
                  container jitter-average {
                    presence
                      "CLI submode compatibility.";
                    description
                      "React on average round trip jitter threshold
                     violation";
                    uses THRESHOLD-LIMITS;
    
                    uses ACTION-TYPE;
    
                    uses IPSLA-OP-REACT-CFG-THRESHOLD-TYPE;
                  }  // container jitter-average
    
                  container verify-error {
                    presence
                      "CLI submode compatibility.";
                    description
                      "React on error verfication violation";
                    uses ACTION-TYPE;
    
                    uses IPSLA-OP-REACT-CFG-THRESHOLD-TYPE;
                  }  // container verify-error
    
                  container rtt {
                    presence
                      "CLI submode compatibility.";
                    description
                      "React on round trip time threshold violation";
                    uses THRESHOLD-LIMITS;
    
                    uses ACTION-TYPE;
    
                    uses IPSLA-OP-REACT-CFG-THRESHOLD-TYPE;
                  }  // container rtt
    
                  container packet-loss-sd {
                    presence
                      "CLI submode compatibility.";
                    description
                      "React on destination to source packet loss
                     threshold violation";
                    uses THRESHOLD-LIMITS;
    
                    uses ACTION-TYPE;
    
                    uses IPSLA-OP-REACT-CFG-THRESHOLD-TYPE;
                  }  // container packet-loss-sd
    
                  container jitter-average-sd {
                    presence
                      "CLI submode compatibility.";
                    description
                      "React on average source to destination
                     jitter threshold violation";
                    uses THRESHOLD-LIMITS;
    
                    uses ACTION-TYPE;
    
                    uses IPSLA-OP-REACT-CFG-THRESHOLD-TYPE;
                  }  // container jitter-average-sd
    
                  container connection-loss {
                    presence
                      "CLI submode compatibility.";
                    description
                      "React on connection loss for a monitored
                     operation";
                    uses ACTION-TYPE;
    
                    uses IPSLA-OP-REACT-CFG-THRESHOLD-TYPE;
                  }  // container connection-loss
    
                  container packet-loss-ds {
                    presence
                      "CLI submode compatibility.";
                    description
                      "React on source to destination packet loss
                     threshold violation";
                    uses THRESHOLD-LIMITS;
    
                    uses ACTION-TYPE;
    
                    uses IPSLA-OP-REACT-CFG-THRESHOLD-TYPE;
                  }  // container packet-loss-ds
                }  // container condition
    
                leaf operation-id {
                  type uint32 {
                    range "1..2048";
                  }
                  description "Operation number";
                }
              }  // list reaction
            }  // container reactions
    
            container reaction-triggers {
              description
                "Reaction trigger configuration";
              list reaction-trigger {
                key "operation-id";
                description
                  "Reaction trigger for an operation";
                leaf triggered-op-id {
                  type uint32 {
                    range "1..2048";
                  }
                  description
                    "Operation number of the operation to be
                   triggered";
                }
    
                leaf operation-id {
                  type uint32 {
                    range "1..2048";
                  }
                  description
                    "Operation number of the operation generating
                   a trigger";
                }
              }  // list reaction-trigger
            }  // container reaction-triggers
    
            container definitions {
              description
                "Operation definition table";
              list definition {
                key "operation-id";
                description
                  "Operation definition";
                container operation-type {
                  description
                    "Operation type specification";
                  container icmp-echo {
                    presence
                      "CLI submode compatibility.";
                    description
                      "ICMPEcho Operation type";
                    container data-size {
                      description
                        "Protocol data size in payload of probe
                       packets";
                      leaf request {
                        type uint32 {
                          range "0..16384";
                        }
                        units "byte";
                        default "36";
                        description
                          "Payload size in request probe packet";
                      }
                    }  // container data-size
    
                    leaf source-address-v6 {
                      type string;
                      description
                        "Enter IPv6 address of the source device";
                    }
    
                    leaf dest-address-v6 {
                      type string;
                      description
                        "Enter IPv6 address of the destination
                       device";
                    }
    
                    uses SOURCE-ADDRESS;
    
                    uses TOS;
    
                    uses STATISTICS;
    
                    uses VRF;
    
                    uses HISTORY;
    
                    uses IPSLA-OP-DEF-COMMON-CFG-TIMEOUT;
    
                    uses FREQUENCY;
    
                    uses DEST-ADDRESS;
    
                    uses ENHANCED-STATS-TABLE;
    
                    uses IPSLA-OP-DEF-COMMON-CFG-TAG;
                  }  // container icmp-echo
    
                  container mpls-lsp-ping {
                    presence
                      "CLI submode compatibility.";
                    description
                      "MPLS LSP Ping Operation type";
                    container data-size {
                      description
                        "Protocol data size in payload of probe
                       packets";
                      leaf request {
                        type uint32 {
                          range "100..17986";
                        }
                        default "100";
                        description
                          "Payload size in request probe packet";
                      }
                    }  // container data-size
    
                    container reply {
                      description
                        "Echo reply options for the MPLS LSP
                       operation";
                      leaf mode {
                        type Ipsla-lsp-ping-reply-mode;
                        description
                          "Enables use of router alert in echo reply
                         packets";
                      }
    
                      uses DSCP-BITS;
                    }  // container reply
    
                    container target {
                      description
                        "Target for the MPLS LSP operation";
                      container traffic-engineering {
                        description
                          "Traffic engineering target";
                        leaf tunnel {
                          type uint32 {
                            range "0..65535";
                          }
                          description
                            "Tunnel interface number";
                        }
                      }  // container traffic-engineering
    
                      container ipv4 {
                        description
                          "Target specified as an IPv4 address";
                        container fec-address {
                          presence
                            "Indicates a fec-address node is configured.";
                          description
                            "Target FEC address with mask";
                          leaf address {
                            type inet:ipv4-address-no-zone;
                            mandatory true;
                            description
                              "IP address for target";
                          }
    
                          leaf mask {
                            type inet:ipv4-address-no-zone;
                            mandatory true;
                            description
                              "IP netmask for target";
                          }
                        }  // container fec-address
                      }  // container ipv4
    
                      container pseudowire {
                        description
                          "Pseudowire target";
                        container target-address {
                          presence
                            "Indicates a target-address node is configured.";
                          description
                            "Target address";
                          leaf address {
                            type inet:ipv4-address-no-zone;
                            mandatory true;
                            description
                              "Target address";
                          }
    
                          leaf vc-id {
                            type uint32 {
                              range
                                "1..4294967295";
                            }
                            mandatory true;
                            description
                              "Virtual circuit ID";
                          }
                        }  // container target-address
                      }  // container pseudowire
                    }  // container target
    
                    leaf ttl {
                      type uint32 {
                        range "1..255";
                      }
                      default "255";
                      description
                        "Time to live value";
                    }
    
                    uses SOURCE-ADDRESS;
    
                    uses OUTPUT-NEXTHOP;
    
                    uses LSP-SELECTOR;
    
                    uses STATISTICS;
    
                    uses IPSLA-OP-DEF-MPLS-LSP-CFG-EXP-BITS;
    
                    uses FORCE-EXPLICIT-NULL;
    
                    uses HISTORY;
    
                    uses IPSLA-OP-DEF-COMMON-CFG-TIMEOUT;
    
                    uses IPSLA-OP-DEF-MPLS-LSP-CFG-OUTPUT-INTERFACE;
    
                    uses FREQUENCY;
    
                    uses ENHANCED-STATS-TABLE;
    
                    uses IPSLA-OP-DEF-COMMON-CFG-TAG;
                  }  // container mpls-lsp-ping
    
                  container udp-echo {
                    presence
                      "CLI submode compatibility.";
                    description
                      "UDPEcho Operation type";
                    container data-size {
                      description
                        "Protocol data size in payload of probe
                       packets";
                      leaf request {
                        type uint32 {
                          range "16..1500";
                        }
                        units "byte";
                        default "16";
                        description
                          "Payload size in request probe packet";
                      }
                    }  // container data-size
    
                    uses SOURCE-ADDRESS;
    
                    uses TOS;
    
                    uses CONTROL-DISABLE;
    
                    uses SOURCE-PORT;
    
                    uses STATISTICS;
    
                    uses VRF;
    
                    uses HISTORY;
    
                    uses IPSLA-OP-DEF-COMMON-CFG-TIMEOUT;
    
                    uses FREQUENCY;
    
                    uses DEST-PORT;
    
                    uses VERIFY-DATA;
    
                    uses DEST-ADDRESS;
    
                    uses ENHANCED-STATS-TABLE;
    
                    uses IPSLA-OP-DEF-COMMON-CFG-TAG;
                  }  // container udp-echo
    
                  container mpls-lsp-trace {
                    presence
                      "CLI submode compatibility.";
                    description
                      "MPLS LSP Trace Operation type";
                    container target {
                      description
                        "Target for the MPLS LSP operation";
                      container traffic-engineering {
                        description
                          "Traffic engineering target";
                        leaf tunnel {
                          type uint32 {
                            range "0..65535";
                          }
                          description
                            "Tunnel interface number";
                        }
                      }  // container traffic-engineering
    
                      container ipv4 {
                        description
                          "Target specified as an IPv4 address";
                        container fec-address {
                          presence
                            "Indicates a fec-address node is configured.";
                          description
                            "Target FEC address with mask";
                          leaf address {
                            type inet:ipv4-address-no-zone;
                            mandatory true;
                            description
                              "IP address for target";
                          }
    
                          leaf mask {
                            type inet:ipv4-address-no-zone;
                            mandatory true;
                            description
                              "IP netmask for target";
                          }
                        }  // container fec-address
                      }  // container ipv4
                    }  // container target
    
                    container reply {
                      description
                        "Echo reply options for the MPLS LSP
                       operation";
                      leaf mode {
                        type Ipsla-lsp-trace-reply-mode;
                        description
                          "Enables use of router alert in echo reply
                         packets";
                      }
    
                      uses DSCP-BITS;
                    }  // container reply
    
                    leaf ttl {
                      type uint32 {
                        range "1..255";
                      }
                      default "30";
                      description
                        "Time to live value";
                    }
    
                    uses SOURCE-ADDRESS;
    
                    uses OUTPUT-NEXTHOP;
    
                    uses LSP-SELECTOR;
    
                    uses STATISTICS;
    
                    uses IPSLA-OP-DEF-MPLS-LSP-CFG-EXP-BITS;
    
                    uses FORCE-EXPLICIT-NULL;
    
                    uses HISTORY;
    
                    uses IPSLA-OP-DEF-COMMON-CFG-TIMEOUT;
    
                    uses IPSLA-OP-DEF-MPLS-LSP-CFG-OUTPUT-INTERFACE;
    
                    uses FREQUENCY;
    
                    uses IPSLA-OP-DEF-COMMON-CFG-TAG;
                  }  // container mpls-lsp-trace
    
                  container udp-jitter {
                    presence
                      "CLI submode compatibility.";
                    description
                      "UDPJitter Operation type";
                    container data-size {
                      description
                        "Protocol data size in payload of probe
                       packets";
                      leaf request {
                        type uint32 {
                          range "28..1500";
                        }
                        units "byte";
                        default "32";
                        description
                          "Payload size in request probe packet";
                      }
                    }  // container data-size
    
                    container packet {
                      description
                        "Probe packet stream configuration
                       parameters";
                      leaf count {
                        type uint32 {
                          range "1..60000";
                        }
                        default "10";
                        description
                          "Number of packets to be transmitted during
                         a probe";
                      }
    
                      leaf interval {
                        type uint32 {
                          range "1..60000";
                        }
                        units "millisecond";
                        default "20";
                        description
                          "Packet interval in milliseconds";
                      }
                    }  // container packet
    
                    uses SOURCE-ADDRESS;
    
                    uses TOS;
    
                    uses CONTROL-DISABLE;
    
                    uses SOURCE-PORT;
    
                    uses STATISTICS;
    
                    uses VRF;
    
                    uses IPSLA-OP-DEF-COMMON-CFG-TIMEOUT;
    
                    uses FREQUENCY;
    
                    uses DEST-PORT;
    
                    uses VERIFY-DATA;
    
                    uses DEST-ADDRESS;
    
                    uses ENHANCED-STATS-TABLE;
    
                    uses IPSLA-OP-DEF-COMMON-CFG-TAG;
                  }  // container udp-jitter
    
                  container icmp-path-echo {
                    presence
                      "CLI submode compatibility.";
                    description
                      "ICMPPathEcho Operation type";
                    container history {
                      description
                        "Configure the history parameters for this
                       operation";
                      leaf samples {
                        type uint32 {
                          range "1..30";
                        }
                        default "16";
                        description
                          "Specify number of samples to keep";
                      }
    
                      leaf buckets {
                        type uint32 {
                          range "1..60";
                        }
                        default "15";
                        description
                          "Specify number of history buckets";
                      }
    
                      leaf history-filter {
                        type Ipsla-history-filter;
                        description
                          "Choose type of data to be stored in
                         history buffer";
                      }
    
                      leaf lives {
                        type uint32 {
                          range "0..2";
                        }
                        default "0";
                        description
                          "Specify number of lives to be kept";
                      }
                    }  // container history
    
                    container data-size {
                      description
                        "Protocol data size in payload of probe
                       packets";
                      leaf request {
                        type uint32 {
                          range "0..16384";
                        }
                        units "byte";
                        default "36";
                        description
                          "Payload size in request probe packet";
                      }
                    }  // container data-size
    
                    container statistics {
                      description
                        "Statistics collection aggregated over an
                       hour";
                      leaf paths {
                        type uint32 {
                          range "1..128";
                        }
                        default "5";
                        description
                          "Maximum number of paths for which
                         statistics are kept";
                      }
    
                      leaf dist-interval {
                        type uint32 {
                          range "1..100";
                        }
                        units "millisecond";
                        default "20";
                        description
                          "Specify distribution interval in
                         milliseconds";
                      }
    
                      leaf dist-count {
                        type uint32 {
                          range "1..20";
                        }
                        default "1";
                        description
                          "Count of distribution intervals maintained";
                      }
    
                      leaf hours {
                        type uint32 {
                          range "0..25";
                        }
                        units "hour";
                        default "2";
                        description
                          "Number of hours for which hourly
                         statistics are kept";
                      }
    
                      leaf hops {
                        type uint32 {
                          range "1..30";
                        }
                        default "16";
                        description
                          "Maximum hops per path for which statistics
                         are kept";
                      }
                    }  // container statistics
    
                    uses SOURCE-ADDRESS;
    
                    uses TOS;
    
                    uses LSR-PATH;
    
                    uses VRF;
    
                    uses IPSLA-OP-DEF-COMMON-CFG-TIMEOUT;
    
                    uses FREQUENCY;
    
                    uses DEST-ADDRESS;
    
                    uses IPSLA-OP-DEF-COMMON-CFG-TAG;
                  }  // container icmp-path-echo
    
                  container icmp-path-jitter {
                    presence
                      "CLI submode compatibility.";
                    description
                      "ICMPPathJitter Operation type";
                    container data-size {
                      description
                        "Protocol data size in payload of probe
                       packets";
                      leaf request {
                        type uint32 {
                          range "0..16384";
                        }
                        units "byte";
                        default "36";
                        description
                          "Payload size in request probe packet";
                      }
                    }  // container data-size
    
                    container packet {
                      description
                        "Probe packet stream configuration
                       parameters";
                      leaf count {
                        type uint32 {
                          range "1..100";
                        }
                        default "10";
                        description
                          "Number of packets to be transmitted during
                         a probe";
                      }
    
                      leaf interval {
                        type uint32 {
                          range "1..60000";
                        }
                        units "millisecond";
                        default "20";
                        description
                          "Packet interval in milliseconds";
                      }
                    }  // container packet
    
                    uses SOURCE-ADDRESS;
    
                    uses TOS;
    
                    uses LSR-PATH;
    
                    uses VRF;
    
                    uses IPSLA-OP-DEF-COMMON-CFG-TIMEOUT;
    
                    uses FREQUENCY;
    
                    uses DEST-ADDRESS;
    
                    uses IPSLA-OP-DEF-COMMON-CFG-TAG;
                  }  // container icmp-path-jitter
                }  // container operation-type
    
                leaf operation-id {
                  type uint32 {
                    range "1..2048";
                  }
                  description "Operation number";
                }
              }  // list definition
            }  // container definitions
          }  // container operation
    
          container responder {
            presence
              "CLI submode compatibility.";
            description
              "Responder configuration";
            container twamp {
              presence
                "CLI submode compatibility.";
              description
                "Responder TWAMP configuration";
              leaf timeout {
                type uint32 {
                  range "1..604800";
                }
                units "second";
                default "900";
                description
                  "Configure responder timeout value in seconds";
              }
            }  // container twamp
    
            container type {
              description
                "Configure IPSLA Responder port type";
              container udp {
                description
                  "Configure IPSLA Responder UDP address and port";
                container addresses {
                  description
                    "Configure IP address";
                  list address {
                    key "local-address";
                    description
                      "Configure IP address for the permanent port";
                    container ports {
                      description
                        "Configure port";
                      list port {
                        key "port";
                        description
                          "Configure port number for the permanent
                         port";
                        leaf port {
                          type inet:port-number;
                          description
                            "Port number to be enabled";
                        }
                      }  // list port
                    }  // container ports
    
                    leaf local-address {
                      type inet:ipv4-address-no-zone;
                      description
                        "IP address of the Responder";
                    }
                  }  // list address
                }  // container addresses
              }  // container udp
            }  // container type
    
            container twamp-light {
              description
                "Enter twamp-light session details";
              container session-ids {
                description
                  "Create twamp-light session";
                list session-id {
                  key "session-id";
                  description
                    "Configure session ID";
                  container local-ip {
                    description
                      "Configure local ip address";
                    container any-local-ipv4-address-path {
                      description
                        "Configure any ipv4 address";
                      uses LOCAL-PORT;
                    }  // container any-local-ipv4-address-path
    
                    container local-ipv6-addresses {
                      description
                        "Configure IPV6 address";
                      list local-ipv6-address {
                        key "localv6-address";
                        description
                          "Enter value of local ip address";
                        leaf localv6-address {
                          type xr:Cisco-ios-xr-string;
                          description
                            "Local IPv6 address";
                        }
    
                        uses LOCAL-PORT;
                      }  // list local-ipv6-address
                    }  // container local-ipv6-addresses
    
                    container any-local-ipv6-address-path {
                      description
                        "Configure any ipv6 address";
                      uses LOCAL-PORT;
                    }  // container any-local-ipv6-address-path
    
                    container local-ipv4-addresses {
                      description
                        "Configure IPV4 address";
                      list local-ipv4-address {
                        key "localv4-address";
                        description
                          "Enter value of local ipv4 address";
                        leaf localv4-address {
                          type xr:Cisco-ios-xr-string;
                          description
                            "Local IPv4 address";
                        }
    
                        uses LOCAL-PORT;
                      }  // list local-ipv4-address
                    }  // container local-ipv4-addresses
                  }  // container local-ip
    
                  leaf twamp-light-timeout {
                    type uint32 {
                      range "60..86400";
                    }
                    units "second";
                    description
                      "Configure session timeout";
                  }
    
                  leaf session-id {
                    type uint32 {
                      range "1..65535";
                    }
                    description "SessionID";
                  }
                }  // list session-id
              }  // container session-ids
            }  // container twamp-light
          }  // container responder
    
          container mpls-discovery {
            description
              "Provider Edge(PE) discovery configuration";
            container vpn {
              description
                "Layer 3 VPN PE discovery configuration";
              leaf interval {
                type uint32 {
                  range "30..70560";
                }
                units "minute";
                default "300";
                description
                  "Specify a discovery refresh interval";
              }
            }  // container vpn
          }  // container mpls-discovery
    
          container server-twamp {
            presence
              "CLI submode compatibility.";
            description
              "IPPM Server configuration";
            leaf inactivity-timer {
              type uint32 {
                range "1..6000";
              }
              units "second";
              default "900";
              description
                "Configure ippmserver inactivity timer value in
               seconds";
            }
    
            leaf port {
              type xr:Cisco-ios-xr-port-number;
              default "862";
              description
                "Configure port number for ippmserver listening
               port";
            }
          }  // container server-twamp
        }  // container ipsla
      }  // module Cisco-IOS-XR-man-ipsla-cfg
    

© 2023 YumaWorks, Inc. All rights reserved.