[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