[dpdk-dev] Duplicating traffic with RTE Flow

Jiawei(Jonny) Wang jiaweiw at nvidia.com
Sun Sep 27 08:33:38 CEST 2020


> -----Original Message-----
> From: Jan Viktorin <viktorin at cesnet.cz>
> Sent: Wednesday, September 23, 2020 4:30 PM
> To: Jiawei(Jonny) Wang <jiaweiw at nvidia.com>
> Cc: Asaf Penso <asafp at nvidia.com>; dev at dpdk.org; Ori Kam
> <orika at nvidia.com>; Slava Ovsiienko <viacheslavo at nvidia.com>
> Subject: Re: [dpdk-dev] Duplicating traffic with RTE Flow
> 
> On Wed, 23 Sep 2020 02:28:03 +0000
> "Jiawei(Jonny) Wang" <jiaweiw at nvidia.com> wrote:
> 
> > 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://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpatc
> >
> hwork.dpdk.org%2Fproject%2Fdpdk%2Flist%2F%3Fseries%3D12410&da
> ta=02
> > %7C01%7Cjiaweiw%40nvidia.com%7Cf5fad57a2357485f8fe308d85f9adcca%
> 7C4308
> >
> 3d15727340c1b7db39efd9ccc17a%7C0%7C1%7C637364466050833489&sd
> ata=1l
> > rhsIVvHpiTSA7c4k6ceMnQQsDRs2UtgWnvRomTS7s%3D&reserved=0
> >
> > " 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.
> 
> Hi,
> 
> excuse me, but what am I doing wrong?
> 
> $ git log -1 --oneline
> a4ab862 net/enic: support VXLAN decap action combined with VLAN pop
> 
> $ curl
> https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpatc
> hwork.dpdk.org%2Fseries%2F12410%2Fmbox%2F&data=02%7C01%7Cji
> aweiw%40nvidia.com%7Cf5fad57a2357485f8fe308d85f9adcca%7C43083d1572
> 7340c1b7db39efd9ccc17a%7C0%7C1%7C637364466050833489&sdata=ZD
> glETAx9A9C3iaXFPhLUb2vtUTGE7R8aK5ngJF7lko%3D&reserved=0 >
> sample-action-rte-flow.patch
> 
> $ git apply sample-action-rte-flow.patch
> error: patch failed: doc/guides/rel_notes/release_20_11.rst:62
> error: doc/guides/rel_notes/release_20_11.rst: patch does not apply
> 
> Or...
> 
> $ git am -3 sample-action-rte-flow.patch
> Applying: ethdev: introduce sample action for rte flow
> fatal: sha1 information is lacking or useless
> (doc/guides/prog_guide/rte_flow.rst).
> Repository lacks necessary blobs to fall back on 3-way merge.
> Cannot fall back to three-way merge.
> Patch failed at 0001 ethdev: introduce sample action for rte flow
> 
> Jan
> 
Hi Jan,

Please try the v8 patch: https://patchwork.dpdk.org/project/dpdk/list/?series=12525

I rebased it based on the main code and it should work for you.

Thanks.
Jonny
> >
> > 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%2Fpat
> > > ch
> > >
> > > >
> > >
> 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%
> 2
> > > > >Fd
> > > > >
> > > oc
> > > > >.dpdk
> > > > >.org%2Fguides%2Fprog_guide%2Frte_flow.html%23table-rte-flow-
> > > redirect-
> > > > >queue-5-
> > > > >3&data=02%7C01%7Casafp%40nvidia.com%7C1a46005bec5245e7
> 29e
> > > 708d
> > > > >85bd24caf%7C43083d15727340c1b7db39efd9ccc17a%7C0%7C0%7C637
> 360
> > > 3060
> > > > >73519816&sdata=EOF%2Fz62crvBZK8rwzwKIWxj5cVlfPVnU3FLmc
> L9X
> > > 2w0%3
> > > > >D&reserved=0
> >



More information about the dev mailing list