[dpdk-dev] [RFC v1 1/5] ethdev: support rss level on tunnel

Nelio Laranjeiro nelio.laranjeiro at 6wind.com
Mon Dec 4 11:32:32 CET 2017


Xueming,

On Mon, Dec 04, 2017 at 09:05:22AM +0000, Xueming(Steven) Li wrote:
> 
> > -----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.

Seems you did not understood my question, if I set a flow rule as

 flow create 0 ingress vxlan / end action rss level -1 queues 0 1 end / end

According to your definition: "inner most level according to flow
pattern" in my example, the pattern does not provide any "level", this
rule can match the first level as the 254th as well, this leads to an
undefined situation when using level = -1.

What is your expectation in such situation?

Thanks,

-- 
Nélio Laranjeiro
6WIND


More information about the dev mailing list