huawei-mac-flapping

MAC flapping-based loop detection.

  • Version: 2020-03-09

    huawei-mac-flapping@2020-03-09


    
      module huawei-mac-flapping {
    
        yang-version 1;
    
        namespace
          "urn:huawei:yang:huawei-mac-flapping";
    
        prefix mac-flapping;
    
        import huawei-ifm {
          prefix ifm;
        }
        import huawei-ethernet {
          prefix ethernet;
        }
        import huawei-bd {
          prefix bd;
        }
        import huawei-vlan {
          prefix vlan;
        }
        import huawei-l2vpn {
          prefix l2vpn;
        }
        import huawei-extension {
          prefix ext;
        }
        import huawei-pub-type {
          prefix pub-type;
        }
        import ietf-inet-types {
          prefix inet;
        }
    
        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
          "MAC flapping-based loop detection.";
    
        revision "2020-03-09" {
          description "Modify description.";
          reference
            "Huawei private.";
    
        }
    
        revision "2019-04-23" {
          description "Initial revision.";
          reference
            "Huawei private.";
    
        }
    
        ext:task-name "mflp";
    
        typedef alarm-enable {
          type enumeration {
            enum "block" {
              value 1;
              description
                "Disable the loop detection alarm function.";
            }
            enum "alarm" {
              value 2;
              description
                "Enable the loop detection alarm function.";
            }
          }
          description "Alarm enable.";
        }
    
        typedef mflp-enable {
          type enumeration {
            enum "disable" {
              value 1;
              description "Disable type.";
            }
            enum "enable" {
              value 2;
              description "Enable type.";
            }
          }
          description "MFLP enable type.";
        }
    
        typedef block-state-type {
          type enumeration {
            enum "temporary" {
              value 1;
              description "Temporary block.";
            }
            enum "permanent" {
              value 2;
              description "Permanent block.";
            }
          }
          description "MFLP block state type.";
        }
    
        typedef block-trust-type {
          type enumeration {
            enum "precise" {
              value 1;
              description "Precise.";
            }
            enum "imprecise" {
              value 2;
              description "Imprecise.";
            }
          }
          description "MFLP block trust type.";
        }
    
        container mac-flapping {
          description
            "MAC flapping-based loop detection.";
          container global-attribute {
            description
              "Configure global attribute of MFLP.";
            leaf precise-block-policy {
              type mflp-enable;
              default "disable";
              description
                "Global blocking policy.";
            }
    
            leaf generate-time {
              type uint32 {
                range "60..2000000";
              }
              units "s";
              default "600";
              description
                "Trust interface generation time.";
            }
    
            leaf assist-stp {
              type mflp-enable;
              default "disable";
              description
                "MAC flapping assist flag.";
            }
    
            leaf traffic-suppression {
              type mflp-enable;
              default "enable";
              description
                "Global traffic suppress state.";
            }
    
            leaf traffic-suppression-threshold {
              type uint16 {
                range "10..50";
              }
              units "%";
              default "10";
              description
                "Traffic suppress threshold.";
            }
          }  // container global-attribute
    
          container vsi-blocks {
            config false;
            description
              "List of displayed VSI blocked interface entry.";
            list vsi-block {
              key "vsi-name interface-name pw-id peer-ip";
              description
                "Statistics of VSI blocked interface entry.";
              leaf vsi-name {
                type leafref {
                  path "/l2vpn:l2vpn/l2vpn:instances/l2vpn:instance/l2vpn:name";
                }
                description "VSI name.";
              }
    
              leaf interface-name {
                type leafref {
                  path "/ifm:ifm/ifm:interfaces/ifm:interface/ifm:name";
                }
                description
                  "Blocked interface name.";
              }
    
              leaf pw-id {
                type uint32;
                description "Remote PW ID.";
              }
    
              leaf peer-ip {
                type inet:ipv4-address;
                description "Peer IP address.";
              }
    
              leaf state {
                type block-state-type;
                description "Blocking state.";
              }
    
              leaf linked-interface-name {
                type leafref {
                  path "/ifm:ifm/ifm:interfaces/ifm:interface/ifm:name";
                }
                description
                  "Blocked associated interface name.";
              }
    
              leaf detect-mac {
                type pub-type:mac-address;
                description
                  "Detect MAC address.";
              }
    
              leaf trust-type {
                type block-trust-type;
                description "Blocking type.";
              }
    
              leaf vlanif-name {
                type leafref {
                  path "/ifm:ifm/ifm:interfaces/ifm:interface/ifm:name";
                }
                description
                  "Blocked VLANIF name.";
              }
    
              leaf mapping-vlan-id {
                type uint16 {
                  range "0..4094";
                }
                description "Mapping VLAN ID.";
              }
            }  // list vsi-block
          }  // container vsi-blocks
    
          container bd-blocks {
            config false;
            description
              "List of displayed BD blocked interface entry.";
            list bd-block {
              key "bd-id interface-name pw-id peer-ip";
              description
                "Statistics of displayed BD blocked interface entry.";
              leaf bd-id {
                type leafref {
                  path "/bd:bd/bd:instances/bd:instance/bd:id";
                }
                description "BD ID.";
              }
    
              leaf interface-name {
                type leafref {
                  path "/ifm:ifm/ifm:interfaces/ifm:interface/ifm:name";
                }
                description
                  "Blocked interface name.";
              }
    
              leaf pw-id {
                type uint32;
                description "Remote PW ID.";
              }
    
              leaf peer-ip {
                type inet:ipv4-address;
                description "Peer IP address.";
              }
    
              leaf state {
                type block-state-type;
                description "Blocking state.";
              }
    
              leaf linked-interface-name {
                type leafref {
                  path "/ifm:ifm/ifm:interfaces/ifm:interface/ifm:name";
                }
                description
                  "Blocked associated interface name.";
              }
    
              leaf detect-mac {
                type pub-type:mac-address;
                description
                  "Detect MAC address.";
              }
    
              leaf trust-type {
                type block-trust-type;
                description "Blocking type.";
              }
    
              leaf is-blackhole {
                type boolean;
                default "false";
                description
                  "Is blackhole MAC block.";
              }
            }  // list bd-block
          }  // container bd-blocks
    
          container vlan-blocks {
            config false;
            description
              "List of displayed VLAN blocked interface entry.";
            list vlan-block {
              key "vlan-id interface-name";
              description
                "Statistics of displayed VLAN blocked interface entry.";
              leaf vlan-id {
                type uint16 {
                  range "1..4094";
                }
                description "VLAN ID.";
              }
    
              leaf interface-name {
                type leafref {
                  path "/ifm:ifm/ifm:interfaces/ifm:interface/ifm:name";
                }
                description
                  "Blocked interface name.";
              }
    
              leaf state {
                type block-state-type;
                description "Blocking state.";
              }
    
              leaf detect-mac {
                type pub-type:mac-address;
                description
                  "Detect MAC address.";
              }
    
              leaf trust-type {
                type block-trust-type;
                description "Blocking type.";
              }
            }  // list vlan-block
          }  // container vlan-blocks
        }  // container mac-flapping
      }  // module huawei-mac-flapping
    

© 2023 YumaWorks, Inc. All rights reserved.