1description: > 2 This defines network bonding parameters. 3 4# TODO Fix it through https://github.com/openbmc/openbmc/issues/1438 5# creatable: true 6 7properties: 8 - name: InterfaceName 9 type: string 10 description: > 11 Name of the interface. 12 - name: BondedInterfaces 13 type: array[string] 14 description: > 15 Interfaces which needs to be bonded. 16 - name: Mode 17 type: enum[self.BondingMode] 18 description: > 19 Network interface bonding modes. 20 default: RoundRobin 21 - name: TransmitHashPolicy 22 type: enum[self.HashPolicy] 23 description: 24 Selects the transmit hash policy to use for slave selection in 25 balance-xor, 802.3ad, and tlb modes. 26 default: Layer2 27 28enumerations: 29 - name: BondingMode 30 description: > 31 Possible bonding mode types. 32 values: 33 - name: RoundRobin 34 description: > 35 It is the default mode,in this mode system transmits packets in 36 sequential order from the first available slave through the last. 37 - name: ActiveBackup 38 description: > 39 In this mode, only one slave in the bond is active. 40 The other one will become active, only when the active slave fails. 41 - name: XOR 42 description: > 43 Transmit based on selectable hashing algorithm. 44 The default policy is a simple source+destination MAC address algorithm. 45 - name: Broadcast 46 description: > 47 Transmits everything on all slave interfaces. 48 - name: Dynamic 49 description: > 50 IEEE 802.3ad Dynamic link aggregation. 51 - name: TLB 52 description: > 53 The outgoing traffic is distributed according to the current load on each slave. 54 - name: ALB 55 description: > 56 Incoming/outgoing traffic is distributed according to the current load on each slave. 57 58 - name: HashPolicy 59 description: > 60 Possible policy types. 61 values: 62 - name: Layer2 63 description: > 64 This policy uses XOR of hardware MAC addresses and packet type ID 65 field to generate the hash. 66 - name: Layer2Plus3 67 description: > 68 This policy uses a combination of layer2 and layer3 69 protocol information to generate the hash. 70 - name: Layer3Plus4 71 description: > 72 This policy uses upper layer protocol information, 73 when available, to generate the hash. 74 - name: Encap2Plus3 75 description: > 76 This policy uses the same formula as layer2+3 but it 77 relies on skb_flow_dissect to obtain the header fields 78 which might result in the use of inner headers if an 79 encapsulation protocol is used. 80 - name: Encap3Plus4 81 description: > 82 This policy uses the same formula as layer3+4 but it 83 relies on skb_flow_dissect to obtain the header fields 84 which might result in the use of inner headers if an 85 encapsulation protocol is used. 86