[dpdk-dev] [PATCH v3 07/16] ethdev: flatten RSS configuration in flow API

Andrew Rybchenko arybchenko at solarflare.com
Wed Apr 11 15:06:36 CEST 2018


On 04/10/2018 07:36 PM, Adrien Mazarguil wrote:
> Since its inception, the rte_flow RSS action has been relying in part on
> external struct rte_eth_rss_conf for compatibility with the legacy RSS API.
> This structure lacks parameters such as the hash algorithm to use, and more
> recently, a method to tell which layer RSS should be performed on [1].
>
> Given struct rte_eth_rss_conf will never be flexible enough to represent a
> complete RSS configuration (e.g. RETA table), this patch supersedes it by
> extending the rte_flow RSS action directly.
>
> A subsequent patch will add a field to use a non-default RSS hash
> algorithm. To that end, a field named "types" replaces the field formerly
> known as "rss_hf" and standing for "RSS hash functions" as it was
> confusing. Actual RSS hash function types are defined by enum
> rte_eth_hash_function.
>
> This patch updates all PMDs and example applications accordingly.
>
> It breaks ABI compatibility for the following public functions:
>
> - rte_flow_copy()
> - rte_flow_create()
> - rte_flow_query()
> - rte_flow_validate()
>
> [1] commit 676b605182a5 ("doc: announce ethdev API change for RSS
>      configuration")
>
> Signed-off-by: Adrien Mazarguil <adrien.mazarguil at 6wind.com>
> Cc: Xueming Li <xuemingl at mellanox.com>
> Cc: Ferruh Yigit <ferruh.yigit at intel.com>
> Cc: Thomas Monjalon <thomas at monjalon.net>
> Cc: Wenzhuo Lu <wenzhuo.lu at intel.com>
> Cc: Jingjing Wu <jingjing.wu at intel.com>
> Cc: Beilei Xing <beilei.xing at intel.com>
> Cc: Qi Zhang <qi.z.zhang at intel.com>
> Cc: Konstantin Ananyev <konstantin.ananyev at intel.com>
> Cc: Nelio Laranjeiro <nelio.laranjeiro at 6wind.com>
> Cc: Yongseok Koh <yskoh at mellanox.com>
> Cc: Andrew Rybchenko <arybchenko at solarflare.com>
> Cc: Pascal Mazon <pascal.mazon at 6wind.com>
> Cc: Radu Nicolau <radu.nicolau at intel.com>
> Cc: Akhil Goyal <akhil.goyal at nxp.com>
>
> ---
>
> v3 changes:
>
> Documentation update regarding the meaning of a 0 value for RSS types in
> flow rules.
>
> It used to implicitly mean "no RSS" but is redefined as requesting a kind
> of "best-effort" mode from PMDs, i.e. anything ranging from empty to
> all-inclusive RSS; what matters is it provides safe defaults that will work
> regardless of PMD capabilities.
> ---
>   app/test-pmd/cmdline_flow.c                 |  48 +++---
>   app/test-pmd/config.c                       |  39 ++---
>   doc/guides/prog_guide/rte_flow.rst          |  28 ++--
>   doc/guides/testpmd_app_ug/testpmd_funcs.rst |   6 +-
>   drivers/net/e1000/e1000_ethdev.h            |  13 +-
>   drivers/net/e1000/igb_ethdev.c              |   4 +-
>   drivers/net/e1000/igb_flow.c                |  31 ++--
>   drivers/net/e1000/igb_rxtx.c                |  51 +++++-
>   drivers/net/i40e/i40e_ethdev.c              |  53 +++++--
>   drivers/net/i40e/i40e_ethdev.h              |  15 +-
>   drivers/net/i40e/i40e_flow.c                |  57 ++++---
>   drivers/net/ixgbe/ixgbe_ethdev.c            |   4 +-
>   drivers/net/ixgbe/ixgbe_ethdev.h            |  13 +-
>   drivers/net/ixgbe/ixgbe_flow.c              |  30 ++--
>   drivers/net/ixgbe/ixgbe_rxtx.c              |  51 +++++-
>   drivers/net/mlx4/mlx4.c                     |   2 +-
>   drivers/net/mlx4/mlx4_flow.c                |  61 +++----
>   drivers/net/mlx4/mlx4_flow.h                |   2 +-
>   drivers/net/mlx4/mlx4_rxq.c                 |   2 +-
>   drivers/net/mlx4/mlx4_rxtx.h                |   2 +-
>   drivers/net/mlx5/mlx5_flow.c                | 193 +++++++++++------------
>   drivers/net/mlx5/mlx5_rxq.c                 |  22 +--
>   drivers/net/mlx5/mlx5_rxtx.h                |  26 +--
>   drivers/net/sfc/sfc_flow.c                  |  21 ++-
>   drivers/net/tap/tap_flow.c                  |   8 +-
>   examples/ipsec-secgw/ipsec.c                |  10 +-
>   lib/librte_ether/rte_flow.c                 |  39 ++---
>   lib/librte_ether/rte_flow.h                 |  12 +-
>   28 files changed, 484 insertions(+), 359 deletions(-)

Generic and net/sfc;
Acked-by: Andrew Rybchenko <arybchenko at solarflare.com>


More information about the dev mailing list