Define the trunk bundling technology that bundles multiple physical interfaces into a logical interface.
Version: 2019-04-15
module huawei-ifm-trunk-deviations-NE8000M8M14 { yang-version 1; namespace "urn:huawei:yang:huawei-ifm-trunk-deviations-NE8000M8M14"; prefix ifm-trunk-devs-NE8000M8M14; import huawei-ifm { prefix ifm; } import huawei-ifm-trunk { prefix ifm-trunk; } import huawei-ethernet { prefix ethernet; } 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 "Define the trunk bundling technology that bundles multiple physical interfaces into a logical interface."; revision "2019-04-15" { description "Init revision."; reference "Huawei private."; } typedef trunk-mode-deviations { type enumeration { enum "manual" { value 1; description "Specify the manual load balancing mode. It is a basic link aggregation mode. In this mode, you must manually create a trunk interface, add interfaces to the trunk interface, and specify active member interfaces. LACP is not involved."; } enum "dynamic" { value 2; description "Specify the dynamic LACP mode. In dynamic LACP mode, if the Eth-Trunk interface has not be configured on the other end and the physical interfaces on two ends are both Up, dynamic LACP mode will set Eth-Trunk member interfaces to Indep, indicating the physical interfaces of the server and of the device are independent. This ensures that physical interfaces of the device can forward data to the server."; } enum "static" { value 3; description "Specify the static LACP mode. In this mode, you must manually add interfaces to the Eth-Trunk interface. Different from link aggregation in manual load balancing mode, active member interfaces are selected based on LACP packets."; } enum "backup" { value 4; description "Specify the 1:1 active/standby load balancing mode. In this mode, an Eth-Trunk interface contains only two member interfaces (one active interface and one standby interface)."; } } description "Trunk Work Mode."; } typedef trunk-hash-type-deviations { type enumeration { enum "ip" { value 1; description "Specify the IP-address-based per-destination load balancing mode. In this mode, data flows are differentiated based on IP addresses of packets to ensure that the packets of the same data flow are transmitted over the same member link."; } enum "mac" { value 2; description "Specify the MAC-address-based per-destination load balancing mode. In this mode, data flows are differentiated based on MAC addresses of packets to ensure that the packets of the same data flow are transmitted over the same member link."; } enum "packet-all" { value 3; description "Specifies the per-packet load balancing mode. In this mode, one packet (not a data flow) is regarded as a unit, and packets are dispersed and transmitted among different member links."; } enum "symmetric" { value 14; description "Symmetric hash arithmetic."; } enum "symmetric-complement" { value 15; description "Symmetric complement hash arithmetic."; } } description "Trunk Hash Type."; } deviation /ifm:ifm/ifm:interfaces/ifm:interface/ifm-trunk:trunk/ifm-trunk:work-mode { deviate replace { type trunk-mode-deviations; } } deviation /ifm:ifm/ifm:interfaces/ifm:interface/ifm-trunk:trunk/ifm-trunk:hash-type { deviate replace { type trunk-hash-type-deviations; } } deviation /ifm:ifm/ifm:interfaces/ifm:interface/ifm-trunk:trunk/ifm-trunk:members/ifm-trunk:member { deviate replace { max-elements 64; } } deviation /ifm:ifm/ifm:interfaces/ifm:interface/ifm-trunk:trunk/ifm-trunk:members/ifm-trunk:member/ifm-trunk:weight { deviate replace { type uint32 { range "1..64"; } } } deviation /ifm:ifm/ifm:interfaces/ifm:interface/ifm-trunk:trunk/ifm-trunk:min-up-num { deviate replace { type uint16 { range "1..64"; } } } deviation /ifm:ifm/ifm:interfaces/ifm:interface/ifm-trunk:trunk/ifm-trunk:max-up-num { deviate replace { type uint16 { range "1..64"; } } } deviation /ifm:ifm/ifm:interfaces/ifm:interface/ifm-trunk:trunk/ifm-trunk:member-num { deviate replace { type uint32 { range "0..64"; } } } deviation /ifm:ifm/ifm:interfaces/ifm:interface/ifm-trunk:trunk/ifm-trunk:online-member-num { deviate replace { type uint32 { range "0..64"; } } } deviation /ifm:ifm/ifm:interfaces/ifm:interface/ifm-trunk:trunk/ifm-trunk:up-member-num { deviate replace { type uint32 { range "0..64"; } } } deviation /ifm:ifm/ifm:interfaces/ifm:interface/ifm-trunk:trunk/ifm-trunk:work-mode { deviate add { must "(../../ifm:type='Eth-Trunk' and ../work-mode='backup' and ../../ethernet:ethernet/ethernet:main-interface/ethernet:l2-attribute) or (../../ifm:type='Eth-Trunk' and (../work-mode='manual' or ../work-mode='static')) or (../../ifm:type='Ip-Trunk' and ../work-mode='manual') or (../../ifm:type!='Eth-Trunk' and ../../ifm:type!='Ip-Trunk') or (not (../../ifm:type))"; } } deviation /ifm:ifm/ifm:interfaces/ifm:interface/ifm-trunk:trunk/ifm-trunk:hash-type { deviate add { must "(../../ifm:type='Ip-Trunk' and (../hash-type='ip' or ../hash-type='packet-all')) or (../../ifm:type='Eth-Trunk' and (../work-mode='manual' or ../work-mode='static') and ((../../ethernet:ethernet/ethernet:main-interface/ethernet:l2-attribute) or (not(../../ethernet:ethernet/ethernet:main-interface/ethernet:l2-attribute) and ../hash-type!='mac'))) or (../../ifm:type='Eth-Trunk' and ../work-mode='backup' and ../hash-type='mac')"; } } } // module huawei-ifm-trunk-deviations-NE8000M8M14
© 2023 YumaWorks, Inc. All rights reserved.