• Or Gerlitz's avatar
    net/mlx5e: Support offloading TC NIC hairpin flows · 5c65c564
    Or Gerlitz authored
    We refer to TC NIC rule that involves forwarding as "hairpin".
    
    All hairpin rules from the current NIC device (called "func" in
    the code) to a given NIC device ("peer") are steered into the
    same hairpin RQ/SQ pair.
    
    The hairpin pair is set on demand and removed when there are no
    TC rules that need it.
    
    Here's a TC rule that matches on icmp, does header re-write of the
    dst mac and hairpin from RX/enp1s2f1 to TX/enp1s2f2 (enp1s2f1/2 are
    two mlx5 devices):
    
    tc filter add dev enp1s2f1 protocol ip parent ffff: prio 2
        flower skip_sw ip_proto icmp
         action pedit ex munge eth dst set 10:22:33:44:55:66 pipe
         action mirred egress redirect dev enp1s2f2
    Signed-off-by: default avatarOr Gerlitz <ogerlitz@mellanox.com>
    Signed-off-by: default avatarSaeed Mahameed <saeedm@mellanox.com>
    5c65c564
en.h 32.8 KB