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";
        }
    
        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";
                    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
                  }  // container lpd-tree-trace
    
                  container timeout {
                    presence
                      "CLI submode compatibility.";
                    description
                      "React on probe timeout";
                    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
    
                    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
                  }  // container timeout
    
                  container lpd-group {
                    presence
                      "CLI submode compatibility.";
                    description
                      "React on LPD Group violation for a monitored
                     MPLSLM";
                    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
                  }  // container lpd-group
    
                  container connection-loss {
                    presence
                      "CLI submode compatibility.";
                    description
                      "React on connection loss for a monitored
                     MPLSLM";
                    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
    
                    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
                  }  // 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";
                    }
    
                    leaf exp-bits {
                      type uint32 {
                        range "0..7";
                      }
                      default "0";
                      description
                        "EXP bits in MPLS LSP echo request header";
                    }
    
                    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
    
                    leaf tag {
                      type string {
                        length "1..128";
                      }
                      description
                        "Add a tag for this MPLSLM instance";
                    }
    
                    leaf lsp-selector {
                      type inet:ipv4-address-no-zone;
                      default "1.0.0.127";
                      description
                        "Attributes used for path selection during LSP
    load balancing";
                    }
    
                    leaf output-interface {
                      type xr:Interface-name;
                      description
                        "Echo request output interface";
                    }
    
                    leaf accesslist {
                      type xr:Cisco-ios-xr-string {
                        length "1..32";
                      }
                      description
                        "Apply access list to filter PE addresses";
                    }
    
                    leaf output-nexthop {
                      type inet:ipv4-address-no-zone;
                      description
                        "Echo request output nexthop";
                    }
    
                    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
    
                    leaf timeout {
                      type uint32 {
                        range "1..604800000";
                      }
                      units "millisecond";
                      default "5000";
                      description
                        "Probe/Control timeout in milliseconds";
                    }
    
                    leaf force-explicit-null {
                      type empty;
                      description
                        "Forced option for the MPLS LSP operation";
                    }
    
                    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
    
                    leaf vrf {
                      type xr:Cisco-ios-xr-string {
                        length "1..32";
                      }
                      description
                        "Specify a VRF instance to be monitored";
                    }
                  }  // 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";
                    }
    
                    leaf exp-bits {
                      type uint32 {
                        range "0..7";
                      }
                      default "0";
                      description
                        "EXP bits in MPLS LSP echo request header";
                    }
    
                    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
    
                    leaf tag {
                      type string {
                        length "1..128";
                      }
                      description
                        "Add a tag for this MPLSLM instance";
                    }
    
                    leaf lsp-selector {
                      type inet:ipv4-address-no-zone;
                      default "1.0.0.127";
                      description
                        "Attributes used for path selection during LSP
    load balancing";
                    }
    
                    leaf output-interface {
                      type xr:Interface-name;
                      description
                        "Echo request output interface";
                    }
    
                    leaf accesslist {
                      type xr:Cisco-ios-xr-string {
                        length "1..32";
                      }
                      description
                        "Apply access list to filter PE addresses";
                    }
    
                    leaf output-nexthop {
                      type inet:ipv4-address-no-zone;
                      description
                        "Echo request output nexthop";
                    }
    
                    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
    
                    leaf timeout {
                      type uint32 {
                        range "1..604800000";
                      }
                      units "millisecond";
                      default "5000";
                      description
                        "Probe/Control timeout in milliseconds";
                    }
    
                    leaf force-explicit-null {
                      type empty;
                      description
                        "Forced option for the MPLS LSP operation";
                    }
    
                    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
    
                    leaf vrf {
                      type xr:Cisco-ios-xr-string {
                        length "1..32";
                      }
                      description
                        "Specify a VRF instance to be monitored";
                    }
                  }  // 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";
                    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
    
                    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
    
                    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
                  }  // container jitter-average-ds
    
                  container timeout {
                    presence
                      "CLI submode compatibility.";
                    description
                      "React on probe timeout";
                    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
    
                    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
                  }  // container timeout
    
                  container jitter-average {
                    presence
                      "CLI submode compatibility.";
                    description
                      "React on average round trip jitter threshold
                     violation";
                    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
    
                    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
    
                    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
                  }  // container jitter-average
    
                  container verify-error {
                    presence
                      "CLI submode compatibility.";
                    description
                      "React on error verfication violation";
                    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
    
                    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
                  }  // container verify-error
    
                  container rtt {
                    presence
                      "CLI submode compatibility.";
                    description
                      "React on round trip time threshold violation";
                    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
    
                    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
    
                    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
                  }  // container rtt
    
                  container packet-loss-sd {
                    presence
                      "CLI submode compatibility.";
                    description
                      "React on destination to source packet loss
                     threshold violation";
                    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
    
                    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
    
                    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
                  }  // container packet-loss-sd
    
                  container jitter-average-sd {
                    presence
                      "CLI submode compatibility.";
                    description
                      "React on average source to destination
                     jitter threshold violation";
                    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
    
                    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
    
                    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
                  }  // container jitter-average-sd
    
                  container connection-loss {
                    presence
                      "CLI submode compatibility.";
                    description
                      "React on connection loss for a monitored
                     operation";
                    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
    
                    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
                  }  // container connection-loss
    
                  container packet-loss-ds {
                    presence
                      "CLI submode compatibility.";
                    description
                      "React on source to destination packet loss
                     threshold violation";
                    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
    
                    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
    
                    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
                  }  // 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";
                    }
    
                    leaf source-address {
                      type string;
                      description
                        "Enter IPv4 address of the source device";
                    }
    
                    leaf tos {
                      type uint32 {
                        range "0..255";
                      }
                      default "0";
                      description
                        "Type of service setting in probe packet";
                    }
    
                    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
    
                    leaf vrf {
                      type xr:Cisco-ios-xr-string {
                        length "1..32";
                      }
                      description
                        "Configure IPSLA for a VPN Routing/Forwarding
    instance)";
                    }
    
                    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
    
                    leaf timeout {
                      type uint32 {
                        range "1..604800000";
                      }
                      units "millisecond";
                      default "5000";
                      description
                        "Probe/Control timeout in milliseconds";
                    }
    
                    leaf frequency {
                      type uint32 {
                        range "1..604800";
                      }
                      units "second";
                      default "60";
                      description
                        "Probe interval in seconds";
                    }
    
                    leaf dest-address {
                      type string;
                      description
                        "Enter IPv4 address of the destination device";
                    }
    
                    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
    
                    leaf tag {
                      type string {
                        length "1..128";
                      }
                      description
                        "Add a tag for this operation";
                    }
                  }  // 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";
                      }
    
                      leaf dscp-bits {
                        type Ipsla-lsp-reply-dscp;
                        description
                          "DSCP bits in the reply IP header";
                      }
                    }  // 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";
                    }
    
                    leaf source-address {
                      type string;
                      description
                        "Enter IPv4 address of the source device";
                    }
    
                    leaf output-nexthop {
                      type inet:ipv4-address-no-zone;
                      description
                        "Echo request output nexthop";
                    }
    
                    leaf lsp-selector {
                      type inet:ipv4-address-no-zone;
                      default "1.0.0.127";
                      description
                        "Attributes used for path selection during LSP
    load balancing";
                    }
    
                    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
    
                    leaf exp-bits {
                      type uint32 {
                        range "0..7";
                      }
                      default "0";
                      description
                        "EXP bits in MPLS LSP echo reply header";
                    }
    
                    leaf force-explicit-null {
                      type empty;
                      description
                        "Forced option for the MPLS LSP operation";
                    }
    
                    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
    
                    leaf timeout {
                      type uint32 {
                        range "1..604800000";
                      }
                      units "millisecond";
                      default "5000";
                      description
                        "Probe/Control timeout in milliseconds";
                    }
    
                    leaf output-interface {
                      type xr:Interface-name;
                      description
                        "Echo request output interface";
                    }
    
                    leaf frequency {
                      type uint32 {
                        range "1..604800";
                      }
                      units "second";
                      default "60";
                      description
                        "Probe interval in seconds";
                    }
    
                    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
    
                    leaf tag {
                      type string {
                        length "1..128";
                      }
                      description
                        "Add a tag for this operation";
                    }
                  }  // 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
    
                    leaf source-address {
                      type string;
                      description
                        "Enter IPv4 address of the source device";
                    }
    
                    leaf tos {
                      type uint32 {
                        range "0..255";
                      }
                      default "0";
                      description
                        "Type of service setting in probe packet";
                    }
    
                    leaf control-disable {
                      type empty;
                      description
                        "Disable control packets";
                    }
    
                    leaf source-port {
                      type inet:port-number;
                      description
                        "Port number on source device";
                    }
    
                    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
    
                    leaf vrf {
                      type xr:Cisco-ios-xr-string {
                        length "1..32";
                      }
                      description
                        "Configure IPSLA for a VPN Routing/Forwarding
    instance)";
                    }
    
                    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
    
                    leaf timeout {
                      type uint32 {
                        range "1..604800000";
                      }
                      units "millisecond";
                      default "5000";
                      description
                        "Probe/Control timeout in milliseconds";
                    }
    
                    leaf frequency {
                      type uint32 {
                        range "1..604800";
                      }
                      units "second";
                      default "60";
                      description
                        "Probe interval in seconds";
                    }
    
                    leaf dest-port {
                      type inet:port-number;
                      description
                        "Port number on target device";
                    }
    
                    leaf verify-data {
                      type empty;
                      description
                        "Check each IPSLA response for corruption";
                    }
    
                    leaf dest-address {
                      type string;
                      description
                        "Enter IPv4 address of the destination device";
                    }
    
                    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
    
                    leaf tag {
                      type string {
                        length "1..128";
                      }
                      description
                        "Add a tag for this operation";
                    }
                  }  // 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";
                      }
    
                      leaf dscp-bits {
                        type Ipsla-lsp-reply-dscp;
                        description
                          "DSCP bits in the reply IP header";
                      }
                    }  // container reply
    
                    leaf ttl {
                      type uint32 {
                        range "1..255";
                      }
                      default "30";
                      description
                        "Time to live value";
                    }
    
                    leaf source-address {
                      type string;
                      description
                        "Enter IPv4 address of the source device";
                    }
    
                    leaf output-nexthop {
                      type inet:ipv4-address-no-zone;
                      description
                        "Echo request output nexthop";
                    }
    
                    leaf lsp-selector {
                      type inet:ipv4-address-no-zone;
                      default "1.0.0.127";
                      description
                        "Attributes used for path selection during LSP
    load balancing";
                    }
    
                    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
    
                    leaf exp-bits {
                      type uint32 {
                        range "0..7";
                      }
                      default "0";
                      description
                        "EXP bits in MPLS LSP echo reply header";
                    }
    
                    leaf force-explicit-null {
                      type empty;
                      description
                        "Forced option for the MPLS LSP operation";
                    }
    
                    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
    
                    leaf timeout {
                      type uint32 {
                        range "1..604800000";
                      }
                      units "millisecond";
                      default "5000";
                      description
                        "Probe/Control timeout in milliseconds";
                    }
    
                    leaf output-interface {
                      type xr:Interface-name;
                      description
                        "Echo request output interface";
                    }
    
                    leaf frequency {
                      type uint32 {
                        range "1..604800";
                      }
                      units "second";
                      default "60";
                      description
                        "Probe interval in seconds";
                    }
    
                    leaf tag {
                      type string {
                        length "1..128";
                      }
                      description
                        "Add a tag for this operation";
                    }
                  }  // 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
    
                    leaf source-address {
                      type string;
                      description
                        "Enter IPv4 address of the source device";
                    }
    
                    leaf tos {
                      type uint32 {
                        range "0..255";
                      }
                      default "0";
                      description
                        "Type of service setting in probe packet";
                    }
    
                    leaf control-disable {
                      type empty;
                      description
                        "Disable control packets";
                    }
    
                    leaf source-port {
                      type inet:port-number;
                      description
                        "Port number on source device";
                    }
    
                    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
    
                    leaf vrf {
                      type xr:Cisco-ios-xr-string {
                        length "1..32";
                      }
                      description
                        "Configure IPSLA for a VPN Routing/Forwarding
    instance)";
                    }
    
                    leaf timeout {
                      type uint32 {
                        range "1..604800000";
                      }
                      units "millisecond";
                      default "5000";
                      description
                        "Probe/Control timeout in milliseconds";
                    }
    
                    leaf frequency {
                      type uint32 {
                        range "1..604800";
                      }
                      units "second";
                      default "60";
                      description
                        "Probe interval in seconds";
                    }
    
                    leaf dest-port {
                      type inet:port-number;
                      description
                        "Port number on target device";
                    }
    
                    leaf verify-data {
                      type empty;
                      description
                        "Check each IPSLA response for corruption";
                    }
    
                    leaf dest-address {
                      type string;
                      description
                        "Enter IPv4 address of the destination device";
                    }
    
                    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
    
                    leaf tag {
                      type string {
                        length "1..128";
                      }
                      description
                        "Add a tag for this operation";
                    }
                  }  // 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
    
                    leaf source-address {
                      type string;
                      description
                        "Enter IPv4 address of the source device";
                    }
    
                    leaf tos {
                      type uint32 {
                        range "0..255";
                      }
                      default "0";
                      description
                        "Type of service setting in probe packet";
                    }
    
                    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
    
                    leaf vrf {
                      type xr:Cisco-ios-xr-string {
                        length "1..32";
                      }
                      description
                        "Configure IPSLA for a VPN Routing/Forwarding
    instance)";
                    }
    
                    leaf timeout {
                      type uint32 {
                        range "1..604800000";
                      }
                      units "millisecond";
                      default "5000";
                      description
                        "Probe/Control timeout in milliseconds";
                    }
    
                    leaf frequency {
                      type uint32 {
                        range "1..604800";
                      }
                      units "second";
                      default "60";
                      description
                        "Probe interval in seconds";
                    }
    
                    leaf dest-address {
                      type string;
                      description
                        "Enter IPv4 address of the destination device";
                    }
    
                    leaf tag {
                      type string {
                        length "1..128";
                      }
                      description
                        "Add a tag for this operation";
                    }
                  }  // 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
    
                    leaf source-address {
                      type string;
                      description
                        "Enter IPv4 address of the source device";
                    }
    
                    leaf tos {
                      type uint32 {
                        range "0..255";
                      }
                      default "0";
                      description
                        "Type of service setting in probe packet";
                    }
    
                    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
    
                    leaf vrf {
                      type xr:Cisco-ios-xr-string {
                        length "1..32";
                      }
                      description
                        "Configure IPSLA for a VPN Routing/Forwarding
    instance)";
                    }
    
                    leaf timeout {
                      type uint32 {
                        range "1..604800000";
                      }
                      units "millisecond";
                      default "5000";
                      description
                        "Probe/Control timeout in milliseconds";
                    }
    
                    leaf frequency {
                      type uint32 {
                        range "1..604800";
                      }
                      units "second";
                      default "60";
                      description
                        "Probe interval in seconds";
                    }
    
                    leaf dest-address {
                      type string;
                      description
                        "Enter IPv4 address of the destination device";
                    }
    
                    leaf tag {
                      type string {
                        length "1..128";
                      }
                      description
                        "Add a tag for this operation";
                    }
                  }  // 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";
                      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";
                              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";
                                  }
    
                                  leaf any-vrf {
                                    type empty;
                                    description
                                      "Configure any vrf name";
                                  }
    
                                  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
                                }  // list remote-port-number
                              }  // container remote-port-numbers
    
                              container any-remote-port {
                                description
                                  "Configuration of any remote port";
                                leaf any-vrf {
                                  type empty;
                                  description
                                    "Configure any vrf name";
                                }
    
                                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
                              }  // container 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";
                                }
    
                                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";
                                    }
    
                                    leaf any-vrf {
                                      type empty;
                                      description
                                        "Configure any vrf name";
                                    }
    
                                    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
                                  }  // list remote-port-number
                                }  // container remote-port-numbers
    
                                container any-remote-port {
                                  description
                                    "Configuration of any remote port";
                                  leaf any-vrf {
                                    type empty;
                                    description
                                      "Configure any vrf name";
                                  }
    
                                  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
                                }  // container any-remote-port
                              }  // list remote-ipv4-address
                            }  // container remote-ipv4-addresses
    
                            container any-remote-ipv4-address-path {
                              description
                                "Configure any ipv4 address";
                              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";
                                  }
    
                                  leaf any-vrf {
                                    type empty;
                                    description
                                      "Configure any vrf name";
                                  }
    
                                  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
                                }  // list remote-port-number
                              }  // container remote-port-numbers
    
                              container any-remote-port {
                                description
                                  "Configuration of any remote port";
                                leaf any-vrf {
                                  type empty;
                                  description
                                    "Configure any vrf name";
                                }
    
                                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
                              }  // container 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";
                                }
    
                                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";
                                    }
    
                                    leaf any-vrf {
                                      type empty;
                                      description
                                        "Configure any vrf name";
                                    }
    
                                    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
                                  }  // list remote-port-number
                                }  // container remote-port-numbers
    
                                container any-remote-port {
                                  description
                                    "Configuration of any remote port";
                                  leaf any-vrf {
                                    type empty;
                                    description
                                      "Configure any vrf name";
                                  }
    
                                  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
                                }  // container 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
                    }  // 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";
                        }
    
                        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";
                                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";
                                    }
    
                                    leaf any-vrf {
                                      type empty;
                                      description
                                        "Configure any vrf name";
                                    }
    
                                    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
                                  }  // list remote-port-number
                                }  // container remote-port-numbers
    
                                container any-remote-port {
                                  description
                                    "Configuration of any remote port";
                                  leaf any-vrf {
                                    type empty;
                                    description
                                      "Configure any vrf name";
                                  }
    
                                  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
                                }  // container 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";
                                  }
    
                                  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";
                                      }
    
                                      leaf any-vrf {
                                        type empty;
                                        description
                                          "Configure any vrf name";
                                      }
    
                                      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
                                    }  // list remote-port-number
                                  }  // container remote-port-numbers
    
                                  container any-remote-port {
                                    description
                                      "Configuration of any remote port";
                                    leaf any-vrf {
                                      type empty;
                                      description
                                        "Configure any vrf name";
                                    }
    
                                    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
                                  }  // container any-remote-port
                                }  // list remote-ipv4-address
                              }  // container remote-ipv4-addresses
    
                              container any-remote-ipv4-address-path {
                                description
                                  "Configure any ipv4 address";
                                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";
                                    }
    
                                    leaf any-vrf {
                                      type empty;
                                      description
                                        "Configure any vrf name";
                                    }
    
                                    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
                                  }  // list remote-port-number
                                }  // container remote-port-numbers
    
                                container any-remote-port {
                                  description
                                    "Configuration of any remote port";
                                  leaf any-vrf {
                                    type empty;
                                    description
                                      "Configure any vrf name";
                                  }
    
                                  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
                                }  // container 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";
                                  }
    
                                  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";
                                      }
    
                                      leaf any-vrf {
                                        type empty;
                                        description
                                          "Configure any vrf name";
                                      }
    
                                      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
                                    }  // list remote-port-number
                                  }  // container remote-port-numbers
    
                                  container any-remote-port {
                                    description
                                      "Configuration of any remote port";
                                    leaf any-vrf {
                                      type empty;
                                      description
                                        "Configure any vrf name";
                                    }
    
                                    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
                                  }  // container 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
                      }  // list local-ipv6-address
                    }  // container local-ipv6-addresses
    
                    container any-local-ipv6-address-path {
                      description
                        "Configure any ipv6 address";
                      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";
                              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";
                                  }
    
                                  leaf any-vrf {
                                    type empty;
                                    description
                                      "Configure any vrf name";
                                  }
    
                                  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
                                }  // list remote-port-number
                              }  // container remote-port-numbers
    
                              container any-remote-port {
                                description
                                  "Configuration of any remote port";
                                leaf any-vrf {
                                  type empty;
                                  description
                                    "Configure any vrf name";
                                }
    
                                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
                              }  // container 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";
                                }
    
                                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";
                                    }
    
                                    leaf any-vrf {
                                      type empty;
                                      description
                                        "Configure any vrf name";
                                    }
    
                                    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
                                  }  // list remote-port-number
                                }  // container remote-port-numbers
    
                                container any-remote-port {
                                  description
                                    "Configuration of any remote port";
                                  leaf any-vrf {
                                    type empty;
                                    description
                                      "Configure any vrf name";
                                  }
    
                                  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
                                }  // container any-remote-port
                              }  // list remote-ipv4-address
                            }  // container remote-ipv4-addresses
    
                            container any-remote-ipv4-address-path {
                              description
                                "Configure any ipv4 address";
                              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";
                                  }
    
                                  leaf any-vrf {
                                    type empty;
                                    description
                                      "Configure any vrf name";
                                  }
    
                                  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
                                }  // list remote-port-number
                              }  // container remote-port-numbers
    
                              container any-remote-port {
                                description
                                  "Configuration of any remote port";
                                leaf any-vrf {
                                  type empty;
                                  description
                                    "Configure any vrf name";
                                }
    
                                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
                              }  // container 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";
                                }
    
                                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";
                                    }
    
                                    leaf any-vrf {
                                      type empty;
                                      description
                                        "Configure any vrf name";
                                    }
    
                                    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
                                  }  // list remote-port-number
                                }  // container remote-port-numbers
    
                                container any-remote-port {
                                  description
                                    "Configuration of any remote port";
                                  leaf any-vrf {
                                    type empty;
                                    description
                                      "Configure any vrf name";
                                  }
    
                                  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
                                }  // container 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
                    }  // 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";
                        }
    
                        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";
                                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";
                                    }
    
                                    leaf any-vrf {
                                      type empty;
                                      description
                                        "Configure any vrf name";
                                    }
    
                                    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
                                  }  // list remote-port-number
                                }  // container remote-port-numbers
    
                                container any-remote-port {
                                  description
                                    "Configuration of any remote port";
                                  leaf any-vrf {
                                    type empty;
                                    description
                                      "Configure any vrf name";
                                  }
    
                                  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
                                }  // container 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";
                                  }
    
                                  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";
                                      }
    
                                      leaf any-vrf {
                                        type empty;
                                        description
                                          "Configure any vrf name";
                                      }
    
                                      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
                                    }  // list remote-port-number
                                  }  // container remote-port-numbers
    
                                  container any-remote-port {
                                    description
                                      "Configuration of any remote port";
                                    leaf any-vrf {
                                      type empty;
                                      description
                                        "Configure any vrf name";
                                    }
    
                                    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
                                  }  // container any-remote-port
                                }  // list remote-ipv4-address
                              }  // container remote-ipv4-addresses
    
                              container any-remote-ipv4-address-path {
                                description
                                  "Configure any ipv4 address";
                                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";
                                    }
    
                                    leaf any-vrf {
                                      type empty;
                                      description
                                        "Configure any vrf name";
                                    }
    
                                    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
                                  }  // list remote-port-number
                                }  // container remote-port-numbers
    
                                container any-remote-port {
                                  description
                                    "Configuration of any remote port";
                                  leaf any-vrf {
                                    type empty;
                                    description
                                      "Configure any vrf name";
                                  }
    
                                  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
                                }  // container 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";
                                  }
    
                                  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";
                                      }
    
                                      leaf any-vrf {
                                        type empty;
                                        description
                                          "Configure any vrf name";
                                      }
    
                                      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
                                    }  // list remote-port-number
                                  }  // container remote-port-numbers
    
                                  container any-remote-port {
                                    description
                                      "Configuration of any remote port";
                                    leaf any-vrf {
                                      type empty;
                                      description
                                        "Configure any vrf name";
                                    }
    
                                    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
                                  }  // container 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
                      }  // 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.