huawei-lacp

Link Aggregation Control Protocol (LACP) management, which includes static LACP configuration, dynamic LACP learning.

  • Version: 2020-02-18

    huawei-lacp@2020-02-18


    
      module huawei-lacp {
    
        yang-version 1;
    
        namespace "urn:huawei:yang:huawei-lacp";
    
        prefix lacp;
    
        import huawei-extension {
          prefix ext;
        }
        import huawei-ifm {
          prefix ifm;
        }
        import huawei-ifm-trunk {
          prefix ifm-trunk;
        }
        import huawei-pub-type {
          prefix pub-type;
        }
        import ietf-yang-types {
          prefix yang;
        }
    
        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
          "Link Aggregation Control Protocol (LACP) management, which includes static LACP configuration, dynamic LACP learning.";
    
        revision "2020-02-18" {
          description "Initial revision.";
          reference
            "Huawei private.";
    
        }
    
        ext:task-name "trunk";
    
        typedef receive-timeout-type {
          type enumeration {
            enum "slow" {
              value 0;
              description
                "Indicate that the timeout period of Eth-Trunk interfaces in static LACP mode to receive packets is 90 seconds and the peer end sends an LACP packet every 30 seconds. In this mode, the device responds to the LACP packets from the peer slowly but consumes fewer system resources.";
            }
            enum "fast" {
              value 1;
              description
                "Indicate that the timeout period of Eth-Trunk interfaces in static LACP mode to receive packets is 3 seconds and the peer end sends an LACP packet every 1 second. In this mode, the device can quickly respond to the LACP packets from the peer but consume more system resources.";
            }
          }
          description
            "LACP receive timeout type.";
        }
    
        typedef select-std {
          type enumeration {
            enum "speed" {
              value 1;
              description
                "Indicate that the interface with a higher rate is selected as the active interface.";
            }
            enum "priority" {
              value 3;
              description
                "Indicate that the interface with a higher priority is selected as the active interface.";
            }
          }
          description "LACP select standard.";
        }
    
        typedef sysmac {
          type enumeration {
            enum "local" {
              value 1;
              description
                "The operate system ID is obtained from local configure.";
            }
            enum "remote" {
              value 2;
              description
                "The operate system ID is obtained from remote device.";
            }
          }
          description "LACP system MAC source.";
        }
    
        typedef member-selected-state {
          type enumeration {
            enum "selected" {
              value 1;
              description
                "The interface is in the selected state.";
            }
            enum "unselected" {
              value 0;
              description
                "The interface is in the unselected state.";
            }
            enum "indep" {
              value 2;
              description
                "The interface is in the independent state.";
            }
            enum "force-up" {
              value 3;
              description
                "The interface is in the force up state.";
            }
          }
          description
            "Trunk member selected state.";
        }
    
        typedef port-type {
          type enumeration {
            enum "null" {
              value 0;
              description "0M.";
            }
            enum "10M" {
              value 1;
              description "10M.";
            }
            enum "100M" {
              value 2;
              description "100M.";
            }
            enum "1GE" {
              value 3;
              description "1GE.";
            }
            enum "10GE" {
              value 4;
              description "10GE.";
            }
            enum "100GE" {
              value 5;
              description "100GE.";
            }
            enum "1TE" {
              value 6;
              description "1TE.";
            }
            enum "10TE" {
              value 7;
              description "10TE.";
            }
            enum "100TE" {
              value 8;
              description "100TE.";
            }
            enum "1000TE" {
              value 9;
              description "1000TE.";
            }
            enum "40GE" {
              value 10;
              description "40GE.";
            }
            enum "400GE" {
              value 11;
              description "400GE.";
            }
            enum "25GE" {
              value 12;
              description "25GE.";
            }
            enum "200GE" {
              value 13;
              description "200GE.";
            }
            enum "50GE" {
              value 14;
              description "50GE.";
            }
            enum "flexe" {
              value 10002;
              description "FlexE.";
            }
          }
          description "LACP port type.";
        }
    
        typedef port-role-type {
          type enumeration {
            enum "none" {
              value 0;
              description "None role.";
            }
            enum "master" {
              value 1;
              description "Master role.";
            }
            enum "slave" {
              value 2;
              description "Slave role.";
            }
          }
          description "Lacp port role.";
        }
    
        typedef ifmlag-member-selected-state {
          type enumeration {
            enum "selected" {
              value 1;
              description
                "The interface is in the selected state.";
            }
            enum "unselected" {
              value 0;
              description
                "The interface is in the unselected state.";
            }
            enum "standby" {
              value 2;
              description
                "The interface is in the standby state.";
            }
          }
          description
            "Lag member selected state.";
        }
    
        container lacp {
          description
            "Link aggregation control protocol.";
          container global {
            description
              "Configure global attributes.";
            leaf sys-priority {
              type uint16 {
                range "0..65535";
              }
              default "32768";
              description
                "The device with a higher system priority is selected as the actor, and then active member interfaces are selected based on the configuration of the Eth-Trunk interface on the actor. If the system priorities are the same, the actor is selected based on the system ID. The device with the smaller system ID becomes the actor.";
            }
    
            container m-lag {
              description
                "Configure M-LAG global attributes.";
              leaf sys-priority {
                type uint16 {
                  range "0..65535";
                }
                default "32768";
                description
                  "M-LAG global LACP system priority.";
              }
    
              leaf sys-mac {
                ext:dynamic-default;
                type pub-type:mac-address {
                  length "0..255";
                }
                description
                  "M-LAG global LACP system MAC address. By default, the LACP M-LAG system ID in the system is the system bridge MAC address.";
              }
            }  // container m-lag
    
            leaf adminkey-change2lagid {
              type boolean;
              default "false";
              description
                "Enable/disable to control some mib modes in LAG-MIB, in LAG-MIB there are some nodes related to administrative key for an aggregator, i.e. dot3adAggActorSystemPriority in dot3adAggTable, the administrative key is equal to lag id plus one in default, if this element is set to true, the administrative key is equal to lag id.";
            }
    
            leaf ignore-aggregation {
              type boolean;
              default "false";
              description
                "Enable/disable the device to ignore the value of the reserved field in LACP PDUs by configuring ignore aggregation delay.";
            }
    
            leaf force-down {
              type boolean;
              default "false";
              description
                "Enable/disable the force-down function to eth-trunk which added to M-LAG.";
            }
    
            leaf sys-mac {
              type pub-type:mac-address {
                length "0..255";
              }
              config false;
              description
                "Global LACP system MAC address.";
            }
          }  // container global
    
          container trouble-shoots {
            config false;
            description
              "List of LACP trouble shootings.";
            list trouble-shoot {
              key "index";
              max-elements 5;
              description
                "Statistics of LACP trouble shooting.";
              leaf index {
                type uint32 {
                  range "1..5";
                }
                description
                  "Index of LACP trouble shooting.";
              }
    
              leaf time {
                type yang:date-and-time;
                description
                  "Time of LACP trouble shooting.";
              }
    
              leaf description {
                type string {
                  length "0..600";
                }
                description
                  "Description of LACP trouble shooting.";
              }
            }  // list trouble-shoot
          }  // container trouble-shoots
        }  // container lacp
      }  // module huawei-lacp
    

© 2023 YumaWorks, Inc. All rights reserved.