[ovs-dev] [RFC] bridge: Keep bond active slave selection across OVS restart
Ben Pfaff
blp at nicira.com
Fri Oct 3 21:44:17 UTC 2014
On Fri, Oct 03, 2014 at 01:28:07AM -0700, Andy Zhou wrote:
> 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
I think there might be a problem with IDL transactions; are you sure
that a transaction is being opened and committed around setting the
column?
I see some missing {} around single-statement blocks.
Do you think that the MAC address is the best way to identify a slave?
I am not sure that it is necessarily unique. Other options include a
weak reference to the interface or the name of the interface.
I am not sure what you mean by "Openvswitch internal use only." Maybe
you mean that only ovs-vswitchd should write to the column, and other
clients should only read it. Usually we say that by saying that a
column "reports" information or that it is a "status" column.
> + <column name="bond_last_active_iface">
> + For a bonded port, record the mac address of the last active slave.
> + Openvswitch internal use only.
> + </column>
More information about the dev
mailing list