[<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