How to make incoming traffic go outside without any DMA?

Hi.

I want to make incoming traffic go outside without DMA in ConnectX-6 using eSwitch.

Is there any example code or guide for this use case?

What I found from DPDK document is only RSSing or dropping incoming packets.

I checked that RSSing and dropping work correctly.
However, there is no guide related to steering incoming flow to outside without DMA.

Hi @cerotyki ,

Hairpin can match your request.
https://patches.dpdk.org/project/dpdk/patch/1565703468-55617-1-git-send-email-orika@mellanox.com/
https://doc.dpdk.org/api/structrte__eth__hairpin__conf.html

In general, the flow should be:

  • packets received
  • do MAC modifications with Flows
  • send pkts to hairpin
  • hairpin forwards packet to Tx
  • packet is sent to wire

In dpdk version 22.03 there is an option to use internal NIC memory for hairpin.

Regards,
Chen