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 19:00:20 +0000 (12:00 -0700)
commit8d01553b96ffedc1040fa9720617bf28c2d8a4d9
treedcff9e68752542013678747594ab2a05924cfd52
parent4ae2b2c1c4c345d0cb5f5a6b0f20fd6afb4a6962
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