blob: 98d05c0bfd90d9fdbda25a0912d1b91b4384735b [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
Patrick Williamsa1347412022-12-06 10:56:22 -060036 sequential order from the first available slave through the
37 last.
Patrick Williams8da396c2022-03-14 14:21:02 -050038 - name: ActiveBackup
39 description: >
Patrick Williamsa1347412022-12-06 10:56:22 -060040 In this mode, only one slave in the bond is active. The other
41 one will become active, only when the active slave fails.
Patrick Williams8da396c2022-03-14 14:21:02 -050042 - name: XOR
43 description: >
Patrick Williamsa1347412022-12-06 10:56:22 -060044 Transmit based on selectable hashing algorithm. The default
45 policy is a simple source+destination MAC address algorithm.
Patrick Williams8da396c2022-03-14 14:21:02 -050046 - name: Broadcast
47 description: >
48 Transmits everything on all slave interfaces.
49 - name: Dynamic
50 description: >
51 IEEE 802.3ad Dynamic link aggregation.
52 - name: TLB
53 description: >
Patrick Williamsa1347412022-12-06 10:56:22 -060054 The outgoing traffic is distributed according to the current
55 load on each slave.
Patrick Williams8da396c2022-03-14 14:21:02 -050056 - name: ALB
57 description: >
Patrick Williamsa1347412022-12-06 10:56:22 -060058 Incoming/outgoing traffic is distributed according to the
59 current load on each slave.
Ratan Gupta66bc4eb2017-03-28 17:14:49 +053060
61 - name: HashPolicy
62 description: >
63 Possible policy types.
64 values:
Patrick Williams8da396c2022-03-14 14:21:02 -050065 - name: Layer2
66 description: >
Patrick Williamsa1347412022-12-06 10:56:22 -060067 This policy uses XOR of hardware MAC addresses and packet type
68 ID field to generate the hash.
Patrick Williams8da396c2022-03-14 14:21:02 -050069 - name: Layer2Plus3
70 description: >
Patrick Williamsa1347412022-12-06 10:56:22 -060071 This policy uses a combination of layer2 and layer3 protocol
72 information to generate the hash.
Patrick Williams8da396c2022-03-14 14:21:02 -050073 - name: Layer3Plus4
74 description: >
Patrick Williamsa1347412022-12-06 10:56:22 -060075 This policy uses upper layer protocol information, when
76 available, to generate the hash.
Patrick Williams8da396c2022-03-14 14:21:02 -050077 - name: Encap2Plus3
78 description: >
Patrick Williamsa1347412022-12-06 10:56:22 -060079 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.
Patrick Williams8da396c2022-03-14 14:21:02 -050083 - name: Encap3Plus4
84 description: >
Patrick Williamsa1347412022-12-06 10:56:22 -060085 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.