- allows for load balancing and fail-over. Open vSwitch supports
- ``source load balancing'' (SLB) and "active backup" bonding. SLB
- bonding assigns flows to slaves based on source MAC address and output
- VLAN, with periodic rebalancing as traffic patterns change. Active
- backup bonding assigns all flows to one slave, failing over to a backup
- slave when the active slave is disabled. Neither form of bonding
- require 802.3ad or other special support from the upstream switch to
- which the slave devices are connected.</p>
+ allows for load balancing and fail-over. Some kinds of bonding will
+ work with any kind of upstream switch:</p>
+
+ <dl>
+ <dt><code>balance-slb</code></dt>
+ <dd>
+ Balances flows among slaves based on source MAC address and output
+ VLAN, with periodic rebalancing as traffic patterns change.
+ </dd>
+
+ <dt><code>active-backup</code></dt>
+ <dd>
+ Assigns all flows to one slave, failing over to a backup slave when
+ the active slave is disabled.
+ </dd>
+ </dl>
+
+ <p>
+ The following modes require the upstream switch to support 802.3ad with
+ successful LACP negotiation. If LACP negotiation fails then
+ <code>balance-slb</code> style flow hashing is used as a fallback:
+ </p>
+
+ <dl>
+ <dt><code>balance-tcp</code></dt>
+ <dd>
+ Balances flows among slaves based on L2, L3, and L4 protocol
+ information such as destination MAC address, IP address, and TCP
+ port.
+ </dd>
+ </dl>
+
+ <dl>
+ <dt><code>stable</code></dt>
+ <dd>
+ <p>Attempts to always assign a given flow to the same slave
+ consistently. In an effort to maintain stability, no load
+ balancing is done. Uses a similar hashing strategy to
+ <code>balance-tcp</code>, falling back to <code>balance-slb</code>
+ style hashing when LACP negotiations are unsuccessful.</p>
+ <p>Slave selection decisions are made based on LACP port ID when LACP
+ negotiations are successful, falling back to openflow port number
+ when unsuccessful. Thus, decisions are consistent across all
+ ovs-vswitchd instances with equivalent port IDs.</p>
+ </dd>
+ </dl>