Thread (6 messages) 6 messages, 4 authors, 2021-01-14

Re: [dpdk-dev] [PATCH v2] net/qede: fix regression introduced by b10231aed1ed

From: Igor Russkikh <hidden>
Date: 2021-01-04 12:44:48

quoted hunk ↗ jump to hunk
When calling rte_eth_promiscuous_enable(port_id) followed by
rte_eth_allmulticast_enable(port_id), the port is not in promisc mode
anymore. This patch ensures that promisc mode takes precedence over
allmulticast mode fixing the regression introduced by b10231aed1ed.

Signed-off-by: Balazs Nemeth <redacted>
---
 drivers/net/qede/qede_ethdev.c | 2 ++
 1 file changed, 2 insertions(+)
diff --git a/drivers/net/qede/qede_ethdev.c
b/drivers/net/qede/qede_ethdev.c
index 549013557..3bec62d82 100644
--- a/drivers/net/qede/qede_ethdev.c
+++ b/drivers/net/qede/qede_ethdev.c
@@ -1885,6 +1885,8 @@ static int qede_allmulticast_enable(struct
rte_eth_dev *eth_dev)
 	    QED_FILTER_RX_MODE_TYPE_MULTI_PROMISC;
 	enum _ecore_status_t ecore_status;

+	if (rte_eth_promiscuous_get(eth_dev->data->port_id) == 1)
+		type = QED_FILTER_RX_MODE_TYPE_PROMISC;
 	ecore_status = qed_configure_filter_rx_mode(eth_dev, type);

 	return ecore_status >= ECORE_SUCCESS ? 0 : -EAGAIN;
Hi Balazs, thanks for posting!

I think we need Fixes tag here.

Devendra, could you please check if thats enough? May be we should consider
more of internal states here? What if we'll do promisc_disable() after that?
Will allmulti state persist?

Igor
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help