Cisco-IOS-XR-mpls-ping-act

This module contains a collection of YANG definitions for Cisco IOS-XR mpls ping action package configuration Copyright (c) 202...

  • Version: 2021-04-27

    Cisco-IOS-XR-mpls-ping-act@2021-04-27


    
      module Cisco-IOS-XR-mpls-ping-act {
    
        yang-version 1;
    
        namespace
          "http://cisco.com/ns/yang/Cisco-IOS-XR-mpls-ping-act";
    
        prefix mpls-ping-act;
    
        import ietf-inet-types {
          prefix inet;
        }
        import Cisco-IOS-XR-types {
          prefix xr;
        }
        import cisco-semver {
          prefix semver;
        }
    
        organization "Cisco Systems, Inc.";
    
        contact
          "Cisco Systems, Inc.
         Customer Service
         
         Postal: 170 West Tasman Drive
         San Jose, CA 95134
         
         Tel: +1 800 553-NETS
         
         E-mail: cs-yang@cisco.com";
    
        description
          "This module contains a collection of YANG definitions
         for Cisco IOS-XR mpls ping action package configuration
         
         Copyright (c) 2020-2021 by Cisco Systems, Inc.
         All rights reserved.";
    
        revision "2021-04-27" {
          description
            "Added missing descriptions";
        }
    
        revision "2021-04-05" {
          description
            "Added range values for lsp-id and pseudowire leaf values";
        }
    
        revision "2021-03-25" {
          description
            "Added IP netmask leaf for MPLS and SR ping";
        }
    
        revision "2021-02-03" {
          description "Range added for EXP leaf";
        }
    
        revision "2021-01-26" {
          description
            "Changed Pad leaf to Hexadecimal String";
        }
    
        revision "2020-06-13" {
          description "Initial revision.";
        }
    
        semver:module-version "1.0.0";
    
        typedef mpls-fec-type {
          type enumeration {
            enum "bgp" {
              value 0;
              description "MPLS BGP FEC";
            }
            enum "generic" {
              value 1;
              description "MPLS Generic FEC";
            }
            enum "ldp" {
              value 2;
              description "MPLS LDP FEC";
            }
          }
          description
            "MPLS Forwarding Equivalence Class type";
        }
    
        typedef sr-fec-type {
          type enumeration {
            enum "bgp" {
              value 0;
              description "SR IGP BGP FEC";
            }
            enum "ospf" {
              value 1;
              description "SR IGP OSPF FEC";
            }
            enum "isis" {
              value 2;
              description "SR IGP ISIS FEC";
            }
          }
          description
            "SR Forwarding Equivalence Class type";
        }
    
        typedef request-reply-mode {
          type enumeration {
            enum "ipv4" {
              value 0;
              description "Reply Mode IPv4";
            }
            enum "no-reply" {
              value 1;
              description "Reply Mode No Reply";
            }
            enum "router-alert" {
              value 2;
              description
                "Reply Mode Router Alert";
            }
          }
          description "Reply mode";
        }
    
        rpc mpls-ping {
          description "Send echo messages";
          input {
            choice ping-type {
              mandatory true;
              description "Specify ping type";
              container mpls {
                description "MPLS ping";
                choice mpls-subtype {
                  mandatory true;
                  description
                    "Ping MPLS subtype";
                  container ipv4 {
                    description
                      "Ping mpls IPv4 address";
                    leaf ip {
                      type inet:ipv4-address;
                      mandatory true;
                      description
                        "destination X.X.X.X of mpls ping";
                    }
    
                    choice subnet {
                      mandatory true;
                      description
                        "The subnet to be specified as a prefix-length or as
                           a netmask.";
                      leaf prefix-length {
                        type uint8 {
                          range "0..32";
                        }
                        default "32";
                        description
                          "The length of the subnet prefix.";
                      }
                      leaf netmask {
                        type inet:ipv4-address;
                        description
                          "The subnet specified as a netmask";
                      }
                    }  // choice subnet
    
                    leaf fec-type {
                      type mpls-fec-type;
                      description
                        "TLV FEC type to use in request";
                    }
                  }  // container ipv4
                  container traffic-eng {
                    description "MPLS-TE ping";
                    choice tunnel-identifier {
                      mandatory true;
                      description
                        "Tunnel Identifier (LSP name or tunnel-interface)";
                      leaf tunnel-name {
                        type string;
                        description
                          "Next hop tunnel lsp name";
                      }
                      leaf tunnel-interface {
                        type string;
                        description
                          "Next hop Interface with form tunnel-te<number>";
                      }
                    }  // choice tunnel-identifier
    
                    choice te-lsp-option {
                      default
                        "te-lsp-option-active";
                      description
                        "Specify which LSP to use";
                      leaf active-lsp {
                        type boolean;
                        default "true";
                        description
                          "Enforce active LSP selection for tunnel";
                      }
                      leaf lsp-id {
                        type uint32 {
                          range "1..10000";
                        }
                        default "1";
                        description
                          "Tunnel Label Switched Path Identifier";
                      }
                      leaf path-protected {
                        type boolean;
                        description
                          "Test path protected LSP for tunnel";
                      }
                      leaf reoptimized {
                        type boolean;
                        description
                          "Test reoptimized LSP for tunnel";
                      }
                    }  // choice te-lsp-option
                  }  // container traffic-eng
                }  // choice mpls-subtype
              }  // container mpls
              container sr-mpls {
                description "Ping sr-mpls";
                choice sr-target {
                  description
                    "Ping sr-mpls target type";
                  container ipv4 {
                    description
                      "Ping sr-mpls IPv4 Prefix SID";
                    leaf ip {
                      type inet:ipv4-address;
                      mandatory true;
                      description
                        "SR LSP Egress IP";
                    }
    
                    choice subnet {
                      mandatory true;
                      description
                        "The subnet to be specified as a prefix-length or as
                           a netmask.";
                      leaf prefix-length {
                        type uint8 {
                          range "0..32";
                        }
                        default "32";
                        description
                          "The length of the subnet prefix.";
                      }
                      leaf netmask {
                        type inet:ipv4-address;
                        description
                          "The subnet specified as a netmask";
                      }
                    }  // choice subnet
    
                    leaf fec-type {
                      type sr-fec-type;
                      description
                        "SR OAM IGP FEC TLV type to use in request";
                    }
                  }  // container ipv4
                  container labels {
                    description
                      "Ping sr-mpls label stack (up to 12 labels)";
                    list label {
                      key "index";
                      description
                        "Specify label index and value";
                      leaf index {
                        type uint32 {
                          range "0..9";
                        }
                        mandatory true;
                        description
                          "Label index";
                      }
    
                      leaf label {
                        type uint32 {
                          range "16..1048575";
                        }
                        mandatory true;
                        description
                          "label value";
                      }
                    }  // list label
    
                    leaf nil-fec {
                      type boolean;
                      description
                        "Use Nil-FEC TLV and Append Explicit Null";
                    }
    
                    leaf lsp-endpoint {
                      type inet:ipv4-address;
                      description
                        "Specify the IP of the LSP endpoint";
                    }
                  }  // container labels
                  container policy {
                    description
                      "Ping sr-mpls policy";
                    choice sr-policy-id {
                      mandatory true;
                      description
                        "SR Policy Identifier (binding sid or policy name)";
                      leaf bsid {
                        type uint32 {
                          range "16..1048575";
                        }
                        mandatory true;
                        description
                          "SR Policy Binding SID";
                      }
                      leaf name {
                        type string;
                        mandatory true;
                        description
                          "SR Policy Name";
                      }
                    }  // choice sr-policy-id
    
                    leaf fec-type {
                      type sr-fec-type;
                      description
                        "SR OAM IGP FEC TLV type to use in request";
                    }
    
                    leaf nil-fec {
                      type boolean;
                      description
                        "Use Nil-FEC TLV and Append Explicit Null";
                    }
    
                    leaf lsp-endpoint {
                      type inet:ipv4-address;
                      description
                        "Specify the IP of the LSP endpoint";
                    }
                  }  // container policy
                }  // choice sr-target
              }  // container sr-mpls
              container pseudowire {
                description
                  "Ping mpls pseudowire";
                choice pw-type {
                  description
                    "Ping mpls pseudowire type";
                  container fec-128 {
                    description "FEC 128";
                    leaf remote-pe-addr {
                      type inet:ipv4-address;
                      mandatory true;
                      description
                        "PW LSP Egress IPv4 Identifier";
                    }
    
                    leaf pwid {
                      type uint32 {
                        range "1..4294967295";
                      }
                      mandatory true;
                      description
                        "Pseudowire Identifier";
                    }
    
                    leaf deprecated-fec128 {
                      type boolean;
                      description
                        "Force the use of the Deprecated FEC128 described in RFC4379";
                    }
    
                    container force-control-channel {
                      description
                        "Force the use of a VCCV control channel";
                      choice force-control-channel-fec128 {
                        description
                          "Force control channel type";
                        leaf control-word {
                          type boolean;
                          description
                            "Force Control Word";
                        }
                        leaf ra-label {
                          type boolean;
                          description "RA Label";
                        }
                        leaf ttl-expiry {
                          type boolean;
                          description
                            "VC Label TTL expiry";
                        }
                      }  // choice force-control-channel-fec128
                    }  // container force-control-channel
                  }  // container fec-128
                  container multisegment {
                    description
                      "Ping mpls pseudowire multisegment";
                    leaf remote-pe-addr {
                      type inet:ipv4-address;
                      mandatory true;
                      description
                        "PW LSP Egress IPv4 Identifier";
                    }
    
                    leaf pwid {
                      type uint32 {
                        range "1..4294967295";
                      }
                      mandatory true;
                      description
                        "Pseudowire Identifier";
                    }
    
                    leaf deprecated-fec128 {
                      type boolean;
                      description
                        "Force the use of the Deprecated FEC128 described in RFC4379";
                    }
    
                    container destination-fec {
                      description
                        "Destination FEC <Sender IP Address> <Remote IP Address> <PW ID>";
                      leaf sender-ip {
                        type inet:ipv4-address;
                        mandatory true;
                        description
                          "Sender address for Destination FEC";
                      }
    
                      leaf remote-ip {
                        type inet:ipv4-address;
                        mandatory true;
                        description
                          "Remote address for Destination FEC";
                      }
    
                      leaf destination-fec-pw-id {
                        type uint32;
                        mandatory true;
                        description
                          "Destination FEC Pseudowire ID";
                      }
                    }  // container destination-fec
    
                    container force-control-channel {
                      description
                        "Force the use of a VCCV control channel";
                      choice force-control-channel-mspw {
                        description
                          "Force Control Channel type";
                        leaf control-word {
                          type boolean;
                          description
                            "Force Control Word";
                        }
                        leaf ttl-expiry {
                          type boolean;
                          description
                            "VC Label TTL expiry";
                        }
                      }  // choice force-control-channel-mspw
                    }  // container force-control-channel
    
                    leaf segment-count {
                      type uint32 {
                        range "1..255";
                      }
                      description
                        "Segement Count for Destination FEC";
                    }
                  }  // container multisegment
                  container fec-129 {
                    description "FEC 129";
                    choice fec-129-type {
                      description
                        "FEC 129 Attachement Identifier Type";
                      container aii-type1 {
                        description
                          "Type 1 Attachment Identifier";
                        container vpls-id {
                          description
                            "VPLS ID of the bridge domain";
                          choice vpls-id-type {
                            description
                              "VPLS ID type";
                            container byte-as {
                              description
                                "Two Byte AS number";
                              leaf byte {
                                type uint16 {
                                  range
                                    "1..65535";
                                }
                                mandatory true;
                                description
                                  "VPLS Byte ID";
                              }
    
                              leaf space {
                                type uint32;
                                mandatory true;
                                description
                                  "Namespace";
                              }
                            }  // container byte-as
                            container ip-prefix-as {
                              description
                                "IP address";
                              leaf ip-prefix {
                                type inet:ipv4-address;
                                mandatory true;
                                description
                                  "VPLS IP Prefix ID";
                              }
    
                              leaf space {
                                type uint32 {
                                  range
                                    "0..32767";
                                }
                                mandatory true;
                                description
                                  "Namespace";
                              }
                            }  // container ip-prefix-as
                          }  // choice vpls-id-type
                        }  // container vpls-id
    
                        leaf target {
                          type inet:ipv4-address;
                          mandatory true;
                          description
                            "L2VPN router-id of the target";
                        }
                      }  // container aii-type1
                      container aii-type2 {
                        description
                          "Type 2 Attachment Identifier";
                        leaf global-id {
                          type uint32 {
                            range
                              "1..4294967295";
                          }
                          mandatory true;
                          description
                            "Global ID of the pseudowire";
                        }
    
                        leaf target {
                          type inet:ipv4-address;
                          mandatory true;
                          description
                            "Target end address of the pseudowire";
                        }
    
                        leaf circuit-id {
                          type uint32 {
                            range
                              "1..4294967295";
                          }
                          mandatory true;
                          description
                            "Attachment Circuit ID";
                        }
                      }  // container aii-type2
                    }  // choice fec-129-type
    
                    container force-control-channel {
                      description
                        "Force the use of a VCCV control channel";
                      choice force-control-channel-fec129 {
                        description
                          "Force Control Channel type";
                        leaf control-word {
                          type boolean;
                          description
                            "Force Control Word";
                        }
                        leaf ra-label {
                          type boolean;
                          description "RA Label";
                        }
                        leaf ttl-expiry {
                          type boolean;
                          description
                            "VC Label TTL expiry";
                        }
                      }  // choice force-control-channel-fec129
                    }  // container force-control-channel
                  }  // container fec-129
                }  // choice pw-type
              }  // container pseudowire
            }  // choice ping-type
    
            container request-options-parameters {
              description
                "MPLS echo request options";
              leaf exp {
                type uint8 {
                  range "0..7";
                }
                description "EXP Bits To Set";
              }
    
              leaf fec {
                type boolean;
                description
                  "Force FEC TLV Checks";
              }
    
              leaf interval {
                type uint32 {
                  range "0..3600000";
                }
                description
                  "Time between echo requests in ms";
              }
    
              leaf ddmap {
                type boolean;
                description
                  "Use DDMAP (Default is DSMAP)";
              }
    
              leaf force-explicit-null {
                type boolean;
                description
                  "Force an explicit null label to be added";
              }
    
              container packet-output {
                description
                  "Packet output options";
                leaf interface-name {
                  type xr:Interface-name;
                  description
                    "Outgoing interface with form <Interface>R/S/I/P for echo packet";
                }
    
                leaf next-hop {
                  type inet:ipv4-address;
                  description
                    "Outgoing next hop IP (X.X.X.X) for echo packet";
                }
              }  // container packet-output
    
              leaf pad {
                type xr:Hex-integer-16;
                description "HEX Padding 0-ffff";
              }
    
              leaf repeat {
                type uint32 {
                  range "1..2147483647";
                }
                default "5";
                description
                  "Number of echo requests to send";
              }
    
              container reply {
                description "Echo Reply Options";
                leaf dscp {
                  type uint8 {
                    range "0..63";
                  }
                  description
                    "Set DSCP reply value 0-63 (decimal)";
                }
    
                leaf reply-mode {
                  type request-reply-mode;
                  description "Echo Reply Mode";
                }
    
                leaf pad-tlv {
                  type boolean;
                  description
                    "Enable PAD TLV for the request";
                }
              }  // container reply
    
              leaf size {
                type uint16 {
                  range "100..17986";
                }
                description
                  "Define Packet Size for the request";
              }
    
              leaf source {
                type inet:ipv4-address;
                description
                  "Source IP address to use in the IP header";
              }
    
              leaf destination {
                type inet:ipv4-address;
                description
                  "Destination IP address (127.x.y.z)";
              }
    
              container sweep {
                description
                  "Echo request sweep options";
                leaf minimum {
                  type uint32 {
                    range "100..17986";
                  }
                  mandatory true;
                  description "Sweep min value";
                }
    
                leaf maximum {
                  type uint32 {
                    range "100..17986";
                  }
                  mandatory true;
                  description "Sweep max value";
                }
    
                leaf increment {
                  type uint32 {
                    range "1..8993";
                  }
                  mandatory true;
                  description "Sweep incr value";
                }
              }  // container sweep
    
              leaf brief {
                type boolean;
                description
                  "Brief mode. Does not include statistical data in result";
              }
    
              leaf timeout {
                type uint32 {
                  range "0..3600";
                }
                description
                  "Time in seconds before the lack of a reply invalidates a request";
              }
    
              leaf ttl {
                type uint32 {
                  range "1..255";
                }
                description
                  "Time to live (hops to until forced punt)";
              }
            }  // container request-options-parameters
          }
    
          output {
            container mpls-ping-response {
              description "MPLS ping Response";
              container request-options-parameters {
                description
                  "Echo Request Options";
                leaf exp {
                  type uint8 {
                    range "0..7";
                  }
                  description "EXP Bits To Set";
                }
    
                leaf fec {
                  type boolean;
                  description
                    "Force FEC TLV Checks";
                }
    
                leaf interval {
                  type uint32 {
                    range "0..3600000";
                  }
                  description
                    "Time between echo requests in ms";
                }
    
                leaf ddmap {
                  type boolean;
                  description
                    "Use DDMAP (Default is DSMAP)";
                }
    
                leaf force-explicit-null {
                  type boolean;
                  description
                    "Force an explicit null label to be added";
                }
    
                container packet-output {
                  description
                    "Packet output options";
                  leaf interface-name {
                    type xr:Interface-name;
                    description
                      "Outgoing interface with form <Interface>R/S/I/P for echo packet";
                  }
    
                  leaf next-hop {
                    type inet:ipv4-address;
                    description
                      "Outgoing next hop IP (X.X.X.X) for echo packet";
                  }
                }  // container packet-output
    
                leaf pad {
                  type xr:Hex-integer-16;
                  description
                    "HEX Padding 0-ffff";
                }
    
                leaf repeat {
                  type uint32 {
                    range "1..2147483647";
                  }
                  default "5";
                  description
                    "Number of echo requests to send";
                }
    
                container reply {
                  description "Reply options";
                  leaf dscp {
                    type uint8 {
                      range "0..63";
                    }
                    description
                      "Set DSCP reply value 0-63 (decimal)";
                  }
    
                  leaf reply-mode {
                    type request-reply-mode;
                    description
                      "Echo Reply Mode";
                  }
    
                  leaf pad-tlv {
                    type boolean;
                    description
                      "Enable PAD TLV for the request";
                  }
                }  // container reply
    
                leaf size {
                  type uint16 {
                    range "100..17986";
                  }
                  description
                    "Define Packet Size for the request";
                }
    
                leaf source {
                  type inet:ipv4-address;
                  description
                    "Source IP address to use in the IP header";
                }
    
                leaf destination {
                  type inet:ipv4-address;
                  description
                    "Destination IP address (127.x.y.z)";
                }
    
                container sweep {
                  description
                    "Echo request sweep options";
                  leaf minimum {
                    type uint32 {
                      range "100..17986";
                    }
                    mandatory true;
                    description
                      "Sweep min value";
                  }
    
                  leaf maximum {
                    type uint32 {
                      range "100..17986";
                    }
                    mandatory true;
                    description
                      "Sweep max value";
                  }
    
                  leaf increment {
                    type uint32 {
                      range "1..8993";
                    }
                    mandatory true;
                    description
                      "Sweep incr value";
                  }
                }  // container sweep
    
                leaf brief {
                  type boolean;
                  description
                    "Brief mode. Does not include statistical data in result";
                }
    
                leaf timeout {
                  type uint32 {
                    range "0..3600";
                  }
                  description
                    "Time in seconds before the lack of a reply invalidates a request";
                }
    
                leaf ttl {
                  type uint32 {
                    range "1..255";
                  }
                  description
                    "Time to live (hops to until forced punt)";
                }
              }  // container request-options-parameters
    
              container replies {
                description "MPLS ping replies";
                list reply {
                  key "reply-index";
                  description "MPLS ping reply";
                  leaf reply-index {
                    type uint64 {
                      range "1..2147483647";
                    }
                    description
                      "Index of the reply list";
                  }
    
                  leaf return-code {
                    type uint8;
                    description
                      "Return Code of the echo request";
                  }
    
                  leaf return-char {
                    type string;
                    description
                      "Return Char of the echo request";
                  }
    
                  leaf duration {
                    type uint32;
                    description
                      "Trip duration (msec)";
                  }
    
                  leaf reply-addr {
                    type string;
                    description "Reply Address";
                  }
    
                  leaf size {
                    type uint32;
                    description "Packet size";
                  }
                }  // list reply
              }  // container replies
    
              container statistics {
                description
                  "Statistics Response";
                leaf tmin {
                  type uint32;
                  description
                    "Minimum Trip Duration";
                }
    
                leaf tmax {
                  type uint32;
                  description
                    "Maximum Trip Duration";
                }
    
                leaf tavg {
                  type uint32;
                  description
                    "Average Trip Duration";
                }
    
                leaf hits {
                  type uint32;
                  description
                    "Number of successful ping requests sent";
                }
    
                leaf tries {
                  type uint32;
                  description
                    "Number of ping requests sent";
                }
              }  // container statistics
            }  // container mpls-ping-response
          }
        }  // rpc mpls-ping
      }  // module Cisco-IOS-XR-mpls-ping-act
    

© 2023 YumaWorks, Inc. All rights reserved.