The default input set of fields of a received packet are loaded from firmware, which cannot be modified even users want to use different fields for RSS or flow director. Here adds more flexibilities of selecting or adding packet fields for hash calculation or flow director to users. It also includes the modifications in testpmd to support the testing.
v2 changes: Solved the compilation issues. v3 changes: Support selecting more input set fields. v4 changes: Removed operation of 'delete', as it is not necessary. Added FD granularity in both pmd and testpmd, as it is similar to RSS granularity. v5 changes: Fixed issue of generating wrong input set for registers on ipv6-udp and ipv6-tcp pc types. Added clear masking operations during checking if MASK registers are opcupied or not. Reworked several annotations. v6 changes: Updated documentation. v7 changes: Modified RTE_ETH_INSET_SIZE_MAX from 128 to 1, to avoid ABI changes. Split documentation into pieces and put them directly into the patch of code changes directly. v8 changes: Modified RTE_ETH_INSET_SIZE_MAX from 1 to 128, as ABI changes is allowed in ethdev. Updated release notes. v9 changes: Updated release notes. Helin Zhang (2): i40e: RSS/FD granularity configuration app/testpmd: add test commands for RSS/FD granularity app/test-pmd/cmdline.c | 218 ++++++++ doc/guides/rel_notes/release_2_2.rst | 6 + doc/guides/testpmd_app_ug/testpmd_funcs.rst | 33 ++ drivers/net/i40e/i40e_ethdev.c | 742 ++++++++++++++++++++++++++++ drivers/net/i40e/i40e_ethdev.h | 7 + drivers/net/i40e/i40e_fdir.c | 31 ++ lib/librte_ether/rte_eth_ctrl.h | 114 ++++- 7 files changed, 1147 insertions(+), 4 deletions(-) -- 1.9.3