Hi, Thomas,
The dev->data->mac_addrs[0] will be changed to a new MAC address when
applications modify
the default MAC address by rte_eth_dev_default_mac_addr_set() API.
However, If the new default
MAC address has been added as a non-default MAC address by
rte_eth_dev_mac_addr_add() API, the
rte_eth_dev_default_mac_addr_set() API doesn't remove it from
dev->data->mac_addrs[].
As a result, one MAC address occupies two index capacities in
dev->data->mac_addrs[].
This patch adds the logic of removing MAC addresses for this scenario.
Is that will be more clear? Hope for your reply
在 2021/10/8 18:04, Thomas Monjalon 写道:
08/10/2021 09:02, Min Hu (Connor):
Hi, Thomas,
在 2021/10/6 3:21, Thomas Monjalon 写道:
22/09/2021 05:36, Min Hu (Connor):
From: Huisong Li <lihuis...@huawei.com>
Use the testpmd to perform the following operations:
1) mac_addr add 0 00:18:2D:00:00:90
2) mac_addr add 0 00:18:2D:00:00:91
3) mac_addr add 0 00:18:2D:00:00:92
4) mac_addr set 0 00:18:2D:00:00:91
5) show port 0 macs
Number of MAC address added: 4
00:18:2D:00:00:91
00:18:2D:00:00:90
00:18:2D:00:00:91
00:18:2D:00:00:92
Please describe with words.
Reading similar MAC addresses is not a fun game.
I do not catch you, could you please be
more detailed, thanks.
Me too, I don't catch you.
Please explain the problem in the commit log
so we can understand without the example.
This is due to the reason that if the address has been added as a
non-default MAC address by rte_eth_dev_mac_addr_add API, it doesn't remove
from dev->data->mac_addrs[] when set default MAC address with the same
address.
Fixes: 854d8ad4ef68 ("ethdev: add default mac address modifier")
Cc: sta...@dpdk.org
Signed-off-by: Huisong Li <lihuis...@huawei.com>
Signed-off-by: Min Hu (Connor) <humi...@huawei.com>
.