Ratan Gupta | 66bc4eb | 2017-03-28 17:14:49 +0530 | [diff] [blame] | 1 | description: > |
| 2 | This defines network bonding parameters. |
| 3 | |
| 4 | # TODO Fix it through https://github.com/openbmc/openbmc/issues/1438 |
| 5 | # creatable: true |
| 6 | |
| 7 | properties: |
| 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 | |
| 28 | enumerations: |
| 29 | - name: BondingMode |
| 30 | description: > |
| 31 | Possible bonding mode types. |
| 32 | values: |
Patrick Williams | 8da396c | 2022-03-14 14:21:02 -0500 | [diff] [blame] | 33 | - name: RoundRobin |
| 34 | description: > |
| 35 | It is the default mode,in this mode system transmits packets in |
Patrick Williams | a134741 | 2022-12-06 10:56:22 -0600 | [diff] [blame] | 36 | sequential order from the first available slave through the |
| 37 | last. |
Patrick Williams | 8da396c | 2022-03-14 14:21:02 -0500 | [diff] [blame] | 38 | - name: ActiveBackup |
| 39 | description: > |
Patrick Williams | a134741 | 2022-12-06 10:56:22 -0600 | [diff] [blame] | 40 | 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 Williams | 8da396c | 2022-03-14 14:21:02 -0500 | [diff] [blame] | 42 | - name: XOR |
| 43 | description: > |
Patrick Williams | a134741 | 2022-12-06 10:56:22 -0600 | [diff] [blame] | 44 | Transmit based on selectable hashing algorithm. The default |
| 45 | policy is a simple source+destination MAC address algorithm. |
Patrick Williams | 8da396c | 2022-03-14 14:21:02 -0500 | [diff] [blame] | 46 | - 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 Williams | a134741 | 2022-12-06 10:56:22 -0600 | [diff] [blame] | 54 | The outgoing traffic is distributed according to the current |
| 55 | load on each slave. |
Patrick Williams | 8da396c | 2022-03-14 14:21:02 -0500 | [diff] [blame] | 56 | - name: ALB |
| 57 | description: > |
Patrick Williams | a134741 | 2022-12-06 10:56:22 -0600 | [diff] [blame] | 58 | Incoming/outgoing traffic is distributed according to the |
| 59 | current load on each slave. |
Ratan Gupta | 66bc4eb | 2017-03-28 17:14:49 +0530 | [diff] [blame] | 60 | |
| 61 | - name: HashPolicy |
| 62 | description: > |
| 63 | Possible policy types. |
| 64 | values: |
Patrick Williams | 8da396c | 2022-03-14 14:21:02 -0500 | [diff] [blame] | 65 | - name: Layer2 |
| 66 | description: > |
Patrick Williams | a134741 | 2022-12-06 10:56:22 -0600 | [diff] [blame] | 67 | This policy uses XOR of hardware MAC addresses and packet type |
| 68 | ID field to generate the hash. |
Patrick Williams | 8da396c | 2022-03-14 14:21:02 -0500 | [diff] [blame] | 69 | - name: Layer2Plus3 |
| 70 | description: > |
Patrick Williams | a134741 | 2022-12-06 10:56:22 -0600 | [diff] [blame] | 71 | This policy uses a combination of layer2 and layer3 protocol |
| 72 | information to generate the hash. |
Patrick Williams | 8da396c | 2022-03-14 14:21:02 -0500 | [diff] [blame] | 73 | - name: Layer3Plus4 |
| 74 | description: > |
Patrick Williams | a134741 | 2022-12-06 10:56:22 -0600 | [diff] [blame] | 75 | This policy uses upper layer protocol information, when |
| 76 | available, to generate the hash. |
Patrick Williams | 8da396c | 2022-03-14 14:21:02 -0500 | [diff] [blame] | 77 | - name: Encap2Plus3 |
| 78 | description: > |
Patrick Williams | a134741 | 2022-12-06 10:56:22 -0600 | [diff] [blame] | 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. |
Patrick Williams | 8da396c | 2022-03-14 14:21:02 -0500 | [diff] [blame] | 83 | - name: Encap3Plus4 |
| 84 | description: > |
Patrick Williams | a134741 | 2022-12-06 10:56:22 -0600 | [diff] [blame] | 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. |