[dpdk-dev] [RFC v1 1/5] ethdev: support rss level on tunnel
Xueming(Steven) Li
xuemingl at mellanox.com
Mon Dec 4 10:05:22 CET 2017
> -----Original Message-----
> From: Nelio Laranjeiro [mailto:nelio.laranjeiro at 6wind.com]
> Sent: Monday, December 4, 2017 4:11 PM
> To: Xueming(Steven) Li <xuemingl at mellanox.com>
> Cc: Adrien Mazarguil <adrien.mazarguil at 6wind.com>; Thomas Monjalon
> <thomas at monjalon.net>; dev at dpdk.org
> Subject: Re: [RFC v1 1/5] ethdev: support rss level on tunnel
>
> Hi Xueming,
>
> On Sun, Dec 03, 2017 at 02:08:08PM +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)
> >
> > Signed-off-by: Xueming Li <xuemingl at mellanox.com>
> > ---
> > lib/librte_ether/rte_flow.h | 8 ++++++++
> > 1 file changed, 8 insertions(+)
> >
> > diff --git a/lib/librte_ether/rte_flow.h b/lib/librte_ether/rte_flow.h
> > index 47c88ea52..41ab91912 100644
> > --- a/lib/librte_ether/rte_flow.h
> > +++ b/lib/librte_ether/rte_flow.h
> > @@ -1078,6 +1078,14 @@ struct rte_flow_action_dup {
> > */
> > struct rte_flow_action_rss {
> > const struct rte_eth_rss_conf *rss_conf; /**< RSS parameters. */
> > + /**
> > + * RSS on tunnel level:
> > + * 0: outer RSS
> > + * 1: inner RSS
> > + * 2-254: deep inner tunnel level RSS
> > + * -1: inner most level according to flow pattern
> > + */
>
> Not clear enough, some PMD like MLX5 accept rules starting from the VXLAN
> level, the comment "Inner most level according to flow pattern"
> does not inform inside which tunnel the RSS will be done as this pattern
> does not provide any information related to the position of the tunnel in
> the packet.
> What are the expectation for such situation?
Regarding to supported tunnel types, VXLAN, L3VXLAN, GRE or GENEVE as long
as the PMD supports. RTE_PTYPE_TUNNEL_MASK is a good mask of supported tunnel
types.
>
> > + uint8_t level;
> > uint16_t num; /**< Number of entries in queue[]. */
> > uint16_t queue[]; /**< Queues indices to use. */ };
> > --
> > 2.13.3
> >
>
> Thanks,
>
> --
> Nélio Laranjeiro
> 6WIND
More information about the dev
mailing list