[dpdk-dev] [PATCH 1/2] net/bonding: fix MAC address when switching active port

Ferruh Yigit ferruh.yigit at intel.com
Thu Feb 27 18:03:17 CET 2020


On 2/25/2020 9:29 AM, Wei Hu (Xavier) wrote:
> From: "Wei Hu (Xavier)" <xavier.huwei at huawei.com>
> 
> Currently, based on a active-backup bond device, when the link status of
> the primary port changes from up to down, one slave port changes to the
> primary port, but the new primary port's MAC address cannot change to the
> bond device's MAC address. And we can't continue receive packets whose
> destination MAC addresses are the same as the bond devices's MAC address.
> 
> The current bonding PMD driver call mac_address_slaves_update function to
> modify the MAC address of all slaves devices: the primary port using bond
> device's MAC address, and other slaves devices using the respective MAC
> address. We found that one error using primary_port instead of
> current_primary_port in mac_address_slaves_update function.
> 
> On the other hand, The current bonding PMD driver sets slave devices's MAC
> address according to the variable named current_primary_port. The variable
> named current_primary_port changes in the following scenario:
> 1. Add the slave devices to bond, the first slave port will be regardes as
>    the current_primary_port. If changing the order of adding the slave
>    devices, the value of the variable named current_primary_port will be
>    different.
> 2. The upper application specifies primary_port via calling the
>    rte_eth_bond_primary_set API function.
> 3. Delete the primary slave device.
> 4. The link status of the primary port changes from up to down.
> 
> We have tested the above 4 cases and found that there are problems that
> the new primary port's MAC address didn't change to the bond device's MAC
> address when running case 3 and 4. When current_primary_port changes, the
> new primary port's MAC address should change at the same time. We also need
> to call mac_address_slaves_update function to update MAC addresses in case
> 3 and 4.
> 
> For more details please refer to:
> https://bugs.dpdk.org/show_bug.cgi?id=256
> 
> Bugzilla ID: 256
> Fixes: 2efb58cbab6e ("bond: new link bonding library")
> Cc: stable at dpdk.org
> 
> Reported-by: Chunsong Feng <fengchunsong at huawei.com>
> Signed-off-by: Chunsong Feng <fengchunsong at huawei.com>
> Signed-off-by: Wei Hu (Xavier) <xavier.huwei at huawei.com>

Please cc the maintainer on the patches. cc'ed Chas for this one.

I am using './devtools/get-maintainer.sh' script, once you set it up, it helps a
lot.


More information about the dev mailing list