huawei-nqa-reflector

Description of submodule nqa-reflector.

  • Version: 2021-04-29

    huawei-nqa-reflector@2021-04-29


    
      submodule huawei-nqa-reflector {
    
        yang-version 1;
    
        belongs-to huawei-nqa {
            prefix nqa;
        }
    
        import huawei-pub-type {
          prefix pub-type;
        }
        import ietf-yang-types {
          prefix yang;
        }
        import huawei-ifm {
          prefix ifm;
        }
    
        include huawei-nqa-type;
        include huawei-nqa-test-flow;
    
        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
          "Description of submodule nqa-reflector.";
    
        revision "2021-04-29" {
          description
            "Modify test-flow and exclusive.";
          reference
            "Huawei private.";
    
        }
    
        revision "2020-02-29" {
          description
            "Modify range for PE-VLAN and CE-VLAN.";
          reference
            "Huawei private.";
    
        }
    
        revision "2019-10-25" {
          description "Initial revision.";
          reference
            "Huawei private.";
    
        }
    
    
        typedef reflect-type {
          type enumeration {
            enum "flow-general" {
              value 2;
              description "General flow.";
            }
          }
          description
            "Description of reflect-type.";
        }
    
        typedef exclusive-mode-type {
          type enumeration {
            enum "exclusive" {
              value 1;
              description
                "Specify the exclusive mode on an interface.";
            }
          }
          description
            "Description of exclusive-mode-type.";
        }
    
        grouping reflectors-type {
          description "Reflector table.";
          list reflector {
            must
              "(ce-vlan and pe-vlan) or (not(ce-vlan) and not(pe-vlan))";
            key "reflector-id";
            max-elements 1024;
            description
              "Configure reflector table.";
            leaf reflector-id {
              type uint32 {
                range "1..65535";
              }
              description "Reflector ID.";
            }
    
            leaf if-name {
              type leafref {
                path
                  "/ifm:ifm/ifm:interfaces/ifm:interface/ifm:name";
              }
              mandatory true;
              description
                "Reflector interface name.";
            }
    
            choice reflect-type {
              default 'general-flow';
              description "Reflector type.";
              case interface-exclusive {
                description
                  "Specify the exclusive mode on an interface.";
                leaf exclusive {
                  type exclusive-mode-type;
                  description
                    "Specify the exclusive mode on an interface.";
                }
              }  // case interface-exclusive
    
              case general-flow {
                description
                  "Reflects packets based on the packet content.";
                leaf reflector-type {
                  type reflect-type;
                  default "flow-general";
                  status deprecated;
                  description "Reflector type.";
                }
    
                choice address {
                  description
                    "Reflector address.";
                  case ipv4-address {
                    description
                      "Reflector IPv4 address.";
                    leaf ipv4-address {
                      type valid-abc-ipv4-address;
                      description
                        "Reflector IPv4 address.";
                    }
                  }  // case ipv4-address
    
                  case simulate-ipv4-address {
                    description
                      "Reflector simulate IPv4 address.";
                    leaf simulate-ipv4-address {
                      type valid-abc-ipv4-address;
                      description
                        "Reflector simulate IPv4 address.";
                    }
                  }  // case simulate-ipv4-address
    
                  case mac-address {
                    description
                      "Reflector MAC address.";
                    leaf mac-address {
                      type unicast-mac-address;
                      description
                        "Reflector MAC address.";
                    }
                  }  // case mac-address
                }  // choice address
    
                choice vlan-tag-config {
                  description
                    "VLAN configuration selection. One VLAN tag or two VLAN tags can be configured.";
                  case one-vlan-tag {
                    description
                      "One VLAN tag can be configured.";
                    leaf vlan-id {
                      type uint16 {
                        range "1..4094";
                      }
                      description
                        "Reflector VLAN ID.";
                    }
                  }  // case one-vlan-tag
    
                  case two-vlan-tag {
                    description
                      "Two VLAN tags can be configured.";
                    leaf ce-vlan {
                      type uint16 {
                        range "1..4094";
                      }
                      description
                        "Reflector CE VLAN ID.";
                    }
    
                    leaf pe-vlan {
                      type uint16 {
                        range "1..4094";
                      }
                      description
                        "Reflector PE VLAN ID.";
                    }
                  }  // case two-vlan-tag
                }  // choice vlan-tag-config
    
                leaf source-port {
                  type uint16 {
                    range "0..65535";
                  }
                  default "49184";
                  description
                    "Reflector source port.";
                }
    
                leaf dest-port {
                  type uint16 {
                    range "0..65535";
                  }
                  default "7";
                  description
                    "Reflector destination port.";
                }
    
                leaf share-mode {
                  type boolean;
                  default "false";
                  description
                    "Enable/disable the share mode on the reflector.";
                }
              }  // case general-flow
    
              case test-flow {
                description
                  "Reflects packets based on test flows.";
                leaf-list test-flow-id {
                  type leafref {
                    path
                      "../../../testflows/test-flow/test-flow-id";
                  }
                  max-elements 16;
                  description
                    "Configure the ID of the test flow bound to the reflector.";
                }
              }  // case test-flow
            }  // choice reflect-type
    
            leaf exchange-port {
              type boolean;
              default "false";
              description
                "Enable/disable reflector UDP port exchange.";
            }
    
            leaf end-time {
              type yang:date-and-time;
              mandatory true;
              description
                "Absolute time of reflector aging, the value must not be earlier than the current system time plus 10s or later than the current system time plus 173400s.";
            }
    
            leaf survival-time {
              type uint32;
              units "s";
              config false;
              description
                "Reflector survival time.";
            }
    
            leaf recommended-test-mac {
              type pub-type:mac-address;
              config false;
              description
                "Reflector recommended MAC address.";
            }
          }  // list reflector
        }  // grouping reflectors-type
      }  // submodule huawei-nqa-reflector
    

© 2023 YumaWorks, Inc. All rights reserved.