[dpdk-dev] [RFC] net/mlx5 add hairpin support

Ori Kam orika at mellanox.com
Tue May 28 16:34:34 CEST 2019

The hairpin feature acts as "bump on the wire", meaning that a packet that is received from the wire
can be modified using offloaded action and then sent back to the wire without application intervention which
can save CPU cycles.

The hairpin is the inverse function of loopback in which application sends a packet then it is received again by the
application without being sent to the wire.

The hairpin can be used by a number of different NVF, for example load balancer, gateway and so on.

In current version the hairpin will work only on routing from the wire port to the same wire port.
This can later be expanded to work between different ports.

The hairpin will be composed of 2 flows one ingress flow, which will be detected as hairpin flow by setting transfer flag = 1 and action port.
The second rule if required, will be normal egress flow.

In order to combine between the flows, the application can set metadata on the ingress which will be copied to the egress were it can be matched.

Signed-off-by: Ori Kam <orika at mellanox.com>
Ori Kam

More information about the dev mailing list