From patchwork Sat Jan 27 14:07:48 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Takeru Hayasaka X-Patchwork-Id: 193013 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7301:2395:b0:106:343:edcb with SMTP id gw21csp516612dyb; Sat, 27 Jan 2024 06:34:54 -0800 (PST) X-Google-Smtp-Source: AGHT+IFVqO+FsAx62zS+CPcqxULtYjiHqmbi0f4ZuWhRRfc6fR9N4x1Fulu7vd/1n7+ICqw4rwxh X-Received: by 2002:a17:906:d146:b0:a30:f558:e04f with SMTP id br6-20020a170906d14600b00a30f558e04fmr1451857ejb.7.1706366094566; Sat, 27 Jan 2024 06:34:54 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1706366094; cv=pass; d=google.com; s=arc-20160816; b=QnHsAdkm368CVvkHR4MKjetcyZuBq0DRd8TpPAEnES1l/usihA93GuJAXoVCdlvyyf z9XcB0mV+IaO1iBkfrV8nyJ49ruAy/wpbyGhXQlv7K6//rtpPngvyqRPbj7GZNaQeaVR un6A4ssYWxicWnWQOzlCVAmNC6HptZzZZyjHhRINwz9B/mqlmBoC1nP6MxIOrgWaHaaE QsaNHGFzw1eGsnCJ9DpNzTitDDgG3gaLsLZvbZ8kv+inw4hs6KvVULOikISAO9XxgJFa EWtqi1hb0NYe/XEX+2PHQwxlkeEsGMDDPOnqSB5z/ir/hE2e9n5oOja7xlHJ3vXq842e 64qA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:message-id:date:subject:cc:to :from:dkim-signature; bh=DU2wtgM1sYNlNq0tFEhGIhqfxPmXsPzm3Qf0VdWlxiM=; fh=fXglUzvFb2UdN+tlgKJuWgCnq9kfiKpmowIOK0NHDwM=; b=Gvk/xmGAobMEDg0Zzb5yK4HbIqCF4XJ7FlizzE3SzIB8uGF/4oby/RFLLkgMO2Rlnv Qqq+vYo+o56iDzHIR7CgF1fJwVbIOQbKBXS9zgc7FKzL1mutBbZQGVf9XHbl+7tzSOCn YeLfd8HoZ1dm8qK7P6j9F/edzysvj4E4fIczTZiS3ifglRhs61cw30XqofRqzkRD2+Jc Z+SjEvRzPeCiVmvYzsLlADf9Z+qNK9JLwn3iZawAqMjqCBTpXguKU/w9S8YDB+RLtjtW aLJI1E4UZUzvIYp1affguYHmHx7qijY/bVsxywNTrvurqHMNc4ppwDRAyiHS8eBJHRMZ bx4A== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=YQvYH4fF; arc=pass (i=1 spf=pass spfdomain=gmail.com dkim=pass dkdomain=gmail.com dmarc=pass fromdomain=gmail.com); spf=pass (google.com: domain of linux-kernel+bounces-41214-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-41214-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from am.mirrors.kernel.org (am.mirrors.kernel.org. [2604:1380:4601:e00::3]) by mx.google.com with ESMTPS id lf9-20020a170907174900b00a34b073cadbsi1620049ejc.315.2024.01.27.06.34.54 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 27 Jan 2024 06:34:54 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-41214-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) client-ip=2604:1380:4601:e00::3; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=YQvYH4fF; arc=pass (i=1 spf=pass spfdomain=gmail.com dkim=pass dkdomain=gmail.com dmarc=pass fromdomain=gmail.com); spf=pass (google.com: domain of linux-kernel+bounces-41214-ouuuleilei=gmail.com@vger.kernel.org designates 2604:1380:4601:e00::3 as permitted sender) smtp.mailfrom="linux-kernel+bounces-41214-ouuuleilei=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by am.mirrors.kernel.org (Postfix) with ESMTPS id 094A21F229D7 for ; Sat, 27 Jan 2024 14:34:54 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 05A2928E1B; Sat, 27 Jan 2024 14:34:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="YQvYH4fF" Received: from mail-pf1-f180.google.com (mail-pf1-f180.google.com [209.85.210.180]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F3C5028DA0; Sat, 27 Jan 2024 14:34:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.180 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706366063; cv=none; b=Nydk2BskrJW+NukTSZN07TTKRxmZE8mtcpfQsllXTF9xfKX+/+hkF7xaC+wpsex1j6UIXYRf2zhuADnKmzSS74O2Vtt53GBJFVSmS2HLys4un+fo9xKxxZiSK6FY36RTMIMVZAK1mJ/YKbq9QWxPBFCbrD6FTnRpG/GsrGCHBdo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1706366063; c=relaxed/simple; bh=SwgbL6R6rjtyODBrPAM5Rc0AGgL/I6UBGUJ2RqnTg48=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=Wbst8kfWDKhFPPiJMpk+ViGE1BX2NXIlSeM+bEbaEgkYSNcwfhGO1+lOabIirWfCkWIxDiJgyqpyMJCan1Fovc1wrm1MOEuan4rXU3xG+SfAHJpjPxUwa5GEyeW4+vKz7pnHVNtwrYUHt+wfVa+PiUnsoBTm8qHCdLa+jhEMoL4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=YQvYH4fF; arc=none smtp.client-ip=209.85.210.180 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-pf1-f180.google.com with SMTP id d2e1a72fcca58-6ddc0c02593so710896b3a.3; Sat, 27 Jan 2024 06:34:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1706366061; x=1706970861; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=DU2wtgM1sYNlNq0tFEhGIhqfxPmXsPzm3Qf0VdWlxiM=; b=YQvYH4fFUFBcbwa4Did97zyYjEvtbvlOS3Vigb8e4/ZEmxGfP7B4FuNwa/s/3t15iT LzPcC0dALn+NoMwVREOdOn0r6LBueQ2eDthgJUu6yMP7rzx3Iqis5mTTN9JpohZ7JPYK 2ksxwKEfvy/XJDggrqAb91PZIRn3WURWK1yO7iFHvLlC4L9nmGWqbpCRFYrnnb/zYmkO tn/zJWmWLlsWPZ3WKkW884daEpnXCsBq4FGN4AeB6jDTz21Oh6E0b6+2K51lyQHTXR2G d7uw/yt/m09mRIMWWumNT4T7dJmijqXko87fwUKnExiOm5Cc1h87/YKtdKpYygh63dkO 4d0Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1706366061; x=1706970861; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=DU2wtgM1sYNlNq0tFEhGIhqfxPmXsPzm3Qf0VdWlxiM=; b=PM0AdlCXBj0mF/vntMgO5mrB6PoLCsETEbFTjJpnhA29z1jxi7fOHd4p+8BZ8R/Jt+ TfMmtamSED0+iy9jmKNhwgCJEJeSKmnH4muWA9CKp3iemNCy077rVQtXHtYU2k38Kph8 WrU3sW8fjwpR2bqusZ1Dg5wv3YaqgWepZhCFctNyWWkmjwNJOglspymSD2VclQExONhl w45J8lUqEq1TnU+dANTb2y8oHvlLD8KyRYDNMs5Ba3KRPf0Us8Jlku313lL7oVGfpXzP aQVzk1kPyG+n1wlv9/KZllBDxqgAESo9yOa3k0pNI6xJyd4wWTKaYCEiLJ5Y3HXsXm70 ksoQ== X-Gm-Message-State: AOJu0YyVZ/i3xZ12r+Sq2X9fgr+Sbti45yyifuwf1mp0v6v8DN2+dT6P L72CQ2usxz345wEFHWcn0ekVOuvN0pBE5IoGhsF78fV8UDfLbjma X-Received: by 2002:a05:6a00:2fc3:b0:6d9:bb7c:a56d with SMTP id fn3-20020a056a002fc300b006d9bb7ca56dmr648845pfb.35.1706366061065; Sat, 27 Jan 2024 06:34:21 -0800 (PST) Received: from ocxma-dut.. ([153.126.233.62]) by smtp.gmail.com with ESMTPSA id gu7-20020a056a004e4700b006db105027basm2852463pfb.50.2024.01.27.06.34.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 27 Jan 2024 06:34:20 -0800 (PST) From: Takeru Hayasaka To: Jesse Brandeburg , Tony Nguyen , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Jonathan Corbet Cc: intel-wired-lan@lists.osuosl.org, netdev@vger.kernel.org, linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, mailhol.vincent@wanadoo.fr, vladimir.oltean@nxp.com, laforge@gnumonks.org, Takeru Hayasaka Subject: [PATCH net-next RESENT v3] ethtool: ice: Support for RSS settings to GTP from ethtool Date: Sat, 27 Jan 2024 14:07:48 +0000 Message-Id: <20240127140747.905552-1-hayatake396@gmail.com> X-Mailer: git-send-email 2.34.1 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1789117115340919770 X-GMAIL-MSGID: 1789254534047357393 This is a patch that enables RSS functionality for GTP packets using ethtool. A user can include her TEID and make RSS work for GTP-U over IPv4 by doing the following: `ethtool -N ens3 rx-flow-hash gtpu4 sde` In addition to gtpu(4|6), we now support gtpc(4|6),gtpc(4|6)t,gtpu(4|6)e,gtpu(4|6)u, and gtpu(4|6)d. gtpc(4|6): Used for GTP-C in IPv4 and IPv6, where the GTP header format does not include a TEID. gtpc(4|6)t: Used for GTP-C in IPv4 and IPv6, with a GTP header format that includes a TEID. gtpu(4|6): Used for GTP-U in both IPv4 and IPv6 scenarios. gtpu(4|6)e: Used for GTP-U with extended headers in both IPv4 and IPv6. gtpu(4|6)u: Used when the PSC (PDU session container) in the GTP-U extended header includes Uplink, applicable to both IPv4 and IPv6. gtpu(4|6)d: Used when the PSC in the GTP-U extended header includes Downlink, for both IPv4 and IPv6. GTP generates a flow that includes an ID called TEID to identify the tunnel. This tunnel is created for each UE (User Equipment).By performing RSS based on this flow, it is possible to apply RSS for each communication unit from the UE.Without this, RSS would only be effective within the range of IP addresses. For instance, the PGW can only perform RSS within the IP range of the SGW.Problematic from a load distribution perspective, especially if there's a bias in the terminals connected to a particular base station.This case can be solved by using this patch. Signed-off-by: Takeru Hayasaka --- (I have resent the submission after making revisions based on Paul's advice.) Sorry for the delay. I've been swamped with other work and fell behind. Since Harald has been supportive of the basic structure in the previous patch review, I've kept it largely unchanged but added some comments and documentation. I would appreciate it if you could review it again. .../device_drivers/ethernet/intel/ice.rst | 23 ++++-- drivers/net/ethernet/intel/ice/ice_ethtool.c | 74 +++++++++++++++++++ drivers/net/ethernet/intel/ice/ice_flow.h | 22 ++++++ drivers/net/ethernet/intel/ice/ice_lib.c | 37 ++++++++++ include/uapi/linux/ethtool.h | 41 ++++++++++ 5 files changed, 192 insertions(+), 5 deletions(-) diff --git a/Documentation/networking/device_drivers/ethernet/intel/ice.rst b/Documentation/networking/device_drivers/ethernet/intel/ice.rst index 5038e54586af..6bc1c6f10617 100644 --- a/Documentation/networking/device_drivers/ethernet/intel/ice.rst +++ b/Documentation/networking/device_drivers/ethernet/intel/ice.rst @@ -368,16 +368,29 @@ more options for Receive Side Scaling (RSS) hash byte configuration. # ethtool -N rx-flow-hash