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 target 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 target through the 37 last. 38 - name: ActiveBackup 39 description: > 40 In this mode, only one target in the bond is active. The other 41 one will become active, only when the active target fails. 42 - name: XOR 43 description: > 44 Transmit based on selectable hashing algorithm. The default 45 policy is a simple source+destination MAC address algorithm. 46 - name: Broadcast 47 description: > 48 Transmits everything on all target interfaces. 49 - name: Dynamic 50 description: > 51 IEEE 802.3ad Dynamic link aggregation. 52 - name: TLB 53 description: > 54 The outgoing traffic is distributed according to the current 55 load on each target. 56 - name: ALB 57 description: > 58 Incoming/outgoing traffic is distributed according to the 59 current load on each target. 60 61 - name: HashPolicy 62 description: > 63 Possible policy types. 64 values: 65 - name: Layer2 66 description: > 67 This policy uses XOR of hardware MAC addresses and packet type 68 ID field to generate the hash. 69 - name: Layer2Plus3 70 description: > 71 This policy uses a combination of layer2 and layer3 protocol 72 information to generate the hash. 73 - name: Layer3Plus4 74 description: > 75 This policy uses upper layer protocol information, when 76 available, to generate the hash. 77 - name: Encap2Plus3 78 description: > 79 This policy uses the same formula as layer2+3 but it relies on 80 skb_flow_dissect to obtain the header fields which might result 81 in the use of inner headers if an encapsulation protocol is 82 used. 83 - name: Encap3Plus4 84 description: > 85 This policy uses the same formula as layer3+4 but it relies on 86 skb_flow_dissect to obtain the header fields which might result 87 in the use of inner headers if an encapsulation protocol is 88 used. 89