These pathches mainly support configuring hash functions. In detail, it can select Toeplitz and simple XOR hash functions. It can configure symmetric hash function. Also 'ethdev' level interfaces are implemented in i40e, which provides commands for application invoking, and to check if specific capability (command) is supported on a port.
Helin Zhang (5): ethdev: Rename macros of packet classification type ethdev: add new ops of 'check_command_supported' and 'rx_classification_filter_ctl' i40e: support selecting hash functions i40e: support configuring symmetric hash function app/testpmd: new commands for configuring hash functions app/test-pmd/cmdline.c | 455 ++++++++++++++++++++++++++++++++++++ config/common_bsdapp | 1 + config/common_linuxapp | 1 + lib/librte_ether/Makefile | 1 + lib/librte_ether/rte_eth_features.h | 65 ++++++ lib/librte_ether/rte_ethdev.c | 31 +++ lib/librte_ether/rte_ethdev.h | 126 +++++++--- lib/librte_pmd_i40e/Makefile | 6 + lib/librte_pmd_i40e/i40e_ethdev.c | 439 ++++++++++++++++++++++++++++++++++ lib/librte_pmd_i40e/rte_i40e.h | 95 ++++++++ 10 files changed, 1183 insertions(+), 37 deletions(-) create mode 100644 lib/librte_ether/rte_eth_features.h create mode 100644 lib/librte_pmd_i40e/rte_i40e.h -- 1.8.1.4