> 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

Reply via email to