lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <20250830200508.739431-1-kuba@kernel.org>
Date: Sat, 30 Aug 2025 13:05:08 -0700
From: Jakub Kicinski <kuba@...nel.org>
To: mkubecek@...e.cz
Cc: netdev@...r.kernel.org,
	Jakub Kicinski <kuba@...nel.org>
Subject: [PATCH ethtool-next] rxfh: IPv6 Flow Label hash support

Add support for configuring Rx hashing on the flow label.

Signed-off-by: Jakub Kicinski <kuba@...nel.org>
---
 ethtool.8.in | 1 +
 ethtool.c    | 7 ++++++-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/ethtool.8.in b/ethtool.8.in
index 29b8a8c085f1..8efd1f4ef6bc 100644
--- a/ethtool.8.in
+++ b/ethtool.8.in
@@ -1121,6 +1121,7 @@ s	Hash on the IP source address of the rx packet.
 d	Hash on the IP destination address of the rx packet.
 f	Hash on bytes 0 and 1 of the Layer 4 header of the rx packet.
 n	Hash on bytes 2 and 3 of the Layer 4 header of the rx packet.
+l	Hash on IPv6 Flow Label of the rx packet.
 r	T{
 Discard all packets of this flow type. When this option is set, all
 other options are ignored.
diff --git a/ethtool.c b/ethtool.c
index 215f5663546d..c391e5332461 100644
--- a/ethtool.c
+++ b/ethtool.c
@@ -1106,6 +1106,9 @@ static int parse_rxfhashopts(char *optstr, u32 *data)
 		case 'e':
 			*data |= RXH_GTP_TEID;
 			break;
+		case 'l':
+			*data |= RXH_IP6_FL;
+			break;
 		case 'r':
 			*data |= RXH_DISCARD;
 			break;
@@ -1140,6 +1143,8 @@ static char *unparse_rxfhashopts(u64 opts)
 			strcat(buf, "L4 bytes 2 & 3 [TCP/UDP dst port]\n");
 		if (opts & RXH_GTP_TEID)
 			strcat(buf, "GTP TEID\n");
+		if (opts & RXH_IP6_FL)
+			strcat(buf, "IPv6 Flow Label\n");
 	} else {
 		sprintf(buf, "None");
 	}
@@ -6023,7 +6028,7 @@ static const struct option args[] = {
 		.help	= "Configure Rx network flow classification options or rules",
 		.xhelp	= "		rx-flow-hash tcp4|udp4|ah4|esp4|sctp4|"
 			  "gtpc4|gtpc4t|gtpu4|gtpu4e|gtpu4u|gtpu4d|tcp6|udp6|ah6|esp6|sctp6"
-			  "|gtpc6|gtpc6t|gtpu6|gtpu6e|gtpu6u|gtpu6d m|v|t|s|d|f|n|r|e... [context %d] |\n"
+			  "|gtpc6|gtpc6t|gtpu6|gtpu6e|gtpu6u|gtpu6d m|v|t|s|d|f|n|r|e|l... [context %d] |\n"
 			  "		flow-type ether|ip4|tcp4|udp4|sctp4|ah4|esp4|"
 			  "ip6|tcp6|udp6|ah6|esp6|sctp6\n"
 			  "			[ src %x:%x:%x:%x:%x:%x [m %x:%x:%x:%x:%x:%x] ]\n"
-- 
2.51.0


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ