[ovs-git] [openvswitch/ovs] 6f5005: LACP: Check active partner sys id
GitHub
noreply at github.com
Tue Jan 23 23:49:45 UTC 2018
Branch: refs/heads/master
Home: https://github.com/openvswitch/ovs
Commit: 6f50056c4fe7e1ae2eb3baa9086796686dc6e0e7
https://github.com/openvswitch/ovs/commit/6f50056c4fe7e1ae2eb3baa9086796686dc6e0e7
Author: Róbert Mulik <robert.mulik at ericsson.com>
Date: 2018-01-23 (Tue, 23 Jan 2018)
Changed paths:
M lib/lacp.c
Log Message:
-----------
LACP: Check active partner sys id
A reboot of one switch in an MC-LAG bond makes all bond links
to go down, causing a total connectivity loss for 3 seconds.
Packet capture shows that spurious LACP PDUs are sent to OVS with
a different MAC address (partner system id) during the final
stages of the MC-LAG switch reboot. The current implementation
doesn't care about the partner sys_id (MAC address).
The code change based on the following:
- If an interface (lead interface) on a bond has an "attached"
LACP connection, then any other slaves on that bond is allowed
to become active only when its partner's sys_id is the same as
the partner's sys_id of the lead interface.
- So, when a slave interface of a bond becomes "current" (it gets
valid LACP information), first checks if there is already an
active interface on the bond.
- If there is a lead, the slave checks for the partner sys_ids,
and becomes active only when they are the same, otherwise it
remains in "current" state, but "detached".
- If there is no lead, it follows the old way, and accepts any
partner sys_id.
Signed-off-by: Robert Mulik <robert.mulik at ericsson.com>
Signed-off-by: Ben Pfaff <blp at ovn.org>
More information about the git
mailing list