On 04/10/2018 07:36 PM, Adrien Mazarguil wrote:
By definition, RSS involves some kind of hash algorithm, usually Toeplitz.
Until now it could not be modified on a flow rule basis and PMDs had to
always assume RTE_ETH_HASH_FUNCTION_DEFAULT, which remains the default
behavior when unspecified (0).
This breaks ABI compatibility for the following public functions:
- rte_flow_copy()
- rte_flow_create()
- rte_flow_query()
- rte_flow_validate()
Signed-off-by: Adrien Mazarguil <[email protected]>
Cc: Ferruh Yigit <[email protected]>
Cc: Thomas Monjalon <[email protected]>
Cc: Wenzhuo Lu <[email protected]>
Cc: Jingjing Wu <[email protected]>
Cc: Beilei Xing <[email protected]>
Cc: Qi Zhang <[email protected]>
Cc: Konstantin Ananyev <[email protected]>
Cc: Nelio Laranjeiro <[email protected]>
Cc: Yongseok Koh <[email protected]>
Cc: Andrew Rybchenko <[email protected]>
Cc: Pascal Mazon <[email protected]>
---
v3 changes:
- Although RTE_ETH_HASH_FUNCTION_DEFAULT is defined as 0, made comparisons
more explicit where doing so would clarify the code.
- Updated sfc to include Toeplitz as the other allowed value.
Both according to Andrew's suggestions [1].
[1] http://dpdk.org/ml/archives/dev/2018-April/095840.html
---
app/test-pmd/cmdline_flow.c | 72 ++++++++++++++++++++++++
app/test-pmd/config.c | 1 +
doc/guides/prog_guide/rte_flow.rst | 2 +
doc/guides/testpmd_app_ug/testpmd_funcs.rst | 3 +
drivers/net/e1000/igb_flow.c | 4 ++
drivers/net/e1000/igb_rxtx.c | 4 +-
drivers/net/i40e/i40e_ethdev.c | 4 +-
drivers/net/i40e/i40e_flow.c | 4 ++
drivers/net/ixgbe/ixgbe_flow.c | 4 ++
drivers/net/ixgbe/ixgbe_rxtx.c | 4 +-
drivers/net/mlx4/mlx4_flow.c | 7 +++
drivers/net/mlx5/mlx5_flow.c | 13 +++++
drivers/net/sfc/sfc_flow.c | 8 +++
drivers/net/tap/tap_flow.c | 6 ++
lib/librte_ether/rte_flow.c | 1 +
lib/librte_ether/rte_flow.h | 2 +
16 files changed, 136 insertions(+), 3 deletions(-)
Generic and net/sfc
Acked-by: Andrew Rybchenko <[email protected]>