[dpdk-dev] Duplicating traffic with RTE Flow

Jan Viktorin viktorin at cesnet.cz
Fri Sep 18 14:56:18 CEST 2020


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://doc.dpdk.org/guides/prog_guide/rte_flow.html#table-rte-flow-redirect-queue-5-3


More information about the dev mailing list