Received: by 2002:a05:7412:d8a:b0:e2:908c:2ebd with SMTP id b10csp2970016rdg; Mon, 16 Oct 2023 23:46:17 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEL280YV1M9XO5/UWAdn5Qqv1QMfsqehta3Lgl28g9RjQCpMbfNWh/J4UAKB2HbV318XwmO X-Received: by 2002:a05:6a21:114e:b0:154:3f13:1bb7 with SMTP id oi14-20020a056a21114e00b001543f131bb7mr1158865pzb.49.1697525177206; Mon, 16 Oct 2023 23:46:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1697525177; cv=none; d=google.com; s=arc-20160816; b=yTo51V1T7vxpHtIPJkqGVBPtgEmx1B70U+7ocmjY7iKNjHe8OAGfDH/V+GjLuL/9Nu 06lqYU7lpxUfXYvmMHj/LAupK1vjjO95TNont8rMjeyX3NJ3DMWvMqtfI1UAKWRNKGDM N63UWSpxeh0wWwwig/nheQbAFtKzXVJImoi4WORaaDDPbHFVrHIcbqsYiT7APiLXaG+3 U3FDtkzsSQj8gVznNNobPjB+NNvYnk6VCSV+PJ/dyA10vgO1aRMwkV2dUpz8Bs23d0k9 DQh+mXfEkAqz3HhckDFRSCdjRdlc0ptcNEhYuEO3Nu5ad43Q0K3IEAkrlKrLKtaqVSYp 0qRQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date; bh=lrpLW9cfuDcMNzrEJoZSP0SIlbnf7iStoK5jr0NHcAM=; fh=WaVPz1TfKPyXIjGrig5nT+0DtxYw9QCRmH4x/21hsIg=; b=x9Og4+zlZeGoZUXsLt9cU0iqsDzm4O+Mk5lKNywyUroIwXPLllby3epdJC/jYBRFC0 iZG2B/PyQlsY3YdwlfSJl6/nng/E4CPLCwdDfBY2WUoxufe6NikUz7ro/QnRSaMZM9rq zS7DbgtvFUHjmgjw5WVj/elceNGNYvj+7lpTLyO7rVB2sE/ttySS+cxHzYK4wWQVxi2X rI7eJJLXvlz7rwCSRCtxegK8JfgbY9MfdvateMvDXYSGZhAktIDH398QA3WP7yWXXsxt rq9bPilAbypD67OpVLCIq2Oek4XyP18tF5eJw2rN8lmzRFJ/VmzEACq/dfj4Atg3A4jf 0y8g== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from snail.vger.email (snail.vger.email. [2620:137:e000::3:7]) by mx.google.com with ESMTPS id m18-20020a656a12000000b0059bb496956csi1246373pgu.202.2023.10.16.23.46.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 16 Oct 2023 23:46:17 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) client-ip=2620:137:e000::3:7; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id C0833802A6C9; Mon, 16 Oct 2023 23:45:18 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234507AbjJQGpN (ORCPT + 99 others); Tue, 17 Oct 2023 02:45:13 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45598 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229666AbjJQGpM (ORCPT ); Tue, 17 Oct 2023 02:45:12 -0400 Received: from ganesha.gnumonks.org (ganesha.gnumonks.org [IPv6:2001:780:45:1d:225:90ff:fe52:c662]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6A33DA7; Mon, 16 Oct 2023 23:45:10 -0700 (PDT) Received: from uucp by ganesha.gnumonks.org with local-bsmtp (Exim 4.94.2) (envelope-from ) id 1qsdpC-003Ysp-QU; Tue, 17 Oct 2023 08:45:07 +0200 Received: from laforge by nataraja with local (Exim 4.97-RC2) (envelope-from ) id 1qsdoQ-000000020rj-2TUW; Tue, 17 Oct 2023 08:44:18 +0200 Date: Tue, 17 Oct 2023 08:44:18 +0200 From: Harald Welte To: Jakub Kicinski Cc: Takeru Hayasaka , Jesse Brandeburg , Tony Nguyen , "David S. Miller" , Eric Dumazet , Paolo Abeni , intel-wired-lan@lists.osuosl.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Willem de Bruijn , Pablo Neira Ayuso , osmocom-net-gprs@lists.osmocom.org Subject: Re: [PATCH net-next v2] ethtool: ice: Support for RSS settings to GTP from ethtool Message-ID: References: <20231012060115.107183-1-hayatake396@gmail.com> <20231016152343.1fc7c7be@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,SPF_HELO_NONE, SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Mon, 16 Oct 2023 23:45:19 -0700 (PDT) Hi again, On Tue, Oct 17, 2023 at 08:11:28AM +0200, Harald Welte wrote: > I cannot really comment on that, as I haven't yet been thinking about how RSS > might potentially be used in GTPU use cases. I would also appreciate > some enlightenment on that. What kind of network element/function are we talking > about (my guess is an UPF). How does its architecture look like to spread GTPU flows > across CPUs using RSS? Thinking of this a few more minutes: In my opinion the usual use case would be to perform RSS distribution based on a (hash of) the TEID, possibly in combination with the destination IP(v4/v6) address of the outer IP header, and possibly also including the [outer] destination UDP port number. The latter could likely be always included in the hash, as either it is the standard port (like in all public standard GTPU traffic) and would hence not contribute to the distribution across the hash function, or it would be a non-standard port number in some kind of private/custom deployment, and then you would want to use it to differentiate traffic, as otherwise you wouldn't use non-standard ports. > +#define GTPU_V4_FLOW 0x13 /* hash only */ > +#define GTPU_V6_FLOW 0x14 /* hash only */ so if I'm guessing correctly, those would be hashing only on the V4/V6 destination address? Why would that be GTP specific? The IPv4/v6 header in front of the GTP header is a normal IP header. > +#define GTPC_V4_FLOW 0x15 /* hash only */ > +#define GTPC_V6_FLOW 0x16 /* hash only */ Are there really deployments where the *very limited* GTP-C control traffic needs RSS for scalability? The control plane GTP-C traffic during session setup or mobility is extremely little, compared to GTP-U. Also, same question applies: Why is hasing the v4/v6 destination address GTP specific and not generic like any other IP packet? > +#define GTPC_TEID_V4_FLOW 0x17 /* hash only */ > +#define GTPC_TEID_V6_FLOW 0x18 /* hash only */ Why do we have TEID based hashing only in GTP-C? The User plane in GTP-U is normally what you'd want to load-share across CPUs/nodes/... That's where you have thousands to millions more packets than GTP-C. What am I missing? > +#define GTPU_EH_V4_FLOW 0x19 /* hash only */ > +#define GTPU_EH_V6_FLOW 0x20 /* hash only */ > +#define GTPU_UL_V4_FLOW 0x21 /* hash only */ > +#define GTPU_UL_V6_FLOW 0x22 /* hash only */ > +#define GTPU_DL_V4_FLOW 0x23 /* hash only */ > +#define GTPU_DL_V6_FLOW 0x24 /* hash only */ Can you explain what those are supposed to do? what exactly are those hashing on? IMHO that kind of explanation should be in the comment next to the #define (for all of them) rather than "hash only". That way it's obvious to the reader what they do, rather than having to guess. -- - Harald Welte https://laforge.gnumonks.org/ ============================================================================ "Privacy in residential applications is a desirable marketing option." (ETSI EN 300 175-7 Ch. A6)