[dpdk-dev] Duplicating traffic with RTE Flow

Jiawei(Jonny) Wang jiaweiw at nvidia.com
Wed Sep 23 04:28:03 CEST 2020


Hi Jan,

Sorry for late response, Could you check the below latest patches that support flow-based traffic sampling? (based on: net/enic: support VXLAN decap action combined with VLAN pop)
https://patchwork.dpdk.org/project/dpdk/list/?series=12410

" The solution introduces a new action that will sample the incoming
traffic and send a duplicated traffic with the specified ratio to the
application, while the original packet will continue to the target
destination."
And,
 set sample_actions 1 port_id id 1 / end
   flow create 0 ... pattern eth / end actions
	sample ratio 1 index 1 / port_id id 2...
The flow will result in all the matched ingress packets will be sent to
port 2, and also mirrored the packets and sent to port 1.

Thanks.
B.R.

Jonny

> -----Original Message-----
> From: Jan Viktorin <viktorin at cesnet.cz>
> Sent: Tuesday, September 22, 2020 4:04 AM
> To: Asaf Penso <asafp at nvidia.com>
> Cc: dev at dpdk.org; Ori Kam <orika at nvidia.com>; Jiawei(Jonny) Wang
> <jiaweiw at nvidia.com>; Slava Ovsiienko <viacheslavo at nvidia.com>
> Subject: Re: [dpdk-dev] Duplicating traffic with RTE Flow
> 
> On Fri, 18 Sep 2020 14:23:42 +0000
> Asaf Penso <asafp at nvidia.com> wrote:
> 
> > Hello Jan,
> >
> > You can have a look in series [1] where we propose to add APIs to
> DPDK20.11 for both mirroring and sampling for packets, with additional
> actions of the different traffic.
> >
> > [1]
> >
> https://nam11.safelinks.protection.outlook.com/?url=http%3A%2F%2Fpatch
> >
> es.dpdk.org%2Fproject%2Fdpdk%2Flist%2F%3Fseries%3D12045&data=
> 02%7C
> >
> 01%7Cjiaweiw%40nvidia.com%7C8c9585855f9640f37ae608d85e698dbb%7C43
> 083d1
> >
> 5727340c1b7db39efd9ccc17a%7C0%7C1%7C637363154745490399&sdata
> =mdG51
> >
> UgntQvMjs%2BPpRozwt2dtAcdWR8j9MXBtZ3%2Bl8k%3D&reserved=0
> 
> Thanks! Can you please recommend me a base where I can apply this series?
> For current main (dc18be1d8) I got:
> 
> error: patch failed: drivers/net/mlx5/mlx5_flow_dv.c:9537
> error: drivers/net/mlx5/mlx5_flow_dv.c: patch does not apply
> error: patch failed: drivers/net/mlx5/mlx5_flow_dv.c:80
> error: drivers/net/mlx5/mlx5_flow_dv.c: patch does not apply
> error: patch failed: drivers/net/mlx5/mlx5_flow_dv.c:9007
> error: drivers/net/mlx5/mlx5_flow_dv.c: patch does not apply
> 
> Jan
> 
> >
> > Regards,
> > Asaf Penso
> >
> > >-----Original Message-----
> > >From: dev <dev-bounces at dpdk.org> On Behalf Of Jan Viktorin
> > >Sent: Friday, September 18, 2020 3:56 PM
> > >To: dev at dpdk.org
> > >Subject: [dpdk-dev] Duplicating traffic with RTE Flow
> > >
> > >Hello all,
> > >
> > >we are looking for a way to duplicate ingress traffic in hardware.
> > >
> > >There is an example in [1] suggesting to insert two fate actions into
> > >the RTE Flow actions array like:
> > >
> > >  flow create 0 ingress pattern end \
> > >      actions queue index 0 / void / queue index 1 / end
> > >
> > >But our experience is that PMDs reject two fate actions (tried with
> > >mlx5). Another similar approach would be to deliver every single
> > >packet into two virtual
> > >functions:
> > >
> > >  flow create 0 ingress pattern end \
> > >     actions vf index 0 / vf index 1 / end
> > >
> > >Third possibility was to use passthru:
> > >
> > >  flow create 0 ingress pattern end \
> > >      actions passthru / vf index 0 / end  flow create 0 ingress
> > > pattern end \
> > >      actions vf index 1 / end
> > >
> > >Again, tried on mlx5 and it does not support the passthru.
> > >
> > >Last idea was to use isolate with passthru (to deliver both to DPDK
> > >application and to the kernel) but again there was no support on mlx5 for
> passthru...
> > >
> > >  flow isolate 0 true
> > >  flow create 0 ingress pattern end actions passthru / rss end / end
> > >
> > >Is there any other possibility or PMD+NIC that is known to solve such
> issue?
> > >
> > >Thanks
> > >Jan Viktorin
> > >
> > >[1]
> > >https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fd
> oc
> > >.dpdk
> > >.org%2Fguides%2Fprog_guide%2Frte_flow.html%23table-rte-flow-
> redirect-
> > >queue-5-
> > >3&data=02%7C01%7Casafp%40nvidia.com%7C1a46005bec5245e729e
> 708d
> > >85bd24caf%7C43083d15727340c1b7db39efd9ccc17a%7C0%7C0%7C637360
> 3060
> > >73519816&sdata=EOF%2Fz62crvBZK8rwzwKIWxj5cVlfPVnU3FLmcL9X
> 2w0%3
> > >D&reserved=0



More information about the dev mailing list