> From: dev <dev-boun...@dpdk.org> On Behalf Of Igor Russkikh > Sent: Monday, January 4, 2021 6:15 PM > > > 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 <bnem...@redhat.com> > > --- > > 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.
Please Cc: sta...@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