bridge: Keep bond active slave selection across OVS restart
authorAndy Zhou <azhou@nicira.com>
Sun, 5 Oct 2014 06:35:30 +0000 (23:35 -0700)
committerAndy Zhou <azhou@nicira.com>
Mon, 6 Oct 2014 17:23:46 +0000 (10:23 -0700)
commit3e5aeeb581faf7d69c09acbff7b0717ad5f27810
treecb8a5e17ed0e5c933141d84dd20d6cf011d4d875
parent705e9260d54d55ed1d484a8fead27f33f714a94c
bridge: Keep bond active slave selection across OVS restart

Whenever OVS restarts, it pseudo-randomly picks an interface
of a bond port to be the active slave. This can cause traffic
disruption in case the upstream switch does not support LACP, or
in case of multi-chassis switches that do not support mLACP.

This patch helps the situation by always record the last active
slave into ovsdb. When OVS restarts, the stored last active slave
has the highest priority to be selected again. In case this interface
is available, due to configuration changes or being offline, OVS then
consider other interfaces with the bond as it does today.

In a nutshell, this patch makes the active slave selection stickier
across OVS restart.

VMware-BZ:  1332235

Signed-off-by: Andy Zhou <azhou@nicira.com>
Acked-by: Alex Wang <alexw@nicira.com>
NEWS
ofproto/bond.c
ofproto/bond.h
tests/lacp.at
vswitchd/bridge.c
vswitchd/vswitch.ovsschema
vswitchd/vswitch.xml