Skip to content
  • Róbert Mulik's avatar
    LACP: Check active partner sys id · 6f50056c
    Róbert Mulik authored
    
    
    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: default avatarRobert Mulik <robert.mulik@ericsson.com>
    Signed-off-by: default avatarBen Pfaff <blp@ovn.org>
    6f50056c