huawei-diagnostic-tools-srv6

Srv6 diagnosis tool.

  • Version: 2021-08-05

    huawei-diagnostic-tools-srv6@2021-08-05


    
      submodule huawei-diagnostic-tools-srv6 {
    
        yang-version 1;
    
        belongs-to huawei-diagnostic-tools {
            prefix diagnostic-tools;
        }
    
        import huawei-pub-type {
          prefix pub-type;
        }
        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 "Srv6 diagnosis tool.";
    
        revision "2021-08-05" {
          description
            "Add container segment-lists for ping-results and trace-results.";
          reference
            "Huawei private.";
    
        }
    
        revision "2020-01-06" {
          description
            "Modify is-delete for trace;
    Add leaf nodes that support mandatory match network slice.";
          reference
            "Huawei private.";
    
        }
    
        revision "2019-12-19" {
          description
            "Modify container srh-sid-lists.";
          reference
            "Huawei private.";
    
        }
    
        revision "2019-12-10" {
          description
            "Modify srv6-te-start-trace and srv6-te-start-ping.";
          reference
            "Huawei private.";
    
        }
    
        revision "2019-04-09" {
          description "Init revision.";
          reference
            "Huawei private.";
    
        }
    
    
        grouping srv6-ping-trace-result-type {
          description
            "List of SRV6 ping and trace tests.";
          container ping-results {
            config false;
            description
              "List of test result of SRV6 ping.";
            list ping-result {
              key "test-name path-index";
              config false;
              description
                "Statistics of test result of SRV6 ping.";
              leaf test-name {
                type string {
                  length "1..32";
                }
                config false;
                description "Test name.";
              }
    
              leaf path-index {
                type uint32 {
                  range "1..4294967295";
                }
                config false;
                description "Path index.";
              }
    
              leaf packet-receive {
                type uint32 {
                  range "0..4294967295";
                }
                config false;
                description
                  "Total number of received packets.";
              }
    
              leaf packet-send {
                type uint32 {
                  range "0..4294967295";
                }
                config false;
                description
                  "Total number of sent packets.";
              }
    
              leaf loss-ratio {
                type pub-type:percent {
                  range "0..100";
                }
                units "%";
                config false;
                description
                  "Packet loss ratio of a test.";
              }
    
              leaf rtt-min {
                type uint32 {
                  range "0..4294967295";
                }
                units "ms";
                config false;
                description
                  "Minimum RTT of all test packets.";
              }
    
              leaf rtt-max {
                type uint32 {
                  range "0..4294967295";
                }
                units "ms";
                config false;
                description
                  "Maximum RTT of all test packets.";
              }
    
              leaf rtt-average {
                type uint32 {
                  range "0..4294967295";
                }
                units "ms";
                config false;
                description
                  "Average RTT of all test packets.";
              }
    
              leaf status {
                type dgntl-test-status-type;
                config false;
                description "Test status.";
              }
    
              leaf path-status {
                type dgntl-test-status-type;
                config false;
                description "Path test status.";
              }
    
              leaf preference {
                type uint32 {
                  range "1..65535";
                }
                config false;
                description "Path preference.";
              }
    
              leaf path-type {
                type dgntl-sr-policy-path-type;
                config false;
                description "Path type.";
              }
    
              leaf protocol-origin {
                type dgntl-lsp-protocol-origin;
                config false;
                description "Protocol origin.";
              }
    
              leaf node-address {
                type inet:ip-address-no-zone;
                config false;
                description
                  "Endpoint IP address.";
              }
    
              leaf asn-no {
                type uint32 {
                  range "0..65535";
                }
                config false;
                description "ASN No.";
              }
    
              leaf discriminator {
                type uint32 {
                  range "0..65535";
                }
                config false;
                description "Discriminator.";
              }
    
              leaf segment-list-id {
                type uint32 {
                  range "0..4294967295";
                }
                config false;
                description "Segment-list ID.";
              }
    
              leaf xc-index {
                type uint32 {
                  range "1..4294967295";
                }
                config false;
                description "XC index.";
              }
    
              leaf end-op {
                type inet:ipv6-address-no-zone;
                config false;
                description "End-OP segment ID.";
              }
    
              leaf destination {
                type inet:ipv6-address-no-zone;
                config false;
                description
                  "Local IPv6 address or SRv6 local SID of the destination.";
              }
    
              container segment-lists {
                description
                  "List of segment information in a test.";
                list segment-list {
                  key "segment";
                  description
                    "Statistics of segment information in a test.";
                  leaf segment {
                    type inet:ipv6-address-no-zone;
                    description "Segment ID.";
                  }
                }  // list segment-list
              }  // container segment-lists
    
              container probes {
                config false;
                description
                  "List of ping results of all packets in a test.";
                list probe {
                  key "sequence";
                  config false;
                  description
                    "Statistics of ping result of a single packet in a test.";
                  leaf sequence {
                    type uint32 {
                      range "0..4294967295";
                    }
                    config false;
                    description
                      "Serial number of a test packet received by a certain hop.";
                  }
    
                  leaf replier {
                    type inet:ipv6-address-no-zone;
                    config false;
                    description
                      "Destination address of the related hop in a test.";
                  }
    
                  leaf data-bytes {
                    type uint32 {
                      range "65..9600";
                    }
                    config false;
                    description
                      "Number of bytes in a received response packet.";
                  }
    
                  leaf hop-limit {
                    type uint8 {
                      range "1..255";
                    }
                    config false;
                    description
                      "Hop limit of received response packets.";
                  }
    
                  leaf rtt {
                    type uint32 {
                      range "0..4294967295";
                    }
                    units "ms";
                    config false;
                    description
                      "RTT of test packets.";
                  }
    
                  leaf result-type {
                    type probe-result-type;
                    config false;
                    description
                      "Result of packet sending, which is either success or timeout.";
                  }
    
                  leaf is-delete {
                    ext:support-filter "true";
                    type boolean;
                    config false;
                    description
                      "Enable/disable the function of deleting test results.";
                  }
                }  // list probe
              }  // container probes
            }  // list ping-result
          }  // container ping-results
    
          container trace-results {
            config false;
            description
              "List of test result list of trace.";
            list trace-result {
              key "test-name path-index";
              config false;
              description
                "Statistics of test result of ping.";
              leaf test-name {
                type string {
                  length "1..32";
                }
                config false;
                description "Test name.";
              }
    
              leaf path-index {
                type uint32 {
                  range "1..4294967295";
                }
                config false;
                description "Path index.";
              }
    
              leaf status {
                type dgntl-test-status-type;
                config false;
                description "Test status.";
              }
    
              leaf preference {
                type uint32 {
                  range "1..65535";
                }
                config false;
                description "Path preference.";
              }
    
              leaf path-type {
                type dgntl-sr-policy-path-type;
                config false;
                description "Path type.";
              }
    
              leaf protocol-origin {
                type dgntl-lsp-protocol-origin;
                config false;
                description "Protocol origin.";
              }
    
              leaf node-address {
                type inet:ip-address-no-zone;
                config false;
                description
                  "End point IP address.";
              }
    
              leaf asn-no {
                type uint32 {
                  range "0..65535";
                }
                config false;
                description "ASN No.";
              }
    
              leaf discriminator {
                type uint32 {
                  range "0..65535";
                }
                config false;
                description "Discriminator.";
              }
    
              leaf segment-list-id {
                type uint32 {
                  range "0..4294967295";
                }
                config false;
                description "Segment-list ID.";
              }
    
              leaf xc-index {
                type uint32 {
                  range "1..4294967295";
                }
                config false;
                description "XC index.";
              }
    
              leaf path-status {
                type dgntl-test-status-type;
                config false;
                description "Path test status.";
              }
    
              leaf end-op {
                type inet:ipv6-address-no-zone;
                config false;
                description "End-OP segment ID.";
              }
    
              leaf destination {
                type inet:ipv6-address-no-zone;
                config false;
                description
                  "Local IPv6 address or SRv6 local SID of the destination.";
              }
    
              container segment-lists {
                description
                  "List of segment information in a test.";
                list segment-list {
                  key "segment";
                  description
                    "Statistics of segment information in a test.";
                  leaf segment {
                    type inet:ipv6-address-no-zone;
                    description "Segment ID.";
                  }
                }  // list segment-list
              }  // container segment-lists
    
              container hops {
                config false;
                description
                  "List of trace results of all packets in a test.";
                list hop {
                  key "hop-index";
                  config false;
                  description
                    "Statistics of ping result of a single packet in a test.";
                  leaf hop-index {
                    type uint8 {
                      range "1..255";
                    }
                    config false;
                    description
                      "Hop limit of received response packets.";
                  }
    
                  leaf rtt {
                    type uint32;
                    units "ms";
                    config false;
                    description
                      "RTT of test packets.";
                  }
    
                  leaf replier {
                    type inet:ipv6-address-no-zone;
                    config false;
                    description
                      "Destination address of the related hop in a test.";
                  }
    
                  leaf type {
                    type transmit-type;
                    config false;
                    description "Node type.";
                  }
    
                  leaf srh-sl {
                    type uint32 {
                      range "0..4294967295";
                    }
                    config false;
                    description "Segments left.";
                  }
    
                  container srh-sid-lists {
                    config false;
                    description
                      "List of SID Information Result.";
                    list srh-sid-list {
                      key "sid";
                      config false;
                      description
                        "Statistics of SID information.";
                      leaf sid {
                        type inet:ipv6-address-no-zone;
                        config false;
                        description
                          "Segment ID.";
                      }
                    }  // list srh-sid-list
                  }  // container srh-sid-lists
    
                  leaf slice-id {
                    type uint32;
                    config false;
                    description
                      "Network slice ID.";
                  }
    
                  leaf is-delete {
                    ext:support-filter "true";
                    type boolean;
                    config false;
                    description
                      "Enable/disable the function of deleting test results.";
                  }
                }  // list hop
              }  // container hops
            }  // list trace-result
          }  // container trace-results
        }  // grouping srv6-ping-trace-result-type
    
        rpc srv6-te-start-ping {
          ext:node-ref "/diagnostic-tools:diagnostic-tools/diagnostic-tools:srv6/diagnostic-tools:ping-results";
          description "Start srv6 te ping.";
          input {
            leaf test-name {
              type string {
                length "1..32";
              }
              mandatory true;
              description "Test name.";
            }
    
            choice type {
              description
                "The type of srv6-te policy ping.";
              case policy-name {
                description "Policy name.";
                leaf policy-name {
                  type string {
                    length "1..32";
                  }
                  mandatory true;
                  description "Policy name.";
                }
              }  // case policy-name
    
              case endpoint-ip {
                description "Endpoint IP.";
                leaf end-point-ip {
                  type inet:ipv6-address-no-zone;
                  mandatory true;
                  description
                    "End point IP address.";
                }
    
                leaf color {
                  type uint32 {
                    range "0..4294967295";
                  }
                  mandatory true;
                  description "Color.";
                }
              }  // case endpoint-ip
    
              case binding-sid {
                description "Binding SID.";
                leaf binding-sid {
                  type inet:ipv6-address-no-zone;
                  mandatory true;
                  description
                    "Binding segmentlist ID.";
                }
              }  // case binding-sid
            }  // choice type
    
            leaf source-address {
              type inet:ipv6-address-no-zone;
              description "Source Address.";
            }
    
            leaf interval {
              type uint32 {
                range "1..10000";
              }
              units "ms";
              default "2000";
              description
                "Interval for sending test packets.";
            }
    
            leaf packet-size {
              type uint32 {
                range "65..9600";
              }
              default "100";
              description
                "Number of bytes in a sent test packet.";
            }
    
            leaf count {
              type uint32 {
                range "1..4294967295";
              }
              default "5";
              description
                "Number of sent test packets.";
            }
    
            leaf timeout {
              type uint32 {
                range "0..65535";
              }
              units "ms";
              default "2000";
              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 traffic-class {
              type uint32 {
                range "0..255";
              }
              description
                "Traffic class value of IPv6 packets. The traffic class value is used to distinguish the service types of IPv6 packets.";
            }
    
            leaf hop-limit {
              type uint32 {
                range "1..255";
              }
              default "255";
              description
                "Hop limit of send packets.";
            }
    
            leaf end-op {
              type inet:ipv6-address-no-zone;
              description "End-OP segment ID.";
            }
    
            leaf destination {
              type inet:ipv6-address-no-zone;
              description
                "Local IPv6 address or SRv6 local SID of the destination.";
            }
    
            leaf force-match-slice {
              type empty;
              description
                "Mandatory match network slice.";
            }
          }
        }  // rpc srv6-te-start-ping
    
        rpc srv6-te-stop-ping {
          ext:node-ref "/diagnostic-tools:diagnostic-tools/diagnostic-tools:srv6/diagnostic-tools:ping-results";
          description "Stop srv6 te ping.";
          input {
            leaf test-name {
              type leafref {
                path "/diagnostic-tools:diagnostic-tools/diagnostic-tools:srv6/diagnostic-tools:ping-results/diagnostic-tools:ping-result/diagnostic-tools:test-name";
              }
              mandatory true;
              description "Test name.";
            }
          }
        }  // rpc srv6-te-stop-ping
    
        rpc srv6-te-delete-ping {
          ext:node-ref "/diagnostic-tools:diagnostic-tools/diagnostic-tools:srv6/diagnostic-tools:ping-results";
          description "Delete srv6 te ping.";
          input {
            leaf test-name {
              type leafref {
                path "/diagnostic-tools:diagnostic-tools/diagnostic-tools:srv6/diagnostic-tools:ping-results/diagnostic-tools:ping-result/diagnostic-tools:test-name";
              }
              mandatory true;
              description "Test name.";
            }
          }
        }  // rpc srv6-te-delete-ping
    
        rpc srv6-te-start-trace {
          ext:node-ref "/diagnostic-tools:diagnostic-tools/diagnostic-tools:srv6/diagnostic-tools:trace-results";
          description "Start srv6 te trace.";
          input {
            leaf test-name {
              type string {
                length "1..32";
              }
              mandatory true;
              description "Test name.";
            }
    
            choice type {
              description
                "The type of srv6-te policy ping.";
              case policy-name {
                description "Policy name.";
                leaf policy-name {
                  type string {
                    length "1..32";
                  }
                  mandatory true;
                  description "Policy name.";
                }
              }  // case policy-name
    
              case endpoint-ip {
                description "Endpoint IP.";
                leaf end-point-ip {
                  type inet:ipv6-address-no-zone;
                  mandatory true;
                  description
                    "End point IP address.";
                }
    
                leaf color {
                  type uint32 {
                    range "0..4294967295";
                  }
                  mandatory true;
                  description "Color.";
                }
              }  // case endpoint-ip
    
              case binding-sid {
                description "Binding SID.";
                leaf binding-sid {
                  type inet:ipv6-address-no-zone;
                  mandatory true;
                  description
                    "Binding segmentlist ID.";
                }
              }  // case binding-sid
            }  // choice type
    
            leaf source-address {
              type inet:ipv6-address-no-zone;
              description "Source address.";
            }
    
            leaf packet-size {
              type uint32 {
                range "65..9600";
              }
              default "100";
              description
                "Number of bytes in a sent test packet.";
            }
    
            leaf timeout {
              type uint32 {
                range "0..65535";
              }
              units "ms";
              default "2000";
              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-hop-limit {
              type uint32 {
                range "1..255";
              }
              default "1";
              description
                "Hop limit of the first packet in a test.";
            }
    
            leaf max-hop-limit {
              type uint32 {
                range "1..255";
              }
              default "30";
              description
                "Max hop limit of test packets.";
            }
    
            leaf udp-port {
              type uint32 {
                range "1..65535";
              }
              default "33434";
              description
                "Destination port number.";
            }
    
            leaf traffic-class {
              type uint32 {
                range "0..255";
              }
              description
                "Traffic class value of IPv6 packets. The traffic class value is used to distinguish the service types of IPv6 packets.";
            }
    
            leaf end-op {
              type inet:ipv6-address-no-zone;
              description "End-OP segment ID.";
            }
    
            leaf destination {
              type inet:ipv6-address-no-zone;
              description
                "Local IPv6 address or SRv6 local SID of the destination.";
            }
    
            leaf force-match-slice {
              type empty;
              description
                "Mandatory match network slice.";
            }
          }
        }  // rpc srv6-te-start-trace
    
        rpc srv6-te-stop-trace {
          ext:node-ref "/diagnostic-tools:diagnostic-tools/diagnostic-tools:srv6/diagnostic-tools:trace-results";
          description "Stop srv6 te trace.";
          input {
            leaf test-name {
              type leafref {
                path "/diagnostic-tools:diagnostic-tools/diagnostic-tools:srv6/diagnostic-tools:trace-results/diagnostic-tools:trace-result/diagnostic-tools:test-name";
              }
              mandatory true;
              description "Test name.";
            }
          }
        }  // rpc srv6-te-stop-trace
    
        rpc srv6-te-delete-trace {
          ext:node-ref "/diagnostic-tools:diagnostic-tools/diagnostic-tools:srv6/diagnostic-tools:trace-results";
          description "Delete srv6 te trace.";
          input {
            leaf test-name {
              type leafref {
                path "/diagnostic-tools:diagnostic-tools/diagnostic-tools:srv6/diagnostic-tools:trace-results/diagnostic-tools:trace-result/diagnostic-tools:test-name";
              }
              mandatory true;
              description "Test name.";
            }
          }
        }  // rpc srv6-te-delete-trace
    
        augment /diagnostic-tools:diagnostic-tools {
          description
            "List of SRV6 ping and trace tests.";
          container srv6 {
            config false;
            description
              "Statistics of SRV6 ping and trace tests.";
            uses diagnostic-tools:srv6-ping-trace-result-type;
          }  // container srv6
        }
      }  // submodule huawei-diagnostic-tools-srv6
    

© 2023 YumaWorks, Inc. All rights reserved.