Version 6.19 - Feb 14, 2026 * Feature: support HW timestamp configuration (--set-hwtimestamp-cfg) * Feature: display HW timestamp source (-T) * Feature: support PLCA notifications (--get/set-plca-cfg) * Feature: add PSE priority management support (--show/set-pse) * Feature: support PSE notifications (--show/set-pse) * Feature: support configuring RSS on IPv6 Flow Label (-n/-N) * Feature: support FEC bit error histograms (--show-fec) * Feature: register dump decoding for TI K3 CPSW and its ALE table (-d) * Fix: fix missing headers in text output * Fix: fix print_string when the value is NULL (-Werror=format-security) * Fix: fix JSON output of SFP diagnostics * Fix: fix duplicated JSON keys in module info * Misc: clarify that symmetric RSS may be on by default (-x/-X) * Misc: add AppStream metainfo file to %files section Link: https://github.com/openwrt/openwrt/pull/22780 Signed-off-by: Nick Hainke <vincent@systemli.org>
73 lines
2.5 KiB
Diff
73 lines
2.5 KiB
Diff
From c88eb6f4e9b2d8f71f3391db2bf0ec82ecccae81 Mon Sep 17 00:00:00 2001
|
|
From: Daniel Golle <daniel@makrotopia.org>
|
|
Date: Wed, 12 Feb 2025 04:12:42 +0000
|
|
Subject: [PATCH] ethtool: make building for RSS input xfrm optional
|
|
|
|
Unfortunately there is no way to detect at runtime if the kernel the
|
|
support for RSS input transformation, and the default value
|
|
RXH_XFRM_NO_CHANGE (0xff) used by newer ethtool results in breakage
|
|
with older kernels.
|
|
As a stop-gap solution simply don't compile with support for input
|
|
xfrm by default.
|
|
|
|
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
|
|
---
|
|
configure.ac | 10 ++++++++++
|
|
ethtool.c | 10 ++++++++++
|
|
2 files changed, 20 insertions(+)
|
|
|
|
--- a/configure.ac
|
|
+++ b/configure.ac
|
|
@@ -45,6 +45,16 @@ if test x$enable_pretty_dump = xyes; the
|
|
fi
|
|
AM_CONDITIONAL([ETHTOOL_ENABLE_PRETTY_DUMP], [test x$enable_pretty_dump = xyes])
|
|
|
|
+AC_ARG_ENABLE(rss-input-xfrm,
|
|
+ [ --enable-rss-input-xfrm build with support for RSS input transformation (disabled by default)],
|
|
+ ,
|
|
+ enable_rss_input_xfrm=no)
|
|
+if test x$enable_rss_input_xfrm = xyes; then
|
|
+ AC_DEFINE(ETHTOOL_ENABLE_RSS_INPUT_XFRM, 1,
|
|
+ [Define this to enable building with support for RSS input transformation.])
|
|
+fi
|
|
+AM_CONDITIONAL([ETHTOOL_ENABLE_RSS_INPUT_XFRM], [test x$enable_rss_input_xfrm = xyes])
|
|
+
|
|
AC_ARG_WITH([bash-completion-dir],
|
|
AS_HELP_STRING([--with-bash-completion-dir[=PATH]],
|
|
[Install the bash-completion script in this directory. @<:@default=yes@:>@]),
|
|
--- a/ethtool.c
|
|
+++ b/ethtool.c
|
|
@@ -4176,7 +4176,7 @@ static int do_grxfh(struct cmd_context *
|
|
}
|
|
if (rss->hfunc)
|
|
printf(" Unknown hash function: 0x%x\n", rss->hfunc);
|
|
-
|
|
+#ifdef ETHTOOL_ENABLE_RSS_INPUT_XFRM
|
|
printf("RSS input transformation:\n");
|
|
printf(" symmetric-xor: %s\n",
|
|
(rss->input_xfrm & RXH_XFRM_SYM_XOR) ? "on" : "off");
|
|
@@ -4188,6 +4188,7 @@ static int do_grxfh(struct cmd_context *
|
|
if (rss->input_xfrm)
|
|
printf(" Unknown bits in RSS input transformation: 0x%x\n",
|
|
rss->input_xfrm);
|
|
+#endif
|
|
|
|
out:
|
|
free(hfuncs);
|
|
@@ -4509,7 +4510,15 @@ static int do_srxfh(struct cmd_context *
|
|
rss->cmd = ETHTOOL_SRSSH;
|
|
rss->rss_context = rss_context;
|
|
rss->hfunc = req_hfunc;
|
|
+#ifdef ETHTOOL_ENABLE_RSS_INPUT_XFRM
|
|
rss->input_xfrm = req_input_xfrm;
|
|
+#else
|
|
+ if (req_input_xfrm != 0xff) {
|
|
+ perror("Compiled for kernel without support for input transformation");
|
|
+ err = 1;
|
|
+ goto free;
|
|
+ }
|
|
+#endif
|
|
if (delete) {
|
|
rss->indir_size = rss->key_size = 0;
|
|
} else {
|