blob: f0b3472823c3d9fe7e237fe54734e069f8a7da15 [file] [log] [blame]
Ratan Gupta66bc4eb2017-03-28 17:14:49 +05301description: >
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:
Patrick Williams8da396c2022-03-14 14:21:02 -050033 - 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.
Ratan Gupta66bc4eb2017-03-28 17:14:49 +053057
58 - name: HashPolicy
59 description: >
60 Possible policy types.
61 values:
Patrick Williams8da396c2022-03-14 14:21:02 -050062 - 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.