[ovs-dev] [bond 6/7] lacp: Never attach defaulted links.

Ben Pfaff blp at nicira.com
Fri Jan 13 00:45:07 UTC 2012


On Thu, Jan 12, 2012 at 11:40:03AM -0800, Ethan Jackson wrote:
> In the original Open vSwitch LACP implementation, when no slaves
> found a LACP partner, the LACP module would attach all of them.
> This allowed the LACP bond to fall back to a standard bond when
> partnered with a non-LACP switch.  In practice, this has caused
> confusion with marginal benefit, so this feature is removed with
> this patch.
> 
> Signed-off-by: Ethan Jackson <ethan at nicira.com>

This deletes one of the two blank lines we use to separate versions in
NEWS.

Perhaps NEWS should say not only what LACP bonds no longer do, but
what they do now, since that is a natural question for users to ask.

vswitch.xml still claims "If LACP negotiation fails then
<code>balance-slb</code> style flow hashing is used as a fallback:".

Is this commit complete?  It looks like the following code remains in
bond_check_admissibility():

    case BM_TCP:
        /* TCP balancing has degraded to SLB (otherwise the
         * bond->lacp_negotiated check above would have processed this).
         *
         * Fall through. */

whereas I'd expect either a "case BM_TCP: return BV_DROP;" or some
kind of earlier logic similar to

    if (bond->lacp_enabled) {
        if (bond->lacp_negotiated) {
            return slave->enabled ? BV_ACCEPT : BV_DROP;
        } else {
            return BV_DROP;
        }
    }

Does bond_choose_output_slave() need any changes?  (Maybe it works
as-is because LACP wouldn't enable any output slaves?)

Maybe I just don't understand yet.

Thanks,

Ben.



More information about the dev mailing list