Re: [dpdk-dev] [EXT] Re: [PATCH v2] net/qede: fix regression introduced by b10231aed1ed
From: Rasesh Mody <rmody@marvell.com>
Date: 2021-01-12 05:55:51
From: Jerin Jacob <redacted> Sent: Tuesday, January 12, 2021 10:21 AM On Mon, Jan 4, 2021 at 7:47 PM Rasesh Mody [off-list ref] wrote:quoted
quoted
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 byb10231aed1ed. Please add Fixes:quoted
quoted
quoted
Signed-off-by: Balazs Nemeth <redacted>Rasesh, Devendra, Waiting for your ack to merge this.quoted
quoted
quoted
--- 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..3bec62d82100644quoted
quoted
quoted
--- 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 thischange.quoted
Thanks, Raseshquoted
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?
Even if promiscuous mode is disabled after the change, allmulti mode setting will persist. Fix looks good to me. Acked-by: Rasesh Mody <rmody@marvell.com> Thanks, Rasesh
quoted
quoted
Igor