[dpdk-dev] [RFC 1/4] ethdev: support rss level on tunnel
Nelio Laranjeiro
nelio.laranjeiro at 6wind.com
Thu Nov 30 09:16:24 CET 2017
Hi Xueming, please see the comments below,
On Thu, Nov 30, 2017 at 01:31:03AM +0800, Xueming Li wrote:
> There was no RSS hash fields level definition on tunnel, implementations
> default RSS on tunnel to outer or inner. Adding rss level enable users
> to specifiy the tunnel level of RSS hash fields.
>
> 0: outer most,
> 1: inner,
> -1: inner most(PMD auto detection if nested tunnel specified in fields)
This *inner most* is confusing, what does it mean for the following
pattern vxlan / end?
This pattern is valid for any level of the VXLAN according to the NIC
capability. With an inner most, if the PMD support 4 levels of tunnels
it will need to create the 4 rules to match the user request.
Is this what you expect by this definition?
There is also another question, according to the possible values (0, 1,
-1), it cannot handle more than 1 level explicitly, why such limitation?
> Signed-off-by: Xueming Li <xuemingl at mellanox.com>
> ---
> lib/librte_ether/rte_flow.h | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/lib/librte_ether/rte_flow.h b/lib/librte_ether/rte_flow.h
> index 47c88ea..c35558c 100644
> --- a/lib/librte_ether/rte_flow.h
> +++ b/lib/librte_ether/rte_flow.h
> @@ -1078,6 +1078,7 @@ struct rte_flow_action_dup {
> */
> struct rte_flow_action_rss {
> const struct rte_eth_rss_conf *rss_conf; /**< RSS parameters. */
> + uint8_t level; /**< RSS on tunnel level, 0:outer most, -1:inner most */
> uint16_t num; /**< Number of entries in queue[]. */
> uint16_t queue[]; /**< Queues indices to use. */
> };
> --
> 1.8.3.1
>
Thanks,
--
Nélio Laranjeiro
6WIND
More information about the dev
mailing list