huawei-diagnostic-tools-ipv6

IPv6 diagnosis tool.

  • Version: 2020-09-10

    huawei-diagnostic-tools-ipv6@2020-09-10


    
      submodule huawei-diagnostic-tools-ipv6 {
    
        yang-version 1;
    
        belongs-to huawei-diagnostic-tools {
            prefix diagnostic-tools;
        }
    
        import huawei-pub-type {
          prefix pub-type;
        }
        import huawei-network-instance {
          prefix ni;
        }
        import huawei-ifm {
          prefix ifm;
        }
        import ietf-yang-types {
          prefix yang;
        }
        import ietf-inet-types {
          prefix inet;
        }
        import huawei-extension {
          prefix ext;
        }
    
        include huawei-diagnostic-tools-common;
        include huawei-diagnostic-tools-type;
    
        organization
          "Huawei Technologies Co., Ltd.";
    
        contact
          "Huawei Industrial Base
         Bantian, Longgang
         Shenzhen 518129
         People's Republic of China
         Website: http://www.huawei.com
         Email: support@huawei.com";
    
        description "IPv6 diagnosis tool.";
    
        revision "2020-09-10" {
          description
            "Add fast reply inbound node.";
          reference
            "Huawei private.";
    
        }
    
        revision "2019-04-09" {
          description "Initial revision.";
          reference
            "Huawei private.";
    
        }
    
    
        rpc ipv6-start-ping {
          ext:node-ref "/diagnostic-tools:diagnostic-tools/diagnostic-tools:ipv6/diagnostic-tools:ping-results";
          description "Start IPv6 ping.";
          input {
            leaf test-name {
              type string {
                length "1..32";
              }
              mandatory true;
              description "Test name.";
            }
    
            leaf dest-addr {
              type pub-type:host-name;
              description
                "Destination address of the string type. You can click this node to set different types of addresses and deploy the configurations together with the configuration of the destination address type node. If the destination address type is set to IPv4, this parameter is set to IPv4. If the destination address type is set to IPv6, this parameter is set to IPv6.";
            }
    
            leaf source-address {
              type inet:ipv6-address-no-zone;
              description
                "Source address of the string type. You can click this node to set different types of addresses and deploy the configurations together with the configuration of the source address type node. If the source address type is set to IPv4, this parameter is set to IPv4. If the source address type is set to IPv6, this parameter is set to IPv6.";
            }
    
            leaf vrf-name {
              type leafref {
                path "/ni:network-instance/ni:instances/ni:instance/ni:name";
              }
              description
                "Name of a VPN instance.";
            }
    
            leaf interval {
              type uint32 {
                range "1..10000";
              }
              units "ms";
              description
                "Interval for sending test packets.";
            }
    
            leaf packet-size {
              type uint32 {
                range "20..9600";
              }
              description
                "Number of bytes in a sent test packet.";
            }
    
            leaf packet-count {
              type uint32 {
                range "1..4294967295";
              }
              description
                "Number of sent test packets.";
            }
    
            leaf timeout {
              type uint32 {
                range "0..65535";
              }
              units "ms";
              description
                "Time to wait for a response packet after a test packet is sent. If no response packet is received within the timeout period, the system considers that the test packet times out.";
            }
    
            leaf ttl {
              type uint8 {
                range "1..255";
              }
              description "Time to live.";
            }
    
            leaf if-name {
              type leafref {
                path "/ifm:ifm/ifm:interfaces/ifm:interface/ifm:name";
              }
              description
                "The out interface for sending packets.";
            }
    
            leaf inbound-reply-fast {
              type boolean;
              must
                "../if-name and not(../nexthop-address) and not(../source-if-name)";
              description
                "Enable/disable fast reply from the specified Eth-Trunk member interface.";
            }
    
            leaf source-if-name {
              type leafref {
                path "/ifm:ifm/ifm:interfaces/ifm:interface/ifm:name";
              }
              description
                "The source interface for echo requests.";
            }
    
            leaf segment-by-segment {
              type boolean;
              description "Segment by segment.";
            }
    
            leaf min-packet-size {
              type uint32 {
                range "20..9600";
              }
              description
                "The minimum size of packet to be sent.";
            }
    
            leaf max-packet-size {
              type uint32 {
                range "20..9600";
              }
              description
                "The maximum size of packet to be sent.";
            }
    
            leaf step-size {
              type uint32 {
                range "1..1000";
              }
              description
                "Increasing step size.";
            }
    
            leaf nexthop-address {
              type inet:ipv6-address-no-zone;
              description
                "Next hop IPv6 address.";
            }
    
            leaf ignore-mtu {
              type boolean;
              description "Check MTU flag.";
            }
    
            leaf show-system-time {
              type boolean;
              description
                "Show sending echo-request packet time flag.";
            }
    
            leaf show-incoming-if-name {
              type boolean;
              description
                "Interface name of incoming packet.";
            }
    
            leaf ipv6-forwarding {
              type boolean;
              description
                "Request packet forwarded by IPv6.";
            }
    
            choice priority {
              description "Priority type.";
              case dscp-value {
                description "DSCP value.";
                leaf dscp {
                  type uint32 {
                    range "0..63";
                  }
                  description "DSCP value.";
                }
              }  // case dscp-value
    
              case tos-value {
                description "ToS value.";
                leaf tos {
                  type uint8 {
                    range "0..255";
                  }
                  description "ToS.";
                }
              }  // case tos-value
            }  // choice priority
    
            leaf pattern {
              type string {
                length "1..8";
              }
              description "Packet fill.";
            }
    
            leaf sid1 {
              type inet:ipv6-address-no-zone;
              description "Segment ID.";
            }
    
            leaf sid2 {
              type inet:ipv6-address-no-zone;
              description "Segment ID.";
            }
    
            leaf sid3 {
              type inet:ipv6-address-no-zone;
              description "Segment ID.";
            }
    
            leaf sid4 {
              type inet:ipv6-address-no-zone;
              description "Segment ID.";
            }
    
            leaf sid5 {
              type inet:ipv6-address-no-zone;
              description "Segment ID.";
            }
    
            leaf sid6 {
              type inet:ipv6-address-no-zone;
              description "Segment ID.";
            }
    
            leaf sid7 {
              type inet:ipv6-address-no-zone;
              description "Segment ID.";
            }
    
            leaf sid8 {
              type inet:ipv6-address-no-zone;
              description "Segment ID.";
            }
    
            leaf sid9 {
              type inet:ipv6-address-no-zone;
              description "Segment ID.";
            }
    
            leaf sid10 {
              type inet:ipv6-address-no-zone;
              description "Segment ID.";
            }
    
            leaf sid11 {
              type inet:ipv6-address-no-zone;
              description "Segment ID.";
            }
    
            leaf network-slice-id {
              when "../sid1";
              type uint32 {
                range "1..4294967295";
              }
              description "Network slice ID.";
            }
    
            leaf force-match-slice {
              when
                "../sid1 and ../network-slice-id";
              type empty;
              description
                "Mandatory match network slice.";
            }
    
            leaf service-class {
              type service-class-value;
              description "Service class.";
            }
          }
        }  // rpc ipv6-start-ping
    
        rpc ipv6-stop-ping {
          ext:node-ref "/diagnostic-tools:diagnostic-tools/diagnostic-tools:ipv6/diagnostic-tools:ping-results";
          description "Stop IPv6 ping.";
          input {
            leaf test-name {
              type leafref {
                path "/diagnostic-tools:diagnostic-tools/diagnostic-tools:ipv6/diagnostic-tools:ping-results/diagnostic-tools:ping-result/diagnostic-tools:test-name";
              }
              mandatory true;
              description "Test name.";
            }
          }
        }  // rpc ipv6-stop-ping
    
        rpc ipv6-delete-ping {
          ext:node-ref "/diagnostic-tools:diagnostic-tools/diagnostic-tools:ipv6/diagnostic-tools:ping-results";
          description "Delete IPv6 ping.";
          input {
            leaf test-name {
              type leafref {
                path "/diagnostic-tools:diagnostic-tools/diagnostic-tools:ipv6/diagnostic-tools:ping-results/diagnostic-tools:ping-result/diagnostic-tools:test-name";
              }
              mandatory true;
              description "Test name.";
            }
          }
        }  // rpc ipv6-delete-ping
    
        rpc ipv6-start-trace {
          ext:node-ref "/diagnostic-tools:diagnostic-tools/diagnostic-tools:ipv6/diagnostic-tools:trace-results";
          description "Start IPv6 trace.";
          input {
            leaf test-name {
              type string {
                length "1..32";
              }
              mandatory true;
              description "Test name.";
            }
    
            leaf dest-addr {
              type pub-type:host-name;
              description
                "Destination address of the string type. You can click this node to set different types of addresses and deploy the configurations together with the configuration of the destination address type node. If the destination address type is set to IPv4, this parameter is set to IPv4. If the destination address type is set to IPv6, this parameter is set to IPv6.";
            }
    
            leaf source-address {
              type inet:ipv6-address-no-zone;
              description
                "Source address of the string type. You can click this node to set different types of addresses and deploy the configurations together with the configuration of the source address type node. If the source address type is set to IPv4, this parameter is set to IPv4. If the source address type is set to IPv6, this parameter is set to IPv6.";
            }
    
            leaf vrf-name {
              type leafref {
                path "/ni:network-instance/ni:instances/ni:instance/ni:name";
              }
              description
                "Name of a VPN instance.";
            }
    
            leaf packet-size {
              type uint32 {
                range "20..9600";
              }
              description
                "Number of bytes in a sent test packet.";
            }
    
            leaf count {
              type uint32 {
                range "1..65535";
              }
              description
                "Number of sent test packets.";
            }
    
            leaf timeout {
              type uint32 {
                range "0..65535";
              }
              units "ms";
              description
                "Time to wait for a response packet after a test packet is sent. If no response packet is received within the timeout period, the system considers that the test packet times out.";
            }
    
            leaf first-ttl {
              type uint8 {
                range "1..255";
              }
              description
                "TTL of the first packet in a test.";
            }
    
            leaf max-ttl {
              type uint8 {
                range "1..255";
              }
              description "TTL of test packets.";
            }
    
            leaf udp-port {
              type uint32 {
                range "0..65535";
              }
              description
                "Destination port number.";
            }
    
            leaf show-mpls-label {
              type boolean;
              description
                "Show MPLS label information flag.";
            }
    
            leaf overlay {
              type boolean;
              description "Overlay.";
            }
    
            leaf nexthop-address {
              type inet:ipv6-address-no-zone;
              description
                "Next hop IPv6 address.";
            }
    
            leaf if-name {
              type leafref {
                path "/ifm:ifm/ifm:interfaces/ifm:interface/ifm:name";
              }
              description
                "The out interface for sending packets.";
            }
    
            choice priority {
              description "Priority type.";
              case dscp-value {
                description "DSCP value.";
                leaf dscp {
                  type uint32 {
                    range "0..63";
                  }
                  default "0";
                  description "DSCP value.";
                }
              }  // case dscp-value
            }  // choice priority
    
            leaf pass-route {
              type boolean;
              description
                "If not check pass route.";
            }
    
            leaf sid1 {
              type inet:ipv6-address-no-zone;
              description "Segment ID.";
            }
    
            leaf sid2 {
              type inet:ipv6-address-no-zone;
              description "Segment ID.";
            }
    
            leaf sid3 {
              type inet:ipv6-address-no-zone;
              description "Segment ID.";
            }
    
            leaf sid4 {
              type inet:ipv6-address-no-zone;
              description "Segment ID.";
            }
    
            leaf sid5 {
              type inet:ipv6-address-no-zone;
              description "Segment ID.";
            }
    
            leaf sid6 {
              type inet:ipv6-address-no-zone;
              description "Segment ID.";
            }
    
            leaf sid7 {
              type inet:ipv6-address-no-zone;
              description "Segment ID.";
            }
    
            leaf sid8 {
              type inet:ipv6-address-no-zone;
              description "Segment ID.";
            }
    
            leaf sid9 {
              type inet:ipv6-address-no-zone;
              description "Segment ID.";
            }
    
            leaf sid10 {
              type inet:ipv6-address-no-zone;
              description "Segment ID.";
            }
    
            leaf sid11 {
              type inet:ipv6-address-no-zone;
              description "Segment ID.";
            }
    
            leaf network-slice-id {
              when "../sid1";
              type uint32 {
                range "1..4294967295";
              }
              description "Network slice ID.";
            }
    
            leaf force-match-slice {
              when
                "../sid1 and ../network-slice-id";
              type empty;
              description
                "Mandatory match network slice.";
            }
    
            leaf service-class {
              type service-class-value;
              description "Service class.";
            }
          }
        }  // rpc ipv6-start-trace
    
        rpc ipv6-stop-trace {
          ext:node-ref "/diagnostic-tools:diagnostic-tools/diagnostic-tools:ipv6/diagnostic-tools:trace-results";
          description "Stop IPv6 trace.";
          input {
            leaf test-name {
              type leafref {
                path "/diagnostic-tools:diagnostic-tools/diagnostic-tools:ipv6/diagnostic-tools:trace-results/diagnostic-tools:trace-result/diagnostic-tools:test-name";
              }
              mandatory true;
              description "Test name.";
            }
          }
        }  // rpc ipv6-stop-trace
    
        rpc ipv6-delete-trace {
          ext:node-ref "/diagnostic-tools:diagnostic-tools/diagnostic-tools:ipv6/diagnostic-tools:trace-results";
          description "Delete IPv6 trace.";
          input {
            leaf test-name {
              type leafref {
                path "/diagnostic-tools:diagnostic-tools/diagnostic-tools:ipv6/diagnostic-tools:trace-results/diagnostic-tools:trace-result/diagnostic-tools:test-name";
              }
              mandatory true;
              description "Test name.";
            }
          }
        }  // rpc ipv6-delete-trace
      }  // submodule huawei-diagnostic-tools-ipv6
    

© 2023 YumaWorks, Inc. All rights reserved.