[PATCH v2 2/2] net/bnxt: fix MAC address removal
Stephen Hemminger
stephen at networkplumber.org
Mon Sep 7 19:17:42 CEST 2026
On Mon, 7 Sep 2026 13:17:24 +0200
David Marchand <david.marchand at redhat.com> wrote:
> diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
> index c6f566c214..d37e2d16c9 100644
> --- a/drivers/net/bnxt/bnxt_ethdev.c
> +++ b/drivers/net/bnxt/bnxt_ethdev.c
> @@ -2019,14 +2019,21 @@ static void bnxt_mac_addr_remove_op(struct rte_eth_dev *eth_dev,
> uint32_t index)
> {
> struct bnxt *bp = eth_dev->data->dev_private;
> - uint64_t pool_mask = eth_dev->data->mac_pool_sel[index];
> + uint64_t pool_mask;
> struct bnxt_vnic_info *vnic;
> struct bnxt_filter_info *filter, *temp_filter;
> uint32_t i;
> + bool vmdq;
>
> if (is_bnxt_in_error(bp))
> return;
>
> + vmdq = (eth_dev->data->dev_conf.rxmode.mq_mode & RTE_ETH_MQ_RX_VMDQ_FLAG) != 0;
> + if (!vmdq)
> + pool_mask = 1;
> + else
> + pool_mask = eth_dev->data->mac_pool_sel[index];
> +
Why bother with the vmdq temporary at all here?
if (eth_dev->data->dev_conf.rxmode.mq_mode & RTE_ETH_MQ_RX_VMDQ_FLAG)
pool_mask = 1;
else
pool_mask = eth_dev->data->mac_pool_sel[index];
Or use ternary if you want here.
More information about the dev
mailing list