huawei-vxlan-path-detect

Vxlan oam management, which includes dscp path detection, IP ping, MAC ping, IPv6 ping.

  • Version: 2020-06-20

    huawei-vxlan-path-detect@2020-06-20


    
      module huawei-vxlan-path-detect {
    
        yang-version 1;
    
        namespace
          "urn:huawei:yang:huawei-vxlan-path-detect";
    
        prefix vxlan-path-detect;
    
        import ietf-inet-types {
          prefix inet;
        }
        import huawei-pub-type {
          prefix pub-type;
        }
        import huawei-extension {
          prefix ext;
        }
        import huawei-ifm {
          prefix ifm;
        }
        import huawei-network-instance {
          prefix ni;
        }
    
        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
          "Vxlan oam management, which includes dscp path detection, IP ping, MAC ping, IPv6 ping.";
    
        revision "2020-06-20" {
          description "Add RPC.";
          reference
            "Huawei private.";
    
        }
    
        revision "2020-01-21" {
          description "Initial revision.";
          reference
            "Huawei private.";
    
        }
    
        ext:task-name "forwarding";
    
        typedef protocol-type {
          type enumeration {
            enum "icmp" {
              value 1;
              description
                "Protocol type is ICMP.";
            }
            enum "tcp" {
              value 6;
              description
                "Protocol type is TCP.";
            }
            enum "udp" {
              value 17;
              description
                "Protocol type is UDP.";
            }
            enum "sctp" {
              value 132;
              description
                "Protocol type is SCTP.";
            }
          }
          description "Protocol type.";
        }
    
        container vxlan-path-detect {
          description "Vxlan path detect.";
          container ipv4-dscp-path-detect {
            presence "Enable IPv4 DSCP detect.";
            description
              "Configure IPv4 DSCP path detect.";
            leaf dscp-value {
              type inet:dscp;
              mandatory true;
              description "DSCP value.";
            }
          }  // container ipv4-dscp-path-detect
    
          container ipv6-dscp-path-detect {
            presence "Enable IPv6 DSCP detect.";
            description
              "Configure IPv6 DSCP path detect.";
            leaf dscp-value {
              type inet:dscp;
              mandatory true;
              description "DSCP value.";
            }
          }  // container ipv6-dscp-path-detect
    
          container ip-ping-detects {
            description
              "List of IP ping detect.";
            list ip-ping-detect {
              key "src-ip dst-ip";
              description
                "Configure IP ping detect.";
              leaf src-ip {
                type inet:ipv4-address-no-zone;
                description
                  "Source IPv4 address.";
              }
    
              leaf dst-ip {
                type inet:ipv4-address-no-zone;
                description
                  "Destination IPv4 address.";
              }
            }  // list ip-ping-detect
          }  // container ip-ping-detects
    
          container mac-ping-detects {
            description
              "List of MAC ping detect.";
            list mac-ping-detect {
              key "src-ip dst-ip";
              description
                "Configure MAC ping detect.";
              leaf src-ip {
                type inet:ipv4-address-no-zone;
                description
                  "Source IPv4 address.";
              }
    
              leaf dst-ip {
                type inet:ipv4-address-no-zone;
                description
                  "Destination IPv4 address.";
              }
    
              leaf src-mac {
                type pub-type:mac-address;
                description
                  "Source MAC address.";
              }
    
              leaf dst-mac {
                type pub-type:mac-address;
                description
                  "Destination MAC address.";
              }
            }  // list mac-ping-detect
          }  // container mac-ping-detects
    
          container ipv6-ping-detects {
            description
              "List of IPv6 ping detect.";
            list ipv6-ping-detect {
              key "src-ipv6 dst-ipv6";
              description
                "Configure IPv6 ping detect.";
              leaf src-ipv6 {
                type inet:ipv6-address-no-zone;
                description
                  "Source IPv6 address.";
              }
    
              leaf dst-ipv6 {
                type inet:ipv6-address-no-zone;
                description
                  "Destination IPv6 address.";
              }
            }  // list ipv6-ping-detect
          }  // container ipv6-ping-detects
        }  // container vxlan-path-detect
    
        rpc path-detection-send-pkt {
          description
            "Sending one packet when path detection.";
          input {
            leaf source-mac {
              type pub-type:mac-address;
              mandatory true;
              description "Source MAC.";
            }
    
            leaf destination-mac {
              type pub-type:mac-address;
              mandatory true;
              description "Destination MAC.";
            }
    
            leaf pe-vlan {
              type uint16 {
                range "1..4094";
              }
              description "Pe-VLAN.";
            }
    
            leaf priority {
              when "../pe-vlan";
              type uint8 {
                range "0..7";
              }
              description
                "IEEE 802.1P encapsulation priority.";
            }
    
            leaf ce-vlan {
              when "../pe-vlan";
              type uint16 {
                range "1..4094";
              }
              description "Ce-VLAN.";
            }
    
            leaf source-ip {
              type inet:ip-address-no-zone;
              mandatory true;
              description "Source IP.";
            }
    
            leaf destination-ip {
              type inet:ip-address-no-zone;
              mandatory true;
              description "Destination IP.";
            }
    
            leaf protocol {
              type protocol-type;
              mandatory true;
              description "Protocol type.";
            }
    
            leaf source-port {
              when
                "../protocol='tcp' or ../protocol='udp' or ../protocol='sctp'";
              type uint16 {
                range "1..65535";
              }
              mandatory true;
              description "Source port.";
            }
    
            leaf destination-port {
              when
                "../protocol='tcp' or ../protocol='udp' or ../protocol='sctp'";
              type uint16 {
                range "1..65535";
              }
              mandatory true;
              description "Destination port.";
            }
    
            leaf gtp-teid {
              when
                "../protocol='udp' and (../source-port=2152 or ../destination-port=2152)";
              type uint32;
              description "GTP TEID.";
            }
    
            leaf dscp {
              type inet:dscp;
              mandatory true;
              description "DSCP value.";
            }
    
            leaf vpn-instance-name {
              type leafref {
                path "/ni:network-instance/ni:instances/ni:instance/ni:name";
              }
              description "VPN instance name.";
            }
    
            leaf interface-name {
              type leafref {
                path "/ifm:ifm/ifm:interfaces/ifm:interface/ifm:name";
              }
              mandatory true;
              description "Interface name.";
            }
    
            leaf test-id {
              type uint32;
              mandatory true;
              description "Test ID.";
            }
          }
        }  // rpc path-detection-send-pkt
      }  // module huawei-vxlan-path-detect
    

© 2023 YumaWorks, Inc. All rights reserved.