Appendix C. Open vSwitch Bonding Options
The Overcloud provides networking through Open vSwitch (OVS), which provides several options for bonded interfaces. In Section 8.2, “Creating a Network Environment File”, you can configure a bonded interface in the network environment file using the following parameter:
BondInterfaceOvsOptions: "bond_mode=balance-slb"
C.1. Choosing a Bond Mode
By default, you cannot use LACP with OVS-based bonds. This configuration is not supported due to a known issue with some versions of Open vSwitch. Instead, consider using bond_mode=balance-slb as a replacement for this functionality. In addition, you can still use LACP with Linux bonding in your network interface templates. For example:
- type: linux_bond name: bond1 members: - type: interface name: nic2 - type: interface name: nic3 bonding_options: "mode=802.3ad lacp_rate=[fast|slow] updelay=1000 miimon=100"
-
mode
- enables LACP. -
lacp_rate
- defines whether LACP packets are sent every 1 second, or every 30 seconds. -
updelay
- defines the minimum amount of time that an interface must be active before it is used for traffic (this helps mitigate port flapping outages). -
miimon
- the interval in milliseconds that is used for monitoring the port state using the driver’s MIIMON functionality.
If you still want to use LACP with OVS-base bonds, you can manually delete the following lines from each network interface configuration (NIC) file before deployment:
constraints: - allowed_pattern: "^((?!balance.tcp).)*$" description: | The balance-tcp bond mode is known to cause packet loss and should not be used in BondInterfaceOvsOptions.
After you delete the constraint from each NIC file, you can set the bond mode option in the bond interface parameter:
BondInterfaceOvsOptions: "bond_mode=balance-tcp"
For the technical details behind this constraint, see BZ#1267291.
For more information on Linux bonding options, see 4.5.1. Bonding Module Directives in the Red Hat Enterprise Linux 7 Networking Guide.
C.2. Bonding Options
The following table provides some explanation of these options and some alternatives depending on your hardware.
|
Balances flows based on source MAC address and output VLAN, with periodic rebalancing as traffic patterns change. Bonding with |
| This mode offers active/standby failover where the standby NIC resumes network operations when the active connection fails. Only one MAC address is presented to the physical switch. This mode does not require any special switch support or configuration, and works when the links are connected to separate switches. This mode does not provide load balancing. |
|
Controls the Link Aggregation Control Protocol (LACP) behavior. Only certain switches support LACP. If your switch does not support LACP, use |
| Sets the LACP behavior to switch to bond_mode=active-backup as a fallback. |
| Set the LACP heartbeat to 1 second (fast) or 30 seconds (slow). The default is slow. |
| Set the link detection to use miimon heartbeats (miimon) or monitor carrier (carrier). The default is carrier. |
| If using miimon, set the heartbeat interval in milliseconds. |
| Number of milliseconds a link must be up to be activated to prevent flapping. |
| Milliseconds between rebalancing flows between bond members. Set to zero to disable. |
If you experience packet drops or performance issues using Linux bonds with Provider networks, consider disabling Large Receive Offload (LRO) on the standby interfaces. Avoid adding a Linux bond to an OVS bond, as port-flapping and loss of connectivity can occur. This is a result of a packet-loop through the standby interface.