From: Takashi Kozu <takkozu@amazon.com>
To: <anthony.l.nguyen@intel.com>
Cc: <przemyslaw.kitszel@intel.com>, <andrew+netdev@lunn.ch>,
<davem@davemloft.net>, <edumazet@google.com>, <kuba@kernel.org>,
<pabeni@redhat.com>, <intel-wired-lan@lists.osuosl.org>,
<netdev@vger.kernel.org>, <aleksandr.loktionov@intel.com>,
<pmenzel@molgen.mpg.de>, <piotr.kwapulinski@intel.com>,
<enjuk@amazon.com>, Takashi Kozu <takkozu@amazon.com>
Subject: [Intel-wired-lan] [PATCH iwl-next v4 2/3] igb: expose RSS key via ethtool get_rxfh
Date: Tue, 20 Jan 2026 18:34:39 +0900 [thread overview]
Message-ID: <20260120093441.70075-7-takkozu@amazon.com> (raw)
In-Reply-To: <20260120093441.70075-5-takkozu@amazon.com>
Implement igb_get_rxfh_key_size() and extend
igb_get_rxfh() to return the RSS key to userspace.
This can be tested using `ethtool -x <dev>`.
Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
Signed-off-by: Takashi Kozu <takkozu@amazon.com>
---
drivers/net/ethernet/intel/igb/igb_ethtool.c | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ethernet/intel/igb/igb_ethtool.c b/drivers/net/ethernet/intel/igb/igb_ethtool.c
index a93069b761a6..b387121f0ea7 100644
--- a/drivers/net/ethernet/intel/igb/igb_ethtool.c
+++ b/drivers/net/ethernet/intel/igb/igb_ethtool.c
@@ -3297,10 +3297,12 @@ static int igb_get_rxfh(struct net_device *netdev,
int i;
rxfh->hfunc = ETH_RSS_HASH_TOP;
- if (!rxfh->indir)
- return 0;
- for (i = 0; i < IGB_RETA_SIZE; i++)
- rxfh->indir[i] = adapter->rss_indir_tbl[i];
+ if (rxfh->indir)
+ for (i = 0; i < IGB_RETA_SIZE; i++)
+ rxfh->indir[i] = adapter->rss_indir_tbl[i];
+
+ if (rxfh->key)
+ memcpy(rxfh->key, adapter->rss_key, sizeof(adapter->rss_key));
return 0;
}
@@ -3340,6 +3342,11 @@ void igb_write_rss_indir_tbl(struct igb_adapter *adapter)
}
}
+static u32 igb_get_rxfh_key_size(struct net_device *netdev)
+{
+ return IGB_RSS_KEY_SIZE;
+}
+
static int igb_set_rxfh(struct net_device *netdev,
struct ethtool_rxfh_param *rxfh,
struct netlink_ext_ack *extack)
@@ -3504,6 +3511,7 @@ static const struct ethtool_ops igb_ethtool_ops = {
.get_module_eeprom = igb_get_module_eeprom,
.get_rxfh_indir_size = igb_get_rxfh_indir_size,
.get_rxfh = igb_get_rxfh,
+ .get_rxfh_key_size = igb_get_rxfh_key_size,
.set_rxfh = igb_set_rxfh,
.get_rxfh_fields = igb_get_rxfh_fields,
.set_rxfh_fields = igb_set_rxfh_fields,
--
2.52.0
WARNING: multiple messages have this Message-ID (diff)
From: Takashi Kozu <takkozu@amazon.com>
To: <anthony.l.nguyen@intel.com>
Cc: <przemyslaw.kitszel@intel.com>, <andrew+netdev@lunn.ch>,
<davem@davemloft.net>, <edumazet@google.com>, <kuba@kernel.org>,
<pabeni@redhat.com>, <intel-wired-lan@lists.osuosl.org>,
<netdev@vger.kernel.org>, <aleksandr.loktionov@intel.com>,
<pmenzel@molgen.mpg.de>, <piotr.kwapulinski@intel.com>,
<enjuk@amazon.com>, Takashi Kozu <takkozu@amazon.com>
Subject: [PATCH iwl-next v4 2/3] igb: expose RSS key via ethtool get_rxfh
Date: Tue, 20 Jan 2026 18:34:39 +0900 [thread overview]
Message-ID: <20260120093441.70075-7-takkozu@amazon.com> (raw)
In-Reply-To: <20260120093441.70075-5-takkozu@amazon.com>
Implement igb_get_rxfh_key_size() and extend
igb_get_rxfh() to return the RSS key to userspace.
This can be tested using `ethtool -x <dev>`.
Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
Signed-off-by: Takashi Kozu <takkozu@amazon.com>
---
drivers/net/ethernet/intel/igb/igb_ethtool.c | 16 ++++++++++++----
1 file changed, 12 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ethernet/intel/igb/igb_ethtool.c b/drivers/net/ethernet/intel/igb/igb_ethtool.c
index a93069b761a6..b387121f0ea7 100644
--- a/drivers/net/ethernet/intel/igb/igb_ethtool.c
+++ b/drivers/net/ethernet/intel/igb/igb_ethtool.c
@@ -3297,10 +3297,12 @@ static int igb_get_rxfh(struct net_device *netdev,
int i;
rxfh->hfunc = ETH_RSS_HASH_TOP;
- if (!rxfh->indir)
- return 0;
- for (i = 0; i < IGB_RETA_SIZE; i++)
- rxfh->indir[i] = adapter->rss_indir_tbl[i];
+ if (rxfh->indir)
+ for (i = 0; i < IGB_RETA_SIZE; i++)
+ rxfh->indir[i] = adapter->rss_indir_tbl[i];
+
+ if (rxfh->key)
+ memcpy(rxfh->key, adapter->rss_key, sizeof(adapter->rss_key));
return 0;
}
@@ -3340,6 +3342,11 @@ void igb_write_rss_indir_tbl(struct igb_adapter *adapter)
}
}
+static u32 igb_get_rxfh_key_size(struct net_device *netdev)
+{
+ return IGB_RSS_KEY_SIZE;
+}
+
static int igb_set_rxfh(struct net_device *netdev,
struct ethtool_rxfh_param *rxfh,
struct netlink_ext_ack *extack)
@@ -3504,6 +3511,7 @@ static const struct ethtool_ops igb_ethtool_ops = {
.get_module_eeprom = igb_get_module_eeprom,
.get_rxfh_indir_size = igb_get_rxfh_indir_size,
.get_rxfh = igb_get_rxfh,
+ .get_rxfh_key_size = igb_get_rxfh_key_size,
.set_rxfh = igb_set_rxfh,
.get_rxfh_fields = igb_get_rxfh_fields,
.set_rxfh_fields = igb_set_rxfh_fields,
--
2.52.0
next prev parent reply other threads:[~2026-01-20 9:35 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-20 9:34 [Intel-wired-lan] [PATCH iwl-next v4 0/3] igb: add RSS key get/set support Takashi Kozu
2026-01-20 9:34 ` Takashi Kozu
2026-01-20 9:34 ` [Intel-wired-lan] [PATCH iwl-next v4 1/3] igb: prepare for " Takashi Kozu
2026-01-20 9:34 ` Takashi Kozu
2026-01-20 9:36 ` [Intel-wired-lan] " Loktionov, Aleksandr
2026-01-20 9:36 ` Loktionov, Aleksandr
2026-01-20 15:26 ` [Intel-wired-lan] " Kwapulinski, Piotr
2026-01-20 15:26 ` Kwapulinski, Piotr
2026-01-20 9:34 ` Takashi Kozu [this message]
2026-01-20 9:34 ` [PATCH iwl-next v4 2/3] igb: expose RSS key via ethtool get_rxfh Takashi Kozu
2026-01-20 9:34 ` [Intel-wired-lan] [PATCH iwl-next v4 3/3] igb: allow configuring RSS key via ethtool set_rxfh Takashi Kozu
2026-01-20 9:34 ` Takashi Kozu
2026-01-25 13:12 ` [Intel-wired-lan] " Kohei Enju
2026-01-25 13:12 ` Kohei Enju
2026-01-27 22:33 ` [Intel-wired-lan] " Tony Nguyen
2026-01-27 22:33 ` Tony Nguyen
2026-01-28 6:09 ` [Intel-wired-lan] [PATCH iwl-next v4 3/3] igb: allow configuring RSS key via Kohei Enju
2026-01-28 6:09 ` Kohei Enju
2026-01-28 17:33 ` [Intel-wired-lan] " Tony Nguyen
2026-01-28 17:33 ` Tony Nguyen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260120093441.70075-7-takkozu@amazon.com \
--to=takkozu@amazon.com \
--cc=aleksandr.loktionov@intel.com \
--cc=andrew+netdev@lunn.ch \
--cc=anthony.l.nguyen@intel.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=enjuk@amazon.com \
--cc=intel-wired-lan@lists.osuosl.org \
--cc=kuba@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=piotr.kwapulinski@intel.com \
--cc=pmenzel@molgen.mpg.de \
--cc=przemyslaw.kitszel@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.