• Przemyslaw Patynowski's avatar
    i40e: Add flow director support for IPv6 · efca91e8
    Przemyslaw Patynowski authored
    Flow director for IPv6 is not supported.
    1) Implementation of support for IPv6 flow director.
    2) Added handlers for addition of TCP6, UDP6, SCTP6, IPv6.
    3) Refactored legacy code to make it more generic.
    4) Added packet templates for TCP6, UDP6, SCTP6, IPv6.
    5) Added handling of IPv6 source and destination address for flow director.
    6) Improved argument passing for source and destination portin TCP6, UDP6
       and SCTP6.
    7) Added handling of ethtool -n for IPv6, TCP6,UDP6, SCTP6.
    8) Used correct bit flag regarding FLEXOFF field of flow director data
       descriptor.
    
    Without this patch, there would be no support for flow director on IPv6,
    TCP6, UDP6, SCTP6.
    Tested based on x710 datasheet by using:
    ethtool -N enp133s0f0 flow-type tcp4 src-port 13 dst-port 37 user-def 0x44142 action 1
    ethtool -N enp133s0f0 flow-type tcp6 src-port 13 dst-port 40 user-def 0x44142 action 2
    ethtool -N enp133s0f0 flow-type udp4 src-port 20 dst-port 40 user-def 0x44142 action 3
    ethtool -N enp133s0f0 flow-type udp6 src-port 25 dst-port 40 user-def 0x44142 action 4
    ethtool -N enp133s0f0 flow-type sctp4 src-port 55 dst-port 65 user-def 0x44142 action 5
    ethtool -N enp133s0f0 flow-type sctp6 src-port 60 dst-port 40 user-def 0x44142 action 6
    ethtool -N enp133s0f0 flow-type ip4 src-ip 1.1.1.1 dst-ip 1.1.1.4 user-def 0x44142 action 7
    ethtool -N enp133s0f0 flow-type ip6 src-ip fe80::3efd:feff:fe6f:bbbb dst-ip fe80::3efd:feff:fe6f:aaaa user-def 0x44142 action 8
    Then send traffic from client which matches the criteria provided to ethtool.
    Observe that packets are redirected to user set queues with ethtool -S <interface>
    Signed-off-by: default avatarPrzemyslaw Patynowski <przemyslawx.patynowski@intel.com>
    Tested-by: default avatarTony Brelinski <tonyx.brelinski@intel.com>
    Signed-off-by: default avatarTony Nguyen <anthony.l.nguyen@intel.com>
    efca91e8
i40e_main.c 451 KB