Re: [dpdk-dev] [EXT] Re: [PATCH v2] net/qede: fix regression introduced by b10231aed1ed
From: Rasesh Mody <rmody@marvell.com>
Date: 2021-01-04 14:17:45
From: dev <redacted> On Behalf Of Igor Russkikh Sent: Monday, January 4, 2021 6:15 PMquoted
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.cb/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(structrte_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.
Please Cc: stable@dpdk.org so that all the stable releases also integrate this change. Thanks, Rasesh
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