[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