net/bonding: fix LACP system address check
authorVadim Podovinnikov <podovinnikov@protei.ru>
Wed, 17 Feb 2021 16:26:55 +0000 (16:26 +0000)
committerFerruh Yigit <ferruh.yigit@intel.com>
Mon, 8 Mar 2021 11:32:33 +0000 (12:32 +0100)
commitfad80ab3698e7f7d3e9c2a28c371da6a17fbc477
tree4f00ee3e1f72dc623a847950c643cff83e483fd1
parent1e28e842e08428ff5716fbe909bf5acd0365aaf6
net/bonding: fix LACP system address check

In bond (LACP) we have several NICs (ports), when we have negotiation
with peer about what port we prefer, we send information about what
system we preferred in partner system name field. Peer also sends us
what partner system name it prefer.

When we receive a message from it we must compare its preferred system
name with our system name, but not with our port mac address

In my test I have several problems with that:
1. If master port (mac address same as system address) shuts down (I
   have two ports) I loose connection
2. If secondary port (mac address not same as system address) receives
   message before master port, my connection is not established.

Fixes: 56cbc0817399 ("net/bonding: fix LACP negotiation")
Cc: stable@dpdk.org
Signed-off-by: Vadim Podovinnikov <podovinnikov@protei.ru>
Acked-by: Min Hu (Connor) <humin29@huawei.com>
drivers/net/bonding/rte_eth_bond_8023ad.c