[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20260119084511.95287-5-takkozu@amazon.com>
Date: Mon, 19 Jan 2026 17:45:04 +0900
From: Takashi Kozu <takkozu@...zon.com>
To: <anthony.l.nguyen@...el.com>
CC: <przemyslaw.kitszel@...el.com>, <andrew+netdev@...n.ch>,
<davem@...emloft.net>, <edumazet@...gle.com>, <kuba@...nel.org>,
<pabeni@...hat.com>, <intel-wired-lan@...ts.osuosl.org>,
<netdev@...r.kernel.org>, <aleksandr.loktionov@...el.com>,
<pmenzel@...gen.mpg.de>, <piotr.kwapulinski@...el.com>, Takashi Kozu
<takkozu@...zon.com>
Subject: [PATCH iwl-next v3 0/3] igb: add RSS key get/set support
This series adds ethtool get/set support for the RSS hash key in the igb
driver.
- `ethtool -x <dev>` to display the RSS key
- `ethtool -X <dev> hkey <key>` to configure the RSS key
Without patch:
# ethtool -x $DEV | grep key -A1
RSS hash key:
Operation not supported
# ethtool -X $DEV hkey 00:00:00:00:00:00:00:00:00:00:00:00:000
Cannot set RX flow hash configuration:
Hash key setting not supported
With patch:
# ethtool -x $DEV | grep key -A1
RSS hash key:
86:5d:11:56:bd:6f:20:38:3b:f8:bb:df:00:3a:b0:24:95:9f:f9:f4:25:a3:01:3e:4a:15:d6:7c:4d:af:39:7e:4a:95:f2:fd:f6:b6:26:f7
# ethtool -X $DEV hkey 00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
# ethtool -x $DEV | grep key -A1
RSS hash key:
00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
<Changelog>
v3:
- add ASSERT_RTNL() to explicitly show that an rtnl lock is being used
- Move netdev_rss_key_fill() function from igb_setup_mrqc() to igb_sw_init()
- Add kernel-doc header to igb_write_rss_key()
<Test>
- tools/testing/selftests/drivers/net/hw/rss_api.py is successful
Run the following command
# NETIF=enp0s3 python tools/testing/selftests/drivers/net/hw/rss_api.py | grep -v "# Exception"
Then, I checked the diffs before and after applying the patch
$ diff beforePatch.txt afterPatch.txt
9c9
< not ok 6 rss_api.test_rxfh_nl_set_key
---
> ok 6 rss_api.test_rxfh_nl_set_key
16c16
< # Totals: pass:4 fail:8 xfail:0 xpass:0 skip:0 error:0
---
> # Totals: pass:5 fail:7 xfail:0 xpass:0 skip:0 error:0
The failing tests originally fails due to hardware.
- tools/testing/selftests/drivers/net/hw/toeplitz.py is untested since there is no actual hardware, but since the logic around wr32() is preserved as it is, key writing to the device remain the same.
v2: Fix typos (igc_* → igb_*)
https://lore.kernel.org/intel-wired-lan/20260108052020.84218-5-takkozu@amazon.com/T/
v1: https://lore.kernel.org/all/20251205082106.4028-5-takkozu@amazon.com/
Takashi Kozu (3):
igb: prepare for RSS key get/set support
igb: expose RSS key via ethtool get_rxfh
igb: allow configuring RSS key via ethtool set_rxfh
drivers/net/ethernet/intel/igb/igb.h | 4 +
drivers/net/ethernet/intel/igb/igb_ethtool.c | 86 ++++++++++++++------
drivers/net/ethernet/intel/igb/igb_main.c | 9 +-
3 files changed, 69 insertions(+), 30 deletions(-)
--
2.52.0
Powered by blists - more mailing lists