Commit f017156a authored by Kohei Enju's avatar Kohei Enju Committed by Jakub Kicinski
Browse files

net: ena: return 0 in ena_get_rxfh_key_size() when RSS hash key is not configurable



In EC2 instances where the RSS hash key is not configurable, ethtool
shows bogus RSS hash key since ena_get_rxfh_key_size() unconditionally
returns ENA_HASH_KEY_SIZE.

Commit 6a4f7dc8 ("net: ena: rss: do not allocate key when not
supported") added proper handling for devices that don't support RSS
hash key configuration, but ena_get_rxfh_key_size() has been unchanged.

When the RSS hash key is not configurable, return 0 instead of
ENA_HASH_KEY_SIZE to clarify getting the value is not supported.

Tested on m5 instance families.

Without patch:
 # ethtool -x ens5 | grep -A 1 "RSS hash key"
 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

With patch:
 # ethtool -x ens5 | grep -A 1 "RSS hash key"
 RSS hash key:
 Operation not supported

Fixes: 6a4f7dc8 ("net: ena: rss: do not allocate key when not supported")
Signed-off-by: default avatarKohei Enju <enjuk@amazon.com>
Link: https://patch.msgid.link/20250929050247.51680-1-enjuk@amazon.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 8425161a
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -865,7 +865,10 @@ static u32 ena_get_rxfh_indir_size(struct net_device *netdev)

static u32 ena_get_rxfh_key_size(struct net_device *netdev)
{
	return ENA_HASH_KEY_SIZE;
	struct ena_adapter *adapter = netdev_priv(netdev);
	struct ena_rss *rss = &adapter->ena_dev->rss;

	return rss->hash_key ? ENA_HASH_KEY_SIZE : 0;
}

static int ena_indirection_table_set(struct ena_adapter *adapter,