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 <xuemi...@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