]> git.proxmox.com Git - ovs.git/commit
lacp: Don't send or receive PDUs when carrier state of slave is down
authorNitin Katiyar <nitin.katiyar@ericsson.com>
Sun, 9 Jun 2019 14:18:10 +0000 (14:18 +0000)
committerBen Pfaff <blp@ovn.org>
Mon, 10 Jun 2019 16:12:02 +0000 (09:12 -0700)
commitb3e8cd6b36a2db4f47223bc5dea580a1f5b4ebff
treee2dc124e4b0e4c38280ff833c21804846c5fd52f
parenta8448cb170e3bbe0ca73c7c72aead11b4ec77e29
lacp: Don't send or receive PDUs when carrier state of slave is down

Fortville NICs (or their drivers) can get into an inconsistent state,
in which the NIC can actually transmit and receive packets even
though they report "PHY down". In such a state, OVS can exchange and
process LACP messages and enable a LACP slave. However, further packet
exchange over the slave fails because OVS sees that the PHY is down.

This commit fixes the problem by making OVS ignore received LACP PDUs
and suppress transmitting LACP PDUs when carrier is down. In addition,
when a LACP PDU is received with carrier down, this commit triggers
rechecking the carrier status (by incrementing the connectivity sequence
number) to ensure that it is updated as quickly as possible.

Signed-off-by: Manohar Krishnappa Chidambaraswamy <manukc@gmail.com>
Co-authored-by: Manohar Krishnappa Chidambaraswamy <manukc@gmail.com>
Signed-off-by: Nitin Katiyar <nitin.katiyar@ericsson.com>
Signed-off-by: Ben Pfaff <blp@ovn.org>
lib/lacp.c
lib/lacp.h
ofproto/ofproto-dpif.c