]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
eth: ixgbe: migrate to new RXFH callbacks
authorJakub Kicinski <kuba@kernel.org>
Sat, 14 Jun 2025 18:09:03 +0000 (11:09 -0700)
committerJakub Kicinski <kuba@kernel.org>
Tue, 17 Jun 2025 01:14:52 +0000 (18:14 -0700)
Migrate to new callbacks added by commit 9bb00786fc61 ("net: ethtool:
add dedicated callbacks for getting and setting rxfh fields").

Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
Reviewed-by: Joe Damato <joe@dama.to>
Reviewed-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Reviewed-by: Jacob Keller <jacob.e.keller@intel.com>
Link: https://patch.msgid.link/20250614180907.4167714-4-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/intel/ixgbe/ixgbe_ethtool.c

index 1dc1c6e611a40429850064e5770953d773ee7323..25c3a09ad7f1c8d35b1d37145856c0a6b75c854c 100644 (file)
@@ -2753,9 +2753,11 @@ static int ixgbe_get_ethtool_fdir_all(struct ixgbe_adapter *adapter,
        return 0;
 }
 
-static int ixgbe_get_rss_hash_opts(struct ixgbe_adapter *adapter,
-                                  struct ethtool_rxnfc *cmd)
+static int ixgbe_get_rxfh_fields(struct net_device *dev,
+                                struct ethtool_rxfh_fields *cmd)
 {
+       struct ixgbe_adapter *adapter = ixgbe_from_netdev(dev);
+
        cmd->data = 0;
 
        /* Report default options for RSS on ixgbe */
@@ -2825,9 +2827,6 @@ static int ixgbe_get_rxnfc(struct net_device *dev, struct ethtool_rxnfc *cmd,
        case ETHTOOL_GRXCLSRLALL:
                ret = ixgbe_get_ethtool_fdir_all(adapter, cmd, rule_locs);
                break;
-       case ETHTOOL_GRXFH:
-               ret = ixgbe_get_rss_hash_opts(adapter, cmd);
-               break;
        default:
                break;
        }
@@ -3079,9 +3078,11 @@ static int ixgbe_del_ethtool_fdir_entry(struct ixgbe_adapter *adapter,
 
 #define UDP_RSS_FLAGS (IXGBE_FLAG2_RSS_FIELD_IPV4_UDP | \
                       IXGBE_FLAG2_RSS_FIELD_IPV6_UDP)
-static int ixgbe_set_rss_hash_opt(struct ixgbe_adapter *adapter,
-                                 struct ethtool_rxnfc *nfc)
+static int ixgbe_set_rxfh_fields(struct net_device *dev,
+                                const struct ethtool_rxfh_fields *nfc,
+                                struct netlink_ext_ack *extack)
 {
+       struct ixgbe_adapter *adapter = ixgbe_from_netdev(dev);
        u32 flags2 = adapter->flags2;
 
        /*
@@ -3204,9 +3205,6 @@ static int ixgbe_set_rxnfc(struct net_device *dev, struct ethtool_rxnfc *cmd)
        case ETHTOOL_SRXCLSRLDEL:
                ret = ixgbe_del_ethtool_fdir_entry(adapter, cmd);
                break;
-       case ETHTOOL_SRXFH:
-               ret = ixgbe_set_rss_hash_opt(adapter, cmd);
-               break;
        default:
                break;
        }
@@ -3751,6 +3749,8 @@ static const struct ethtool_ops ixgbe_ethtool_ops = {
        .get_rxfh_key_size      = ixgbe_get_rxfh_key_size,
        .get_rxfh               = ixgbe_get_rxfh,
        .set_rxfh               = ixgbe_set_rxfh,
+       .get_rxfh_fields        = ixgbe_get_rxfh_fields,
+       .set_rxfh_fields        = ixgbe_set_rxfh_fields,
        .get_eee                = ixgbe_get_eee,
        .set_eee                = ixgbe_set_eee,
        .get_channels           = ixgbe_get_channels,
@@ -3797,6 +3797,8 @@ static const struct ethtool_ops ixgbe_ethtool_ops_e610 = {
        .get_rxfh_key_size      = ixgbe_get_rxfh_key_size,
        .get_rxfh               = ixgbe_get_rxfh,
        .set_rxfh               = ixgbe_set_rxfh,
+       .get_rxfh_fields        = ixgbe_get_rxfh_fields,
+       .set_rxfh_fields        = ixgbe_set_rxfh_fields,
        .get_eee                = ixgbe_get_eee,
        .set_eee                = ixgbe_set_eee,
        .get_channels           = ixgbe_get_channels,