[ovs-dev] [PATCH 7/8] vswitchd: Implement balance-tcp bonding.

Ben Pfaff blp at nicira.com
Thu Feb 3 00:37:27 UTC 2011


On Wed, Feb 02, 2011 at 01:27:17PM -0800, Ethan Jackson wrote:
> diff --git a/vswitchd/vswitch.xml b/vswitchd/vswitch.xml
> index d9e71b3..0fa09d6 100644
> --- a/vswitchd/vswitch.xml
> +++ b/vswitchd/vswitch.xml
> @@ -509,21 +509,29 @@
>      <group title="Bonding Configuration">
>        <p>A port that has more than one interface is a ``bonded port.'' Bonding
>          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>
> +        <code>balance-slb</code>, <code>balance-tcp</code>, and
> +        <code>active-backup</code> bonding.  <code>balance-slb</code> bonding
> +        assigns flows to slaves based on source MAC address and output VLAN,
> +        with periodic rebalancing as traffic patterns change.
> +        <code>balance-tcp</code> behaves like <code>balance-slb</code>, but
> +        additionally takes into account L2, L3, and L4 protocol information
> +        such as such as destination MAC address, IP address, and TCP port.
> +        <code>active-backup</code> bonding assigns all flows to one slave,
> +        failing over to a backup slave when the active slave is disabled.
> +        Neither <code>balance-slb</code> nor <code>active-backup</code> require
> +        802.3ad or other special support from the upstream switch to which the
> +        slave devices are connected.  <code>balance-tcp</code> requires
> +        successful LACP negotiations and will fall back to
> +        <code>balance-slb</code> style hashing otherwise.
> +      </p>

It looks OK (I see a doubled "such as" in the middle).  Maybe we can
phrase it in a way that helps people decide what they should be using,
e.g.:

      <p>A port that has more than one interface is a ``bonded port.''
        Bonding 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 mode requires the upstream switch to support
        802.3ad with successful LACP negotiation.  If LACP negotiation
        fails then <code>balance-slb</code> mode isused 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>




More information about the dev mailing list