From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nelio Laranjeiro Subject: Re: [RFC v1 1/5] ethdev: support rss level on tunnel Date: Mon, 4 Dec 2017 16:00:09 +0100 Message-ID: <20171204150009.ufxc3uyrorpojre2@laranjeiro-vm.dev.6wind.com> References: <20171129173106.120828-2-xuemingl@mellanox.com> <20171203060812.74932-2-xuemingl@mellanox.com> <20171204081056.2rrtocnglat7u4ow@laranjeiro-vm.dev.6wind.com> <20171204103232.fvleqatog4r5fjbl@laranjeiro-vm.dev.6wind.com> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Cc: Adrien Mazarguil , Thomas Monjalon , "dev@dpdk.org" To: "Xueming(Steven) Li" Return-path: Received: from mail-wm0-f47.google.com (mail-wm0-f47.google.com [74.125.82.47]) by dpdk.org (Postfix) with ESMTP id D32741D8E for ; Mon, 4 Dec 2017 15:59:58 +0100 (CET) Received: by mail-wm0-f47.google.com with SMTP id f206so8617166wmf.5 for ; Mon, 04 Dec 2017 06:59:58 -0800 (PST) Content-Disposition: inline In-Reply-To: List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Mon, Dec 04, 2017 at 02:24:53PM +0000, Xueming(Steven) Li wrote: > > > > > > 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? > > > This rule looks a little confused to users, it covers fowling cases? > Vxlan > Gre/vxlan > Vxlan/vxlan/vxlan For my understanding, what I expect from this rule is an RSS spreading on the inner *most* tunnel. If the NIC was recognising at most 4 tunnels in the packet, it would mean RSS on the 4th tunnel, i.e. an equivalent to: vxlan / end actions rss level 4 queues 0 1 end / end > Auto rss level detection will get 1,2,3 for each of above examples from > Pattern in a left to right order, based on what defined in pattern. > Users has to define tunnel pattern one by one exactly. > > Actually we seldom see real requirement beyond inner tunnel, the auto- > detection could be abandoned if it conflict with existing definition. I agree on this last one, if the definition is not clear enough (multiple interpretation in this case), it is better to not expose such functionality. Thanks, -- Nélio Laranjeiro 6WIND