From: David Marchand <david.marchand@redhat.com>
To: dev@dpdk.org
Cc: Kishore Padmanabha <kishore.padmanabha@broadcom.com>,
Ajit Khaparde <ajit.khaparde@broadcom.com>,
Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Subject: [PATCH v3 2/2] net/bnxt: fix MAC address removal
Date: Tue, 8 Sep 2026 09:18:53 +0200 [thread overview]
Message-ID: <20260908071854.3419531-2-david.marchand@redhat.com> (raw)
In-Reply-To: <20260908071854.3419531-1-david.marchand@redhat.com>
MAC addresses removal was tied with VMDq pools even when not used.
So if VMDq is not enabled, no address would be ever removed.
Fixes: f9ddb36e0065 ("ethdev: skip VMDq pools unless configured")
Signed-off-by: David Marchand <david.marchand@redhat.com>
---
drivers/net/bnxt/bnxt_ethdev.c | 15 +++++++++++++--
1 file changed, 13 insertions(+), 2 deletions(-)
diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
index c6f566c214..178814509e 100644
--- a/drivers/net/bnxt/bnxt_ethdev.c
+++ b/drivers/net/bnxt/bnxt_ethdev.c
@@ -2019,7 +2019,7 @@ 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;
@@ -2027,6 +2027,11 @@ static void bnxt_mac_addr_remove_op(struct rte_eth_dev *eth_dev,
if (is_bnxt_in_error(bp))
return;
+ if ((eth_dev->data->dev_conf.rxmode.mq_mode & RTE_ETH_MQ_RX_VMDQ_FLAG) == 0)
+ pool_mask = 1;
+ else
+ pool_mask = eth_dev->data->mac_pool_sel[index];
+
/*
* Loop through all VNICs from the specified filter flow pools to
* remove the corresponding MAC addr filter
@@ -4540,6 +4545,7 @@ static int bnxt_restore_mac_filters(struct bnxt *bp)
uint64_t pool_mask;
uint32_t pool = 0;
uint32_t i;
+ bool vmdq;
int rc;
if (BNXT_VF(bp) && !BNXT_VF_IS_TRUSTED(bp))
@@ -4549,6 +4555,8 @@ static int bnxt_restore_mac_filters(struct bnxt *bp)
if (rc)
return rc;
+ vmdq = (dev->data->dev_conf.rxmode.mq_mode & RTE_ETH_MQ_RX_VMDQ_FLAG) != 0;
+
/* replay MAC address configuration */
for (i = 1; i < dev_info.max_mac_addrs; i++) {
addr = &dev->data->mac_addrs[i];
@@ -4558,7 +4566,10 @@ static int bnxt_restore_mac_filters(struct bnxt *bp)
continue;
pool = 0;
- pool_mask = dev->data->mac_pool_sel[i];
+ if (!vmdq)
+ pool_mask = 1;
+ else
+ pool_mask = dev->data->mac_pool_sel[i];
do {
if (pool_mask & 1ULL) {
--
2.54.0
next prev parent reply other threads:[~2026-09-08 7:19 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-04 12:16 [PATCH 1/2] net/i40e: fix MAC address removal David Marchand
2026-09-04 12:16 ` [PATCH 2/2] net/bnxt: " David Marchand
2026-09-04 13:08 ` [PATCH 1/2] net/i40e: " David Marchand
2026-09-07 11:17 ` [PATCH v2 " David Marchand
2026-09-07 11:17 ` [PATCH v2 2/2] net/bnxt: " David Marchand
2026-09-07 17:17 ` Stephen Hemminger
2026-09-07 12:57 ` [PATCH v2 1/2] net/i40e: " Bruce Richardson
2026-09-07 13:21 ` David Marchand
2026-09-07 13:40 ` Bruce Richardson
2026-09-08 7:18 ` [PATCH v3 " David Marchand
2026-09-08 7:18 ` David Marchand [this message]
2026-09-08 14:23 ` [PATCH v3 2/2] net/bnxt: " Stephen Hemminger
2026-09-08 7:38 ` [PATCH v3 1/2] net/i40e: " Bruce Richardson
2026-09-08 14:23 ` Stephen Hemminger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260908071854.3419531-2-david.marchand@redhat.com \
--to=david.marchand@redhat.com \
--cc=ajit.khaparde@broadcom.com \
--cc=andrew.rybchenko@oktetlabs.ru \
--cc=dev@dpdk.org \
--cc=kishore.padmanabha@broadcom.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox