[dpdk-dev] [PATCH v2 09/15] ethdev: add encap level to RSS flow API action

Andrew Rybchenko arybchenko at solarflare.com
Sat Apr 7 10:27:49 CEST 2018


On 04/06/2018 04:25 PM, Adrien Mazarguil wrote:
> RSS hash types (ETH_RSS_* macros defined in rte_ethdev.h) describe the
> protocol header fields of a packet that must be taken into account while
> computing RSS.
>
> When facing encapsulated (e.g. tunneled) packets, there is an ambiguity as
> to whether these should apply to inner or outer packets. Applications need
> the ability to tell exactly "where" RSS must be performed.
>
> This is addressed by adding encapsulation level information to the RSS flow
> action. Its default value is 0 and stands for the usual unspecified
> behavior. Other values provide a specific encapsulation level.
>
> Contrary to the change announced by commit 676b605182a5 ("doc: announce
> ethdev API change for RSS configuration"), this patch does not affect
> struct rte_eth_rss_conf but struct rte_flow_action_rss as the former is not
> used anymore by the RSS flow action. ABI impact is therefore limited to
> rte_flow.
>
> 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 <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>
> ---
>   app/test-pmd/cmdline_flow.c                 | 13 ++++++++++++
>   app/test-pmd/config.c                       |  1 +
>   doc/guides/prog_guide/rte_flow.rst          | 24 ++++++++++++++++++++++
>   doc/guides/testpmd_app_ug/testpmd_funcs.rst |  2 ++
>   drivers/net/e1000/igb_flow.c                |  4 ++++
>   drivers/net/e1000/igb_rxtx.c                |  2 ++
>   drivers/net/i40e/i40e_ethdev.c              |  2 ++
>   drivers/net/i40e/i40e_flow.c                |  4 ++++
>   drivers/net/ixgbe/ixgbe_flow.c              |  4 ++++
>   drivers/net/ixgbe/ixgbe_rxtx.c              |  2 ++
>   drivers/net/mlx4/mlx4_flow.c                |  6 ++++++
>   drivers/net/mlx5/mlx5_flow.c                | 11 ++++++++++
>   drivers/net/sfc/sfc_flow.c                  |  3 +++
>   drivers/net/tap/tap_flow.c                  |  6 +++++-
>   lib/librte_ether/rte_flow.c                 |  1 +
>   lib/librte_ether/rte_flow.h                 | 26 ++++++++++++++++++++++++
>   16 files changed, 110 insertions(+), 1 deletion(-)

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


More information about the dev mailing list