net/mlx5: fix reception of multiple MAC addresses
When promiscuous is disabled, adding/removing a mac address is ignored causing the packet to not be received or still being received corresponding to the add or remove request. Fixes: 272733b5ebfd ("net/mlx5: use flow to enable unicast traffic") Cc: stable@dpdk.org Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com> Acked-by: Shahaf Shuler <shahafs@mellanox.com>
This commit is contained in:
parent
c1236ad707
commit
5a29b9a35a
@ -95,7 +95,7 @@ mlx5_mac_addr_remove(struct rte_eth_dev *dev, uint32_t index)
|
||||
{
|
||||
assert(index < MLX5_MAX_MAC_ADDRESSES);
|
||||
memset(&dev->data->mac_addrs[index], 0, sizeof(struct ether_addr));
|
||||
if (!dev->data->promiscuous && !dev->data->all_multicast)
|
||||
if (!dev->data->promiscuous)
|
||||
mlx5_traffic_restart(dev);
|
||||
}
|
||||
|
||||
@ -134,7 +134,7 @@ mlx5_mac_addr_add(struct rte_eth_dev *dev, struct ether_addr *mac,
|
||||
return EADDRINUSE;
|
||||
}
|
||||
dev->data->mac_addrs[index] = *mac;
|
||||
if (!dev->data->promiscuous && !dev->data->all_multicast)
|
||||
if (!dev->data->promiscuous)
|
||||
mlx5_traffic_restart(dev);
|
||||
return ret;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user