These pathches mainly support configuring hash functions. In detail, - It can select Toeplitz or simple XOR hash functions. - It can configure symmetric hash functions. * Get/set symmetric hash enable per port. * Get/set symmetric hash enable per 'PCTYPE'. * Get/set filter swap configurations. - 'ethdev' level interfaces are added. * 'is_command_supported', to check if a feature (command) is supported on a port. * 'rx_classification_filter_ctl', a common API to execute specific command of each feature. - Seven commands are implemented in testpmd to support testing above. Note that 'PCTYPE' means 'Packet Classification Type'.
Helin Zhang (6): ethdev: rename macros of packet classification type ethdev: add new ops of 'is_command_supported' and 'rx_classification_filter_ctl' i40e: support of 'rx_classification_filter_ctl' i40e: support of 'is_command_supported' i40e: Initialize hash function during port initialization. app/testpmd: add commands for configuring hash functions app/test-pmd/cmdline.c | 579 ++++++++++++++++++++++++++++++++++++ lib/librte_ether/Makefile | 1 + lib/librte_ether/rte_eth_features.h | 73 +++++ lib/librte_ether/rte_ethdev.c | 31 ++ lib/librte_ether/rte_ethdev.h | 131 +++++--- lib/librte_pmd_i40e/Makefile | 6 + lib/librte_pmd_i40e/i40e_ethdev.c | 484 ++++++++++++++++++++++++++++++ lib/librte_pmd_i40e/i40e_ethdev.h | 2 + lib/librte_pmd_i40e/rte_i40e.h | 108 +++++++ 9 files changed, 1377 insertions(+), 38 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