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 <[email protected]> Cc: Xueming Li <[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]> --- 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 <[email protected]>

