junos-ex-rpc-ping

Junos RPC YANG module for ping command(s)

  • Version: 2019-01-01

    junos-ex-rpc-ping@2019-01-01


    
      module junos-ex-rpc-ping {
    
        yang-version 1;
    
        namespace
          "http://yang.juniper.net/junos-ex/rpc/ping";
    
        prefix ping;
    
        import junos-common-types {
          prefix jt;
          revision-date "2019-01-01";
        }
    
        organization "Juniper Networks, Inc.";
    
        contact "yang-support@juniper.net";
    
        description
          "Junos RPC YANG module for ping command(s)";
    
        revision "2019-01-01" {
          description "Junos: 21.3R1.9";
        }
    
    
        rpc ping {
          description "Ping remote target";
          input {
            leaf count {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 2000000000";
                }
              }
              units "packets";
              description
                "Number of ping requests to send";
            }
    
            leaf wait {
              type union {
                type uint32;
                type string {
                  pattern "<.*>|$.*";
                }
              }
              units "seconds";
              description
                "Maximum wait time after sending final packet";
            }
    
            leaf no-resolve {
              type empty;
              description
                "Don't attempt to print addresses symbolically";
            }
    
            leaf rapid {
              type empty;
              description
                "Send requests rapidly (default count of 5)";
            }
    
            leaf record-route {
              type empty;
              description
                "Record and report packet's path (IPv4)";
            }
    
            leaf brief {
              type empty;
              status deprecated;
            }
    
            leaf detail {
              type empty;
              description
                "Display incoming interface of received packet";
            }
    
            leaf do-not-fragment {
              type empty;
              description
                "Don't fragment echo request packets (IPv4)";
            }
    
            leaf-list loose-source {
              type string;
              ordered-by user;
              description
                "Intermediate loose source route entry (IPv4)";
            }
    
            leaf interface {
              type string;
              description
                "Source interface (multicast, all-ones, unrouted packets)";
            }
    
            leaf interval {
              type string;
              units "seconds";
              description
                "Delay between ping requests";
            }
    
            leaf source {
              type string;
              description
                "Source address of echo request";
            }
    
            leaf pattern {
              type string;
              description
                "Hexadecimal fill pattern";
            }
    
            leaf size {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 65468";
                }
              }
              units "bytes";
              description
                "Size of request packets";
            }
    
            leaf strict {
              type empty;
              description
                "Use strict source route option (IPv4)";
            }
    
            leaf-list strict-source {
              type string;
              ordered-by user;
              description
                "Intermediate strict source route entry (IPv4)";
            }
    
            leaf ttl {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 255";
                }
              }
              units "hops";
              description
                "IP time-to-live value (IPv6 hop-limit value)";
            }
    
            leaf verbose {
              type empty;
              description
                "Display detailed output";
            }
    
            leaf tos {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 255";
                }
              }
              description
                "IP type-of-service value";
            }
    
            leaf bypass-routing {
              type empty;
              description
                "Bypass routing table, use specified interface";
            }
    
            leaf inet {
              type empty;
              description
                "Force ping to IPv4 destination";
            }
    
            leaf inet6 {
              type empty;
              description
                "Force ping to IPv6 destination";
            }
    
            leaf routing-instance {
              type string;
              description
                "Routing instance for ping attempt";
            }
    
            leaf mac-address {
              type jt:mac-unicast;
              description
                "MAC address of the nexthop in xx:xx:xx:xx:xx:xx format";
            }
    
            leaf host {
              type string;
              mandatory true;
              description
                "Hostname or IP address of remote host";
            }
    
            leaf logical-system {
              type string;
              description
                "Name of logical system";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml ping-results;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc ping
    
        rpc request-ping-ethernet {
          description
            "Ping to an ethernet host by unicast mac address";
          input {
            leaf wait {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type int32 {
                  range "1 .. 255";
                }
              }
              units "seconds";
              description
                "Delay after sending last packet";
            }
    
            leaf size {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type int32 {
                  range "1 .. 1400";
                }
              }
              units "bytes";
              description
                "Size of data TLV in request packets";
            }
    
            leaf count {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type int32 {
                  range "1 .. 65535";
                }
              }
              description
                "Number of ping requests to send";
            }
    
            leaf maintenance-domain {
              type string {
                length "1 .. 45";
              }
              mandatory true;
              description
                "Name of maintenance domain";
            }
    
            leaf maintenance-association {
              type string {
                length "1 .. 45";
              }
              mandatory true;
              description
                "Name of maintenance association";
            }
    
            leaf host {
              type jt:mac-addr;
              description
                "MAC address of remote host in xx:xx:xx:xx:xx:xx format";
            }
    
            leaf mep {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type int32 {
                  range "1 .. 8191";
                }
              }
              description
                "MEP identifier of remote host (default 1)";
            }
    
            leaf local-mep {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type int32 {
                  range "1 .. 8191";
                }
              }
              description
                "MEP identifier of local host";
            }
    
            leaf priority {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type int32 {
                  range "0 .. 7";
                }
              }
              description
                "Frame priority (802.1p) value";
            }
    
            leaf rapid {
              type empty;
              description
                "Send requests rapidly ";
            }
    
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system";
              }
            }  // choice daemon-select
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml ethping-results;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc request-ping-ethernet
    
        rpc request-ping-ce-ip {
          input {
            leaf ip {
              type string;
              mandatory true;
              description
                "IPv4/IPv6 address or prefix of CE to be pinged";
            }
    
            leaf instance {
              type string;
              mandatory true;
              description
                "VPLS or EVPN instance name";
            }
    
            leaf source-ip {
              type string;
              mandatory true;
              description "Source IP address";
            }
    
            leaf count {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 1000000";
                }
              }
              units "packets";
              default "1000000";
              description
                "Number of ping requests to send";
            }
    
            leaf vni {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 16777214";
                }
              }
              description
                "VXLAN Network Identifier";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml lsping-results;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc request-ping-ce-ip
    
        rpc request-ping-overlay {
          description "Ping overlay path";
          input {
            leaf tunnel-type {
              type enumeration {
                enum "vxlan" {
                  value 0;
                  description
                    "Vxlan tunnel-type";
                }
              }
              default "vxlan";
              description "Tunnel type";
            }
    
            leaf vni {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 16777215";
                }
              }
              mandatory true;
              description
                "Value of the vni that identifies the overlay segment";
            }
    
            leaf tunnel-src {
              type string;
              mandatory true;
              description
                "Source VTEP IP address";
            }
    
            leaf tunnel-dst {
              type string;
              mandatory true;
              description
                "Remote VTEP IP address";
            }
    
            choice address {
              leaf mac {
                type jt:mac-unicast;
                description
                  "Validate MAC address";
              }
            }  // choice address
    
            leaf count {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 65535";
                }
              }
              default "5";
              description
                "Number of pings to send";
            }
    
            leaf ttl {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 255";
                }
              }
              default "255";
              description
                "TTL to use in the ping packets";
            }
    
            leaf hash-input-interface {
              type union {
                type jt:interface-device;
                type string {
                  pattern "<.*>|$.*";
                }
              }
            }
    
            leaf hash-source-mac {
              type jt:mac-unicast;
            }
    
            leaf hash-destination-mac {
              type jt:mac-unicast;
            }
    
            leaf hash-protocol {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 255";
                }
              }
            }
    
            leaf hash-source-address {
              type string;
              description "IPv4 or IPv6 address";
            }
    
            leaf hash-destination-address {
              type string;
              description "IPv4 or IPv6 address";
            }
    
            leaf hash-source-port {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 65535";
                }
              }
            }
    
            leaf hash-destination-port {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 65535";
                }
              }
            }
    
            leaf hash-vlan {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 4094";
                }
              }
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml ping-overlay-results;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc request-ping-overlay
    
        rpc request-ping-rsvp-lsp {
          description "Ping RSVP-signaled LSP";
          input {
            leaf lsp-name {
              type string {
                length "1 .. 64";
              }
              mandatory true;
              description "Name of LSP";
            }
    
            leaf standby {
              type string;
              description "Name of standby path";
            }
    
            leaf multipoint {
              type empty;
              description "Probe multipoint LSP";
            }
    
            leaf egress {
              type jt:ipv4addr;
              description
                "Request only a specific multipoint egress to respond";
            }
    
            leaf instance {
              type string;
              description
                "Routing-instance name";
            }
    
            leaf count {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 1000000";
                }
              }
              units "packets";
              description
                "Number of ping requests to send";
            }
    
            leaf source {
              type jt:ipprefix;
              description
                "IP source address of echo request";
            }
    
            leaf destination {
              type jt:ipprefix;
              description
                "IP address of destination for echo request";
            }
    
            leaf exp {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 7";
                }
              }
              description "Forwarding class";
            }
    
            leaf detail {
              type empty;
              description
                "Display detailed output";
            }
    
            leaf size {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 65468";
                }
              }
              units "bytes";
              description
                "Size of lsp ping request packet";
            }
    
            leaf sweep {
              type empty;
              description
                "Incremental ping to find MTU";
            }
    
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system";
              }
            }  // choice daemon-select
    
            leaf reply-mode {
              type enumeration {
                enum "no-reply" {
                  value 0;
                  description "Do not reply";
                }
                enum "ip-udp" {
                  value 1;
                  description
                    "Reply via an IPv4 or IPv6 UDP packet";
                }
                enum
                  "application-level-control-channel" {
                  value 2;
                  description
                    "Reply via application level control channel";
                }
              }
              description
                "Reply mode for ping request";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml lsping-results;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc request-ping-rsvp-lsp
    
        rpc request-ping-rsvp-dynamic-bypass-lsp {
          description
            "Dynamically created LSP, used for protecting other LSPs";
          input {
            leaf lsp-name {
              type string {
                length "1 .. 64";
              }
              mandatory true;
              description
                "Name of dynamic bypass LSP";
            }
    
            leaf count {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 1000000";
                }
              }
              units "packets";
              description
                "Number of ping requests to send";
            }
    
            leaf source {
              type jt:ipprefix;
              description
                "IP source address of echo request";
            }
    
            leaf destination {
              type jt:ipprefix;
              description
                "IP address of destination for echo request";
            }
    
            leaf exp {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 7";
                }
              }
              description "Forwarding class";
            }
    
            leaf detail {
              type empty;
              description
                "Display detailed output";
            }
    
            leaf size {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 65468";
                }
              }
              units "bytes";
              description
                "Size of lsp ping request packet";
            }
    
            leaf sweep {
              type empty;
              description
                "Incremental ping to find MTU";
            }
    
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system";
              }
            }  // choice daemon-select
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml lsping-results;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc request-ping-rsvp-dynamic-bypass-lsp
    
        rpc request-ping-rsvp-manual-bypass-lsp {
          description
            "Manually configured LSP, used for protecting other LSPs";
          input {
            leaf lsp-name {
              type string {
                length "1 .. 64";
              }
              mandatory true;
              description
                "Name of manual bypass LSP";
            }
    
            leaf interface {
              type union {
                type jt:interface-name;
                type string {
                  pattern "<.*>|$.*";
                }
              }
              mandatory true;
              description
                "Name of the interface, which is protected by this bypass";
            }
    
            leaf count {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 1000000";
                }
              }
              units "packets";
              description
                "Number of ping requests to send";
            }
    
            leaf source {
              type jt:ipprefix;
              description
                "IP source address of echo request";
            }
    
            leaf destination {
              type jt:ipprefix;
              description
                "IP address of destination for echo request";
            }
    
            leaf exp {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 7";
                }
              }
              description "Forwarding class";
            }
    
            leaf detail {
              type empty;
              description
                "Display detailed output";
            }
    
            leaf size {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 65468";
                }
              }
              units "bytes";
              description
                "Size of lsp ping request packet";
            }
    
            leaf sweep {
              type empty;
              description
                "Incremental ping to find MTU";
            }
    
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system";
              }
            }  // choice daemon-select
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml lsping-results;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc request-ping-rsvp-manual-bypass-lsp
    
        rpc request-ping-ldp-lsp {
          description "Ping LDP-signaled LSP";
          input {
            leaf fec {
              type jt:ipprefix;
              mandatory true;
              description
                "IP prefix/length of forwarding equivalence class";
            }
    
            leaf instance {
              type string;
              description
                "Routing-instance name";
            }
    
            leaf stitched-protocol {
              type enumeration {
                enum "ospf" {
                  value 0;
                  description "OSPF protocol";
                }
                enum "isis" {
                  value 1;
                  description "ISIS protocol";
                }
                enum "bgp" {
                  value 2;
                  description "BGP protocol";
                }
              }
              description
                "Protocol  stitched on intermidiate node";
            }
    
            leaf count {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 1000000";
                }
              }
              units "packets";
              description
                "Number of ping requests to send";
            }
    
            leaf source {
              type jt:ipprefix;
              description
                "IP source address of echo request";
            }
    
            leaf destination {
              type jt:ipprefix;
              description
                "IP address of destination for echo request";
            }
    
            leaf exp {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 7";
                }
              }
              description "Forwarding class";
            }
    
            leaf detail {
              type empty;
              description
                "Display detailed output";
            }
    
            leaf size {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 65468";
                }
              }
              units "bytes";
              description
                "Size of lsp ping request packet";
            }
    
            leaf sweep {
              type empty;
              description
                "Incremental ping to find MTU";
            }
    
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system";
              }
            }  // choice daemon-select
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml lsping-results;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc request-ping-ldp-lsp
    
        rpc request-ping-ldp-p2mp-lsp {
          description
            "Ping LDP-signaled P2MP LSP";
          input {
            leaf root-addr {
              type jt:ipv4addr;
              mandatory true;
              description
                "IP address of p2mp lsp root";
            }
    
            leaf lsp-id {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 4294967295";
                }
              }
              mandatory true;
              description "LSP ID of p2mp lsp";
            }
    
            leaf egress {
              type jt:ipv4addr;
              description
                "Request only a specific multipoint egress to respond";
            }
    
            leaf instance {
              type string;
              description
                "Routing-instance name";
            }
    
            leaf count {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 1000000";
                }
              }
              units "packets";
              description
                "Number of ping requests to send";
            }
    
            leaf source {
              type jt:ipprefix;
              description
                "IP source address of echo request";
            }
    
            leaf destination {
              type jt:ipprefix;
              description
                "IP address of destination for echo request";
            }
    
            leaf exp {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 7";
                }
              }
              description "Forwarding class";
            }
    
            leaf detail {
              type empty;
              description
                "Display detailed output";
            }
    
            leaf size {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 65468";
                }
              }
              units "bytes";
              description
                "Size of lsp ping request packet";
            }
    
            leaf sweep {
              type empty;
              description
                "Incremental ping to find MTU";
            }
    
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system";
              }
            }  // choice daemon-select
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml lsping-results;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc request-ping-ldp-p2mp-lsp
    
        rpc request-ping-ospf-lsp {
          description "Ping L-OSPF prefix";
          input {
            leaf fec {
              type jt:ipprefix;
              mandatory true;
              description
                "IP prefix/length of forwarding equivalence class";
            }
    
            leaf instance {
              type string;
              description
                "Routing-instance name";
            }
    
            leaf stitched-protocol {
              type enumeration {
                enum "ldp" {
                  value 0;
                  description "LDP protocol";
                }
              }
              description
                "Protocol  stitched on intermediate node";
            }
    
            leaf count {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 1000000";
                }
              }
              units "packets";
              description
                "Number of ping requests to send";
            }
    
            leaf source {
              type jt:ipprefix;
              description
                "IP source address of echo request";
            }
    
            leaf destination {
              type jt:ipprefix;
              description
                "IP address of destination for echo request";
            }
    
            leaf exp {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 7";
                }
              }
              description "Forwarding class";
            }
    
            leaf detail {
              type empty;
              description
                "Display detailed output";
            }
    
            leaf size {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 65468";
                }
              }
              units "bytes";
              description
                "Size of lsp ping request packet";
            }
    
            leaf sweep {
              type empty;
              description
                "Incremental ping to find MTU";
            }
    
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system";
              }
            }  // choice daemon-select
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml lsping-results;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc request-ping-ospf-lsp
    
        rpc request-ping-isis-lsp {
          description "Ping L-ISIS prefix";
          input {
            leaf fec {
              type jt:ipprefix;
              mandatory true;
              description
                "IP prefix/length of forwarding equivalence class";
            }
    
            leaf instance {
              type string;
              description
                "Routing-instance name";
            }
    
            leaf stitched-protocol {
              type enumeration {
                enum "ldp" {
                  value 0;
                  description "LDP protocol";
                }
              }
              description
                "Protocol  stitched on intermidiate node";
            }
    
            leaf count {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 1000000";
                }
              }
              units "packets";
              description
                "Number of ping requests to send";
            }
    
            leaf source {
              type jt:ipprefix;
              description
                "IP source address of echo request";
            }
    
            leaf destination {
              type jt:ipprefix;
              description
                "IP address of destination for echo request";
            }
    
            leaf exp {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 7";
                }
              }
              description "Forwarding class";
            }
    
            leaf detail {
              type empty;
              description
                "Display detailed output";
            }
    
            leaf size {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 65468";
                }
              }
              units "bytes";
              description
                "Size of lsp ping request packet";
            }
    
            leaf sweep {
              type empty;
              description
                "Incremental ping to find MTU";
            }
    
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system";
              }
            }  // choice daemon-select
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml lsping-results;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc request-ping-isis-lsp
    
        rpc request-ping-segment-routing-egress-ip {
          description
            "Ping to/install IP address to use when sending probes";
          input {
            leaf egress-ip {
              type jt:ipprefix;
              mandatory true;
              description
                "To/Install IP address";
            }
    
            leaf color {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 4294967295";
                }
              }
              description
                "Color identifier for the tunnel end-point";
            }
    
            leaf tunnel-source {
              type enumeration {
                enum "static" {
                  value 0;
                  description
                    "Static configuration";
                }
                enum "bgp-sr-te" {
                  value 1;
                  description
                    "BGP-SR-TE configuration";
                }
              }
              description
                "Source protocol used to create tunnel";
            }
    
            leaf skip-fec-validation {
              type empty;
              description "Skip fec validation";
            }
    
            leaf active {
              type empty;
              description
                "Use forwarding path/nexthops from the RIB table";
            }
    
            leaf secondary {
              type empty;
              description
                "Use configured secondary segment list for the given SR path";
            }
    
            leaf segment-list {
              type string {
                length "1 .. 64";
              }
              description
                "Segment list to use when sending probes";
            }
    
            leaf instance {
              type string;
              description
                "Routing-instance name";
            }
    
            leaf count {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 1000000";
                }
              }
              units "packets";
              description
                "Number of ping requests to send";
            }
    
            leaf source {
              type jt:ipprefix;
              description
                "IP source address of echo request";
            }
    
            leaf destination {
              type jt:ipprefix;
              description
                "IP address of destination for echo request";
            }
    
            leaf exp {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 7";
                }
              }
              description "Forwarding class";
            }
    
            leaf detail {
              type empty;
              description
                "Display detailed output";
            }
    
            leaf size {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 65468";
                }
              }
              units "bytes";
              description
                "Size of lsp ping request packet";
            }
    
            leaf sweep {
              type empty;
              description
                "Incremental ping to find MTU";
            }
    
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system";
              }
            }  // choice daemon-select
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml lsping-results;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc request-ping-segment-routing-egress-ip
    
        rpc request-ping-segment-source-routing-path {
          description
            "Ping Source Path routing to use when sending probes";
          input {
            leaf lsp-name {
              type string {
                length "1 .. 64";
              }
              mandatory true;
              description
                "Source path routing name";
            }
    
            leaf tunnel-source {
              type enumeration {
                enum "static" {
                  value 0;
                  description
                    "Static configuration";
                }
                enum "pcep" {
                  value 1;
                  description
                    "PCEP configuration";
                }
              }
              description
                "Source protocol used to create tunnel";
            }
    
            leaf skip-fec-validation {
              type empty;
              description "Skip fec validation";
            }
    
            leaf active {
              type empty;
              description
                "Use forwarding path/nexthops from the RIB table";
            }
    
            leaf secondary {
              type empty;
              description
                "Use configured secondary segment list for the given SR path";
            }
    
            leaf egress-ip {
              type jt:ipprefix;
              description
                "To/Install address to use when sending probes";
            }
    
            leaf color {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 4294967295";
                }
              }
              description
                "Color identifier for the tunnel end-point";
            }
    
            leaf segment-list {
              type string {
                length "1 .. 64";
              }
              description
                "Segment list to use when sending probes";
            }
    
            leaf instance {
              type string;
              description
                "Routing-instance name";
            }
    
            leaf count {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 1000000";
                }
              }
              units "packets";
              description
                "Number of ping requests to send";
            }
    
            leaf source {
              type jt:ipprefix;
              description
                "IP source address of echo request";
            }
    
            leaf destination {
              type jt:ipprefix;
              description
                "IP address of destination for echo request";
            }
    
            leaf exp {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 7";
                }
              }
              description "Forwarding class";
            }
    
            leaf detail {
              type empty;
              description
                "Display detailed output";
            }
    
            leaf size {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 65468";
                }
              }
              units "bytes";
              description
                "Size of lsp ping request packet";
            }
    
            leaf sweep {
              type empty;
              description
                "Incremental ping to find MTU";
            }
    
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system";
              }
            }  // choice daemon-select
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml lsping-results;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc request-ping-segment-source-routing-path
    
        rpc request-ping-label-stack {
          description
            "Label stack for ping packets";
          input {
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system";
              }
            }  // choice daemon-select
    
            leaf-list labels {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "16 .. 1048575";
                }
              }
              ordered-by user;
              description
                "Labels in label stack - [label1 label2 ... label(top)]";
            }
    
            leaf nexthop-interface {
              type string;
              mandatory true;
              description
                "Outgoing interface for the ping packet";
            }
    
            leaf nexthop-address {
              type jt:ipaddr;
              mandatory true;
              description
                "Nexthop IP address for the ping packet";
            }
    
            leaf egress {
              type jt:ipaddr;
              description "Egress IP address";
            }
    
            leaf detail {
              type empty;
              description
                "Display detailed output";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml lsping-results;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc request-ping-label-stack
    
        rpc request-ping-bgp-lsp {
          description "Ping BGP-signaled LSP";
          input {
            leaf fec {
              type jt:ipprefix;
              mandatory true;
              description
                "IP prefix/length of forwarding equivalence class";
            }
    
            leaf bottom-label-ttl {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 255";
                }
              }
              description
                "Time to live for the bottom label in the label stack";
            }
    
            leaf instance {
              type string;
              description
                "Routing-instance name";
            }
    
            leaf stitched-protocol {
              type enumeration {
                enum "ldp" {
                  value 0;
                  description "LDP protocol";
                }
              }
              description
                "Protocol  stitched on intermediate node";
            }
    
            leaf count {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 1000000";
                }
              }
              units "packets";
              description
                "Number of ping requests to send";
            }
    
            leaf source {
              type jt:ipprefix;
              description
                "IP source address of echo request";
            }
    
            leaf destination {
              type jt:ipprefix;
              description
                "IP address of destination for echo request";
            }
    
            leaf exp {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 7";
                }
              }
              description "Forwarding class";
            }
    
            leaf detail {
              type empty;
              description
                "Display detailed output";
            }
    
            leaf size {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 65468";
                }
              }
              units "bytes";
              description
                "Size of lsp ping request packet";
            }
    
            leaf sweep {
              type empty;
              description
                "Incremental ping to find MTU";
            }
    
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system";
              }
            }  // choice daemon-select
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml lsping-results;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc request-ping-bgp-lsp
    
        rpc request-ping-l3vpn {
          description
            "Ping LSP to Layer 3 VPN prefix";
          input {
            leaf l3vpn-name {
              type string;
              mandatory true;
              description "Name of Layer 3 VPN";
            }
    
            leaf prefix {
              type jt:ipprefix;
              mandatory true;
              description
                "IP prefix/length of Layer 3 VPN";
            }
    
            leaf bottom-label-ttl {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 255";
                }
              }
              description
                "Time to live for the bottom label in the label stack";
            }
    
            leaf count {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 1000000";
                }
              }
              units "packets";
              description
                "Number of ping requests to send";
            }
    
            leaf source {
              type jt:ipprefix;
              description
                "IP source address of echo request";
            }
    
            leaf destination {
              type jt:ipprefix;
              description
                "IP address of destination for echo request";
            }
    
            leaf exp {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 7";
                }
              }
              description "Forwarding class";
            }
    
            leaf detail {
              type empty;
              description
                "Display detailed output";
            }
    
            leaf size {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 65468";
                }
              }
              units "bytes";
              description
                "Size of lsp ping request packet";
            }
    
            leaf sweep {
              type empty;
              description
                "Incremental ping to find MTU";
            }
    
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system";
              }
            }  // choice daemon-select
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml lsping-results;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc request-ping-l3vpn
    
        rpc request-ping-l2vpn-interface {
          description
            "Locate LSP using interface name";
          input {
            leaf interface-name {
              type union {
                type jt:interface-name;
                type string {
                  pattern "<.*>|$.*";
                }
              }
              mandatory true;
              description "Interface name";
            }
    
            leaf bottom-label-ttl {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 255";
                }
              }
              description
                "Time to live for the bottom label in the label stack";
            }
    
            leaf reply-mode {
              type enumeration {
                enum "no-reply" {
                  value 0;
                  description "Do not reply";
                }
                enum "ip-udp" {
                  value 1;
                  description
                    "Reply via an IPv4 or IPv6 UDP packet";
                }
                enum
                  "application-level-control-channel" {
                  value 2;
                  description
                    "Reply via application level control channel";
                }
              }
              description
                "Reply mode for ping request";
            }
    
            leaf count {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 1000000";
                }
              }
              units "packets";
              description
                "Number of ping requests to send";
            }
    
            leaf source {
              type jt:ipprefix;
              description
                "IP source address of echo request";
            }
    
            leaf destination {
              type jt:ipprefix;
              description
                "IP address of destination for echo request";
            }
    
            leaf exp {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 7";
                }
              }
              description "Forwarding class";
            }
    
            leaf detail {
              type empty;
              description
                "Display detailed output";
            }
    
            leaf size {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 65468";
                }
              }
              units "bytes";
              description
                "Size of lsp ping request packet";
            }
    
            leaf sweep {
              type empty;
              description
                "Incremental ping to find MTU";
            }
    
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system";
              }
            }  // choice daemon-select
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml lsping-results;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc request-ping-l2vpn-interface
    
        rpc request-ping-l2vpn-instance {
          description
            "Instance to which this connection belongs";
          input {
            leaf instance-name {
              type string;
              mandatory true;
              description "Layer 2 VPN name";
            }
    
            leaf local-site-id {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 65534";
                }
              }
              mandatory true;
              description
                "Layer 2 VPN local site identifier";
            }
    
            leaf remote-site-id {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 65534";
                }
              }
              mandatory true;
              description
                "Layer 2 VPN remote site identifier";
            }
    
            leaf bottom-label-ttl {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 255";
                }
              }
              description
                "Time to live for the bottom label in the label stack";
            }
    
            leaf reply-mode {
              type enumeration {
                enum "no-reply" {
                  value 0;
                  description "Do not reply";
                }
                enum "ip-udp" {
                  value 1;
                  description
                    "Reply via an IPv4 or IPv6 UDP packet";
                }
                enum
                  "application-level-control-channel" {
                  value 2;
                  description
                    "Reply via application level control channel";
                }
              }
              description
                "Reply mode for ping request";
            }
    
            leaf count {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 1000000";
                }
              }
              units "packets";
              description
                "Number of ping requests to send";
            }
    
            leaf source {
              type jt:ipprefix;
              description
                "IP source address of echo request";
            }
    
            leaf destination {
              type jt:ipprefix;
              description
                "IP address of destination for echo request";
            }
    
            leaf exp {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 7";
                }
              }
              description "Forwarding class";
            }
    
            leaf detail {
              type empty;
              description
                "Display detailed output";
            }
    
            leaf size {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 65468";
                }
              }
              units "bytes";
              description
                "Size of lsp ping request packet";
            }
    
            leaf sweep {
              type empty;
              description
                "Incremental ping to find MTU";
            }
    
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system";
              }
            }  // choice daemon-select
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml lsping-results;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc request-ping-l2vpn-instance
    
        rpc request-ping-l2vpn-fec129-interface {
          description
            "Locate Pseudowire using interface name";
          input {
            leaf interface-name {
              type union {
                type jt:interface-name;
                type string {
                  pattern "<.*>|$.*";
                }
              }
              mandatory true;
              description "Interface name";
            }
    
            leaf bottom-label-ttl {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 255";
                }
              }
              description
                "Time to live for the bottom label in the label stack";
            }
    
            leaf reply-mode {
              type enumeration {
                enum "no-reply" {
                  value 0;
                  description "Do not reply";
                }
                enum "ip-udp" {
                  value 1;
                  description
                    "Reply via an IPv4 or IPv6 UDP packet";
                }
                enum
                  "application-level-control-channel" {
                  value 2;
                  description
                    "Reply via application level control channel";
                }
              }
              description
                "Reply mode for ping request";
            }
    
            leaf count {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 1000000";
                }
              }
              units "packets";
              description
                "Number of ping requests to send";
            }
    
            leaf source {
              type jt:ipprefix;
              description
                "IP source address of echo request";
            }
    
            leaf destination {
              type jt:ipprefix;
              description
                "IP address of destination for echo request";
            }
    
            leaf exp {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 7";
                }
              }
              description "Forwarding class";
            }
    
            leaf detail {
              type empty;
              description
                "Display detailed output";
            }
    
            leaf size {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 65468";
                }
              }
              units "bytes";
              description
                "Size of lsp ping request packet";
            }
    
            leaf sweep {
              type empty;
              description
                "Incremental ping to find MTU";
            }
    
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system";
              }
            }  // choice daemon-select
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml lsping-results;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc request-ping-l2vpn-fec129-interface
    
        rpc request-ping-l2vpn-fec129-instance {
          description
            "Instance to which this connection belongs";
          input {
            leaf instance-name {
              type string;
              mandatory true;
              description "Layer 2 VPN name";
            }
    
            leaf local-id {
              type string;
              mandatory true;
              description
                "Layer 2 VPN Source Attachment Individual Identifier (SAII)";
            }
    
            leaf remote-id {
              type string;
              mandatory true;
              description
                "Layer 2 VPN Target Attachment Individual Identifier (TAII)";
            }
    
            leaf remote-pe-address {
              type jt:ipv4addr;
              mandatory true;
              description
                "Layer 2 Remote PE address";
            }
    
            leaf bottom-label-ttl {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 255";
                }
              }
              description
                "Time to live for the bottom label in the label stack";
            }
    
            leaf reply-mode {
              type enumeration {
                enum "no-reply" {
                  value 0;
                  description "Do not reply";
                }
                enum "ip-udp" {
                  value 1;
                  description
                    "Reply via an IPv4 or IPv6 UDP packet";
                }
                enum
                  "application-level-control-channel" {
                  value 2;
                  description
                    "Reply via application level control channel";
                }
              }
              description
                "Reply mode for ping request";
            }
    
            leaf count {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 1000000";
                }
              }
              units "packets";
              description
                "Number of ping requests to send";
            }
    
            leaf source {
              type jt:ipprefix;
              description
                "IP source address of echo request";
            }
    
            leaf destination {
              type jt:ipprefix;
              description
                "IP address of destination for echo request";
            }
    
            leaf exp {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 7";
                }
              }
              description "Forwarding class";
            }
    
            leaf detail {
              type empty;
              description
                "Display detailed output";
            }
    
            leaf size {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 65468";
                }
              }
              units "bytes";
              description
                "Size of lsp ping request packet";
            }
    
            leaf sweep {
              type empty;
              description
                "Incremental ping to find MTU";
            }
    
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system";
              }
            }  // choice daemon-select
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml lsping-results;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc request-ping-l2vpn-fec129-instance
    
        rpc request-ping-l2circuit-interface {
          description
            "Locate LSP from interface name";
          input {
            leaf v1 {
              type empty;
              description
                "Ping using Layer 2 circuit TLV (type 9)";
            }
    
            leaf interface-name {
              type union {
                type jt:interface-name;
                type string {
                  pattern "<.*>|$.*";
                }
              }
              mandatory true;
              description "Interface name";
            }
    
            leaf reply-mode {
              type enumeration {
                enum "no-reply" {
                  value 0;
                  description "Do not reply";
                }
                enum "ip-udp" {
                  value 1;
                  description
                    "Reply via an IPv4 or IPv6 UDP packet";
                }
                enum
                  "application-level-control-channel" {
                  value 2;
                  description
                    "Reply via application level control channel";
                }
              }
              description
                "Reply mode for ping request";
            }
    
            leaf count {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 1000000";
                }
              }
              units "packets";
              description
                "Number of ping requests to send";
            }
    
            leaf source {
              type jt:ipprefix;
              description
                "IP source address of echo request";
            }
    
            leaf destination {
              type jt:ipprefix;
              description
                "IP address of destination for echo request";
            }
    
            leaf exp {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 7";
                }
              }
              description "Forwarding class";
            }
    
            leaf detail {
              type empty;
              description
                "Display detailed output";
            }
    
            leaf size {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 65468";
                }
              }
              units "bytes";
              description
                "Size of lsp ping request packet";
            }
    
            leaf sweep {
              type empty;
              description
                "Incremental ping to find MTU";
            }
    
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system";
              }
            }  // choice daemon-select
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml lsping-results;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc request-ping-l2circuit-interface
    
        rpc request-ping-l2circuit-virtual-circuit {
          description
            "Locate LSP from virtual circuit information";
          input {
            leaf v1 {
              type empty;
              description
                "Ping using Layer 2 circuit TLV (type 9)";
            }
    
            leaf neighbor {
              type jt:ipprefix;
              mandatory true;
              description
                "Address of remote neighbor";
            }
    
            leaf virtual-circuit-id {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 4294967295";
                }
              }
              mandatory true;
              description
                "Layer 2 circuit identifier";
            }
    
            leaf reply-mode {
              type enumeration {
                enum "no-reply" {
                  value 0;
                  description "Do not reply";
                }
                enum "ip-udp" {
                  value 1;
                  description
                    "Reply via an IPv4 or IPv6 UDP packet";
                }
                enum
                  "application-level-control-channel" {
                  value 2;
                  description
                    "Reply via application level control channel";
                }
              }
              description
                "Reply mode for ping request";
            }
    
            leaf count {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 1000000";
                }
              }
              units "packets";
              description
                "Number of ping requests to send";
            }
    
            leaf source {
              type jt:ipprefix;
              description
                "IP source address of echo request";
            }
    
            leaf destination {
              type jt:ipprefix;
              description
                "IP address of destination for echo request";
            }
    
            leaf exp {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 7";
                }
              }
              description "Forwarding class";
            }
    
            leaf detail {
              type empty;
              description
                "Display detailed output";
            }
    
            leaf size {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 65468";
                }
              }
              units "bytes";
              description
                "Size of lsp ping request packet";
            }
    
            leaf sweep {
              type empty;
              description
                "Incremental ping to find MTU";
            }
    
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system";
              }
            }  // choice daemon-select
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml lsping-results;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc request-ping-l2circuit-virtual-circuit
    
        rpc request-ping-lsp-end-point {
          description "Ping end point of LSP";
          input {
            leaf prefix {
              type jt:ipprefix;
              mandatory true;
              description
                "IP prefix/length of end point";
            }
    
            leaf instance {
              type string;
              description
                "Routing-instance name";
            }
    
            leaf count {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 1000000";
                }
              }
              units "packets";
              description
                "Number of ping requests to send";
            }
    
            leaf source {
              type jt:ipprefix;
              description
                "IP source address of echo request";
            }
    
            leaf destination {
              type jt:ipprefix;
              description
                "IP address of destination for echo request";
            }
    
            leaf exp {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 7";
                }
              }
              description "Forwarding class";
            }
    
            leaf detail {
              type empty;
              description
                "Display detailed output";
            }
    
            leaf size {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 65468";
                }
              }
              units "bytes";
              description
                "Size of lsp ping request packet";
            }
    
            leaf sweep {
              type empty;
              description
                "Incremental ping to find MTU";
            }
    
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system";
              }
            }  // choice daemon-select
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml lsping-results;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc request-ping-lsp-end-point
    
        rpc request-ping-vpls-instance {
          description
            "Instance to which this VPLS connection belongs";
          input {
            leaf instance-name {
              type string;
              mandatory true;
              description "Layer 2 VPLS name";
            }
    
            leaf destination-mac {
              type jt:mac-addr;
              mandatory true;
              description
                "Destination MAC address";
            }
    
            leaf source-ip {
              type jt:ipv4addr;
              mandatory true;
              description "Source IP address";
            }
    
            leaf learning-vlan-id {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type int32 {
                  range "0 .. 4094";
                }
              }
              description
                "Learning VLAN identifier";
            }
    
            leaf control-plane-response {
              type empty;
              description
                "Request VPLS OAM responses using the control plane ";
            }
    
            leaf bd-name {
              type string;
              description
                "Name of bridge domain";
            }
    
            leaf count {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 1000000";
                }
              }
              units "packets";
              description
                "Number of ping requests to send";
            }
    
            leaf detail {
              type empty;
              description
                "Display detailed output";
            }
    
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system";
              }
            }  // choice daemon-select
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml lsping-results;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc request-ping-vpls-instance
    
        rpc request-ping-isis-sids {
          description
            "Ping SRv6 SIDs/IPv6 address installed by ISIS";
          input {
            leaf host {
              type jt:ipaddr;
              mandatory true;
              description
                "IPv6 loopback address or SRv6 SID of remote host";
            }
    
            leaf count {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 1000000";
                }
              }
              units "packets";
              description
                "Number of ping requests to send";
            }
    
            leaf source {
              type jt:ipv6addr;
              description
                "Source address of echo request";
            }
    
            leaf detail {
              type empty;
              description
                "Display detailed output";
            }
    
            leaf size {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 65468";
                }
              }
              units "bytes";
              description
                "Size of request packets";
            }
    
            leaf ttl {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 255";
                }
              }
              description "IPv6 hop-limit value";
            }
    
            leaf instance {
              type string;
              description
                "Routing-instance name";
            }
    
            leaf pattern {
              type string;
              description
                "Hexadecimal fill pattern";
            }
    
            leaf tos {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 255";
                }
              }
              description
                "IPv6 type-of-service value";
            }
    
            leaf interval {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 2147483647";
                }
              }
              units "seconds";
              description
                "Delay between ping requests";
            }
    
            leaf sweep {
              type empty;
              description
                "Incremental ping to find MTU";
            }
    
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system";
              }
            }  // choice daemon-select
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml lsping-results;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc request-ping-isis-sids
    
        rpc request-ping-srv6-stack {
          description "SRv6 SID stack";
          input {
            leaf count {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 1000000";
                }
              }
              units "packets";
              description
                "Number of ping requests to send";
            }
    
            leaf source {
              type jt:ipv6addr;
              description
                "Source address of echo request";
            }
    
            leaf detail {
              type empty;
              description
                "Display detailed output";
            }
    
            leaf size {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 65468";
                }
              }
              units "bytes";
              description
                "Size of request packets";
            }
    
            leaf ttl {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 255";
                }
              }
              description "IPv6 hop-limit value";
            }
    
            leaf instance {
              type string;
              description
                "Routing-instance name";
            }
    
            leaf pattern {
              type string;
              description
                "Hexadecimal fill pattern";
            }
    
            leaf tos {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 255";
                }
              }
              description
                "IPv6 type-of-service value";
            }
    
            leaf interval {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 2147483647";
                }
              }
              units "seconds";
              description
                "Delay between ping requests";
            }
    
            leaf sweep {
              type empty;
              description
                "Incremental ping to find MTU";
            }
    
            choice daemon-select {
              leaf logical-system {
                type string;
                description
                  "Name of logical system";
              }
            }  // choice daemon-select
    
            leaf-list sids {
              type jt:ipv6addr;
              ordered-by user;
              description
                "SRv6 SIDs in srv6-stack - [sid0 sid1 sid2 ... sidn(top)]";
            }
    
            leaf nexthop-interface {
              type string;
              mandatory true;
              description
                "Outgoing interface for the ping packet";
            }
    
            leaf nexthop-address {
              type jt:ipv6addr;
              mandatory true;
              description
                "Nexthop IPv6 address for the ping packet";
            }
          }
    
          output {
            choice output_c {
              leaf output {
                type string;
              }
              anyxml lsping-results;
              anyxml multi-routing-engine-results;
            }  // choice output_c
          }
        }  // rpc request-ping-srv6-stack
    
        grouping command-forwarding {
          choice chassis-selector {
            leaf all-chassis {
              type empty;
              description "All chassis";
            }
            leaf all-lcc {
              type empty;
              description "All LCC chassis";
            }
            leaf scc {
              type empty;
              description "SCC";
            }
            leaf sfc {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32;
              }
              description "SFC";
            }
            leaf lcc {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32;
              }
              description "Specific LCC";
            }
            leaf node {
              type string;
              description "Specific node";
            }
            leaf bsys {
              type empty;
              description "Base system";
            }
            leaf gnf {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "1 .. 10";
                }
              }
              description
                "Specific guest network function";
            }
            leaf all-gnfs {
              type empty;
              description
                "All guest network functions";
            }
            leaf all-system {
              type empty;
              description
                "All system (BSYS and GNFs)";
            }
            leaf server {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32 {
                  range "0 .. 1";
                }
              }
              description "Specific server slot";
            }
            leaf all-servers {
              type empty;
              description "All servers";
            }
            leaf vnf {
              type string;
              description
                "Specific virtual-network-function";
            }
            leaf all-vnfs {
              type empty;
              description
                "All virtual-network-functions";
            }
          }  // choice chassis-selector
    
          choice re-selector {
            leaf re0 {
              type empty;
              description "RE0";
            }
            leaf re1 {
              type empty;
              description "RE1";
            }
            leaf routing-engine {
              type enumeration {
                enum "local" {
                  value 0;
                  description
                    "Local routing engine";
                }
                enum "other" {
                  value 1;
                  description
                    "Other routing engine";
                }
                enum "master" {
                  value 2;
                  description
                    "Master routing engine";
                }
                enum "backup" {
                  value 3;
                  description
                    "Backup routing engine";
                }
                enum "both" {
                  value 4;
                  description
                    "Both routing engines";
                }
              }
              description
                "Specific routing engine";
            }
          }  // choice re-selector
    
          choice lr-selector {
            leaf logical-system {
              type string;
              description
                "Name of logical system, or 'all'";
            }
          }  // choice lr-selector
    
          choice tenant-selector {
            leaf tenant {
              type string;
              description
                "Name of tenant, or 'all'";
            }
          }  // choice tenant-selector
    
          choice vc-selector {
            leaf local {
              type empty;
              description
                "Local virtual chassis member";
            }
            leaf all-members {
              type empty;
              description
                "All virtual chassis members";
            }
            leaf member {
              type union {
                type string {
                  pattern "<.*>|$.*";
                }
                type uint32;
              }
              description
                "Specific virtual chassis member";
            }
          }  // choice vc-selector
        }  // grouping command-forwarding
      }  // module junos-ex-rpc-ping
    

© 2023 YumaWorks, Inc. All rights reserved.