[dpdk-dev] [PATCH v6 0/3] Support configuring hash functions
Helin Zhang
helin.zhang at intel.com
Wed Nov 19 15:58:13 CET 2014
These patches mainly support configuring hash functions.
In detail,
- It can get or set hash functions.
- It can configure symmetric hash functions.
* Get/set symmetric hash enable per port.
* Get/set symmetric hash enable per flow type.
* Get/set filter swap configurations.
- Six commands have been implemented in testpmd to support
testing above.
* get_sym_hash_ena_per_port
* set_sym_hash_ena_per_port
* get_sym_hash_ena_per_flow_type
* set_sym_hash_ena_per_flow_type
* get_filter_swap
* set_filter_swap
* get_hash_function
* set_hash_function
It also uses constant hash keys to replace runtime generating
hash keys. Global initialization is added to correctly put
registers to an initial state.
v3 changes:
* Removed renamings in rte_ethdev.h.
* Redesigned filter control API and its relevant structures/enums.
* Renamed header file from rte_eth_features.h to rte_eth_ctrol.h.
* Remove public header file of rte_i40e.h specific for i40e.
* Added hardware initialization function during port init.
* Used constant random hash keys in i40e PF.
* renamed the commands in testpmd based on the redesigned filter
control API.
v4 changes:
* Fixed a bug in testpmd to support 'set_sym_hash_ena_per_port'.
v5 changes:
* Integrated with filter API defined recently.
* Remove all for filter API definition, as it has already defined
and merged recently.
v6 changes:
* Flow type strings are used to replace Packet Classification
Types, to isolate hardware specific things.
* Implemented the mapping function to convert RSS offload types to
Packet Classification Types, to isolate the real hardware
specific things.
* Removed initialization of global registers in i40e PMD, as global
registers shouldn't be initialized per port.
* Added more annotations to get code more understandable.
* Corrected annotation format for documenation.
Helin Zhang (3):
i40e: Use constant as the default hash keys
i40e: support of controlling hash functions
app/testpmd: add commands to support hash functions
app/test-pmd/cmdline.c | 628 ++++++++++++++++++++++++++++++++++++++
lib/librte_ether/rte_eth_ctrl.h | 98 +++++-
lib/librte_pmd_i40e/i40e_ethdev.c | 403 +++++++++++++++++++++++-
3 files changed, 1117 insertions(+), 12 deletions(-)
--
1.8.1.4
More information about the dev
mailing list