[dpdk-dev] [PATCH] examples/ipv4_multicast: enable multicast promiscuous for all port

Zhao1, Wei wei.zhao1 at intel.com
Wed Oct 24 10:11:24 CEST 2018


Add Wang Dong in the mailing list, he has test this patch.


> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Zhao1, Wei
> Sent: Wednesday, October 17, 2018 4:09 PM
> To: dev at dpdk.org
> Cc: stable at dpdk.org; Zhang, Qi Z <qi.z.zhang at intel.com>; Yigit, Ferruh
> <ferruh.yigit at intel.com>
> Subject: Re: [dpdk-dev] [PATCH] examples/ipv4_multicast: enable multicast
> promiscuous for all port
> 
> By the way, I think the maintainer's opinion is important for this change, but
> there is no maintainer name for this example in file MAINTAINERS!
> 
> > -----Original Message-----
> > From: Zhao1, Wei
> > Sent: Wednesday, October 17, 2018 3:41 PM
> > To: dev at dpdk.org
> > Cc: stable at dpdk.org; Zhang, Qi Z <qi.z.zhang at intel.com>; Yigit, Ferruh
> > <ferruh.yigit at intel.com>; Zhao1, Wei <wei.zhao1 at intel.com>
> > Subject: [PATCH] examples/ipv4_multicast: enable multicast promiscuous
> > for all port
> >
> > This example has not been enable for receiving multicast packet, so it
> > will drop multicast packet. Users must send packet with ether MAC
> > destination address the same as pf port MAC address, in order to
> > forward packet successfully, but this is an example for forwarding
> > ipv4 multicastpacket. So calling function
> > rte_eth_promiscuous_enable() or rte_eth_allmulticast_enable() can
> > enable promiscuous mode of all multicast packet. And aslo, DPDK has
> > rte API function of rte_eth_dev_set_mc_addr_list() for setting
> > specific multicast filter table for specific multicast IP address, but
> > this example do not support this configuration, so it need to be
> > enable multicast promiscuous mode instead.
> >
> > Signed-off-by: Wei Zhao <wei.zhao1 at intel.com>
> > ---
> >  examples/ipv4_multicast/main.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/examples/ipv4_multicast/main.c
> > b/examples/ipv4_multicast/main.c index 6530d48..4073a49 100644
> > --- a/examples/ipv4_multicast/main.c
> > +++ b/examples/ipv4_multicast/main.c
> > @@ -773,7 +773,7 @@ main(int argc, char **argv)
> >  			qconf->tx_queue_id[portid] = queueid;
> >  			queueid++;
> >  		}
> > -
> > +		rte_eth_allmulticast_enable(portid);
> >  		/* Start device */
> >  		ret = rte_eth_dev_start(portid);
> >  		if (ret < 0)
> > --
> > 2.7.5



More information about the dev mailing list