[dpdk-stable] [PATCH 19.11 1/2] net/bnxt: fix MAC address setting when port is stopped
Kalesh A P
kalesh-anakkur.purayil at broadcom.com
Wed Mar 11 04:56:58 CET 2020
From: Kalesh AP <kalesh-anakkur.purayil at broadcom.com>
[upstream commit 1009a632c851f687b7f6ccf64875552afbac5c46 ]
Driver destroys the VNIC when the port is brought down.
Port HW filter setting such as default MAC address and
unicast MAC filters will be applied when port is started.
Fixed to return success silently for these callbacks
when port is stopped.
Fixes: 39b88344e364 ("net/bnxt: fix enable/disable VLAN filtering")
Reported-by: Stephen Hemminger <stephen at networkplumber.org>
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil at broadcom.com>
Reviewed-by: Ajit Khaparde <ajit.khaparde at broadcom.com>
Reviewed-by: Somnath Kotur <somnath.kotur at broadcom.com>
---
drivers/net/bnxt/bnxt_ethdev.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c
index 802045d..c0b965b 100644
--- a/drivers/net/bnxt/bnxt_ethdev.c
+++ b/drivers/net/bnxt/bnxt_ethdev.c
@@ -1083,6 +1083,10 @@ static int bnxt_mac_addr_add_op(struct rte_eth_dev *eth_dev,
return -EINVAL;
}
+ /* Filter settings will get applied when port is started */
+ if (!eth_dev->data->dev_started)
+ return 0;
+
rc = bnxt_add_mac_filter(bp, vnic, mac_addr, index, pool);
return rc;
@@ -2076,6 +2080,10 @@ bnxt_set_default_mac_addr_op(struct rte_eth_dev *dev,
if (rte_is_zero_ether_addr(addr))
return -EINVAL;
+ /* Filter settings will get applied when port is started */
+ if (!dev->data->dev_started)
+ return 0;
+
/* Check if the requested MAC is already added */
if (memcmp(addr, bp->mac_addr, RTE_ETHER_ADDR_LEN) == 0)
return 0;
--
2.10.1
More information about the stable
mailing list