| description: > |
| This defines network bonding parameters. |
| |
| # TODO Fix it through https://github.com/openbmc/openbmc/issues/1438 |
| # creatable: true |
| |
| properties: |
| - name: InterfaceName |
| type: string |
| description: > |
| Name of the interface. |
| - name: BondedInterfaces |
| type: array[string] |
| description: > |
| Interfaces which needs to be bonded. |
| - name: Mode |
| type: enum[self.BondingMode] |
| description: > |
| Network interface bonding modes. |
| default: RoundRobin |
| - name: TransmitHashPolicy |
| type: enum[self.HashPolicy] |
| description: |
| Selects the transmit hash policy to use for slave selection in |
| balance-xor, 802.3ad, and tlb modes. |
| default: Layer2 |
| |
| enumerations: |
| - name: BondingMode |
| description: > |
| Possible bonding mode types. |
| values: |
| - name: RoundRobin |
| description: > |
| It is the default mode,in this mode system transmits packets in |
| sequential order from the first available slave through the |
| last. |
| - name: ActiveBackup |
| description: > |
| In this mode, only one slave in the bond is active. The other |
| one will become active, only when the active slave fails. |
| - name: XOR |
| description: > |
| Transmit based on selectable hashing algorithm. The default |
| policy is a simple source+destination MAC address algorithm. |
| - name: Broadcast |
| description: > |
| Transmits everything on all slave interfaces. |
| - name: Dynamic |
| description: > |
| IEEE 802.3ad Dynamic link aggregation. |
| - name: TLB |
| description: > |
| The outgoing traffic is distributed according to the current |
| load on each slave. |
| - name: ALB |
| description: > |
| Incoming/outgoing traffic is distributed according to the |
| current load on each slave. |
| |
| - name: HashPolicy |
| description: > |
| Possible policy types. |
| values: |
| - name: Layer2 |
| description: > |
| This policy uses XOR of hardware MAC addresses and packet type |
| ID field to generate the hash. |
| - name: Layer2Plus3 |
| description: > |
| This policy uses a combination of layer2 and layer3 protocol |
| information to generate the hash. |
| - name: Layer3Plus4 |
| description: > |
| This policy uses upper layer protocol information, when |
| available, to generate the hash. |
| - name: Encap2Plus3 |
| description: > |
| This policy uses the same formula as layer2+3 but it relies on |
| skb_flow_dissect to obtain the header fields which might result |
| in the use of inner headers if an encapsulation protocol is |
| used. |
| - name: Encap3Plus4 |
| description: > |
| This policy uses the same formula as layer3+4 but it relies on |
| skb_flow_dissect to obtain the header fields which might result |
| in the use of inner headers if an encapsulation protocol is |
| used. |