summaryrefslogtreecommitdiffstats
path: root/xyz/openbmc_project/Network/Experimental/Bond.interface.yaml
blob: 2120875d1763d0b4c82581fa328374bfd57f3e8a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
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.
OpenPOWER on IntegriCloud