diff options
author | Jeff Squyres <jsquyres@cisco.com> | 2020-07-09 16:57:47 -0700 |
---|---|---|
committer | Ilya Maximets <i.maximets@ovn.org> | 2020-07-17 01:42:18 +0200 |
commit | b4e50218a0f8da43ffe7c420826ddb19985b0b03 (patch) | |
tree | 6a1165290aaa335210bd168b0006e94a8fb304ea /vswitchd/vswitch.xml | |
parent | 12d0edd75eba3e9262c44fa77938b27bda491e79 (diff) | |
download | openvswitch-b4e50218a0f8da43ffe7c420826ddb19985b0b03.tar.gz |
bond: Add 'primary' interface concept for active-backup mode.
In AB bonding, if the current active slave becomes disabled, a
replacement slave is arbitrarily picked from the remaining set of
enabled slaves. This commit adds the concept of a "primary" slave: an
interface that will always be (or become) the current active slave if
it is enabled.
The rationale for this functionality is to allow the designation of a
preferred interface for a given bond. For example:
1. Bond is created with interfaces p1 (primary) and p2, both enabled.
2. p1 becomes the current active slave (because it was designated as
the primary).
3. Later, p1 fails/becomes disabled.
4. p2 is chosen to become the current active slave.
5. Later, p1 becomes re-enabled.
6. p1 is chosen to become the current active slave (because it was
designated as the primary)
Note that p1 becomes the active slave once it becomes re-enabled, even
if nothing has happened to p2.
This "primary" concept exists in Linux kernel network interface
bonding, but did not previously exist in OVS bonding.
Only one primary slave interface is supported per bond, and is only
supported for active/backup bonding.
The primary slave interface is designated via
"other_config:bond-primary" when creating a bond.
Also, while adding tests for the "primary" concept, make a few small
improvements to the non-primary AB bonding test.
Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
Reviewed-by: Aaron Conole <aconole@redhat.com>
Tested-by: Greg Rose <gvrose8192@gmail.com>
Acked-by: Greg Rose <gvrose8192@gmail.com>
Acked-by: Flavio Leitner <fbl@sysclose.org>
Signed-off-by: Ilya Maximets <i.maximets@ovn.org>
Diffstat (limited to 'vswitchd/vswitch.xml')
-rw-r--r-- | vswitchd/vswitch.xml | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/vswitchd/vswitch.xml b/vswitchd/vswitch.xml index b6acb34ca..5fd15ce4f 100644 --- a/vswitchd/vswitch.xml +++ b/vswitchd/vswitch.xml @@ -2003,6 +2003,14 @@ This knob does not affect other balancing modes. </column> + <column name="other_config" key="bond-primary" + type='{"type": "string"}'> + If a slave interface with this name exists in the bond and + is up, it will be made active. Relevant only when <ref + column="other_config" key="bond_mode"/> is + <code>active-backup</code>. + </column> + <group title="Link Failure Detection"> <p> An important part of link bonding is detecting that links are down so |