[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