mirror_ubuntu-kernels/drivers/net/ethernet/intel/i40e
Przemyslaw Patynowski efca91e89b i40e: Add flow director support for IPv6
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: Przemyslaw Patynowski <przemyslawx.patynowski@intel.com>
Tested-by: Tony Brelinski <tonyx.brelinski@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
2021-02-10 14:28:40 -08:00
..
i40e_adminq_cmd.h i40e: Add hardware configuration for software based DCB 2021-02-10 14:28:39 -08:00
i40e_adminq.c i40e: Allow changing FEC settings on X722 if supported by FW 2020-10-13 19:44:01 -07:00
i40e_adminq.h intel-ethernet: clean up W=1 warnings in kdoc 2020-09-25 16:28:59 -07:00
i40e_alloc.h net: intel: Cleanup the copyright/license headers 2018-04-27 14:00:04 -04:00
i40e_client.c intel-ethernet: clean up W=1 warnings in kdoc 2020-09-25 16:28:59 -07:00
i40e_common.c i40e: Add hardware configuration for software based DCB 2021-02-10 14:28:39 -08:00
i40e_dcb_nl.c i40e: Add netlink callbacks support for software based DCB 2021-02-10 14:28:40 -08:00
i40e_dcb.c i40e: Add hardware configuration for software based DCB 2021-02-10 14:28:39 -08:00
i40e_dcb.h i40e: Add hardware configuration for software based DCB 2021-02-10 14:28:39 -08:00
i40e_ddp.c i40e: Implement DDP support in i40e driver 2019-04-16 15:10:21 -07:00
i40e_debugfs.c i40e: use 16B HW descriptors instead of 32B 2020-09-14 09:45:35 -07:00
i40e_devids.h i40e: Add support for 5Gbps cards 2020-06-25 22:25:13 -07:00
i40e_diag.c net: intel: Cleanup the copyright/license headers 2018-04-27 14:00:04 -04:00
i40e_diag.h net: intel: Cleanup the copyright/license headers 2018-04-27 14:00:04 -04:00
i40e_ethtool.c i40e: Add flow director support for IPv6 2021-02-10 14:28:40 -08:00
i40e_hmc.c i40e: Implement debug macro hw_dbg using dev_dbg 2019-09-09 11:22:20 -07:00
i40e_hmc.h i40e: remove unused defines 2020-06-25 22:25:13 -07:00
i40e_lan_hmc.c treewide: Use sizeof_field() macro 2019-12-09 10:36:44 -08:00
i40e_lan_hmc.h net: intel: Cleanup the copyright/license headers 2018-04-27 14:00:04 -04:00
i40e_main.c i40e: Add flow director support for IPv6 2021-02-10 14:28:40 -08:00
i40e_nvm.c i40e: Fix for persistent lldp support 2019-10-25 13:38:19 -07:00
i40e_osdep.h i40e: remove unused defines 2020-06-25 22:25:13 -07:00
i40e_prototype.h i40e: Add hardware configuration for software based DCB 2021-02-10 14:28:39 -08:00
i40e_ptp.c intel-ethernet: clean up W=1 warnings in kdoc 2020-09-25 16:28:59 -07:00
i40e_register.h i40e: Add EEE status getting & setting implementation 2021-02-10 14:28:40 -08:00
i40e_status.h net: intel: Cleanup the copyright/license headers 2018-04-27 14:00:04 -04:00
i40e_trace.h intel-ethernet: clean up W=1 warnings in kdoc 2020-09-25 16:28:59 -07:00
i40e_txrx_common.h intel-ethernet: clean up W=1 warnings in kdoc 2020-09-25 16:28:59 -07:00
i40e_txrx.c i40e: Add flow director support for IPv6 2021-02-10 14:28:40 -08:00
i40e_txrx.h i40e: Use batched xsk Tx interfaces to increase performance 2020-11-17 22:07:40 +01:00
i40e_type.h i40e: Add hardware configuration for software based DCB 2021-02-10 14:28:39 -08:00
i40e_virtchnl_pf.c i40e: Revert "i40e: don't report link up for a VF who hasn't enabled queues" 2021-02-01 13:18:31 -08:00
i40e_virtchnl_pf.h i40e: Revert "i40e: don't report link up for a VF who hasn't enabled queues" 2021-02-01 13:18:31 -08:00
i40e_xsk.c i40e: consolidate handling of XDP program actions 2021-02-08 17:19:03 -08:00
i40e_xsk.h i40e: Use batched xsk Tx interfaces to increase performance 2020-11-17 22:07:40 +01:00
i40e.h i40e: Add flow director support for IPv6 2021-02-10 14:28:40 -08:00
Makefile i40e: Implement DDP support in i40e driver 2019-04-16 15:10:21 -07:00