description: > This defines network bonding parameters. # TODO Fix it through https://github.com/openbmc/openbmc/issues/1438 # creatable: true properties: - name: InterfaceName type: string description: > Name of the interface. - name: BondedInterfaces type: array[string] description: > Interfaces which needs to be bonded. - name: Mode type: enum[self.BondingMode] description: > Network interface bonding modes. default: RoundRobin - name: TransmitHashPolicy type: enum[self.HashPolicy] description: Selects the transmit hash policy to use for slave selection in balance-xor, 802.3ad, and tlb modes. default: Layer2 enumerations: - name: BondingMode description: > Possible bonding mode types. values: - name: RoundRobin description: > It is the default mode,in this mode system transmits packets in sequential order from the first available slave through the last. - name: ActiveBackup description: > In this mode, only one slave in the bond is active. The other one will become active, only when the active slave fails. - name: XOR description: > Transmit based on selectable hashing algorithm. The default policy is a simple source+destination MAC address algorithm. - name: Broadcast description: > Transmits everything on all slave interfaces. - name: Dynamic description: > IEEE 802.3ad Dynamic link aggregation. - name: TLB description: > The outgoing traffic is distributed according to the current load on each slave. - name: ALB description: > Incoming/outgoing traffic is distributed according to the current load on each slave. - name: HashPolicy description: > Possible policy types. values: - name: Layer2 description: > This policy uses XOR of hardware MAC addresses and packet type ID field to generate the hash. - name: Layer2Plus3 description: > This policy uses a combination of layer2 and layer3 protocol information to generate the hash. - name: Layer3Plus4 description: > This policy uses upper layer protocol information, when available, to generate the hash. - name: Encap2Plus3 description: > This policy uses the same formula as layer2+3 but it relies on skb_flow_dissect to obtain the header fields which might result in the use of inner headers if an encapsulation protocol is used. - name: Encap3Plus4 description: > This policy uses the same formula as layer3+4 but it relies on skb_flow_dissect to obtain the header fields which might result in the use of inner headers if an encapsulation protocol is used.