> -----Original Message-----
> From: Intel-wired-lan <[email protected]> On Behalf
> Of Jakub Kicinski
> Sent: Friday, June 13, 2025 3:01 AM
> To: [email protected]
> Cc: [email protected]; [email protected]; [email protected];
> [email protected]; [email protected]; intel-wired-
> [email protected]; Nguyen, Anthony L <[email protected]>;
> Kitszel, Przemyslaw <[email protected]>; Keller, Jacob E
> <[email protected]>; [email protected]; Jakub
> Kicinski <[email protected]>
> Subject: [Intel-wired-lan] [PATCH net-next 2/7] eth: igc: migrate to
> new RXFH callbacks
> 
> Migrate to new callbacks added by commit 9bb00786fc61 ("net: ethtool:
> add dedicated callbacks for getting and setting rxfh fields").
> 
> Signed-off-by: Jakub Kicinski <[email protected]>
Reviewed-by: Aleksandr Loktionov <[email protected]>
> ---
>  drivers/net/ethernet/intel/igc/igc_ethtool.c | 18 ++++++++++--------
>  1 file changed, 10 insertions(+), 8 deletions(-)
> 
> diff --git a/drivers/net/ethernet/intel/igc/igc_ethtool.c
> b/drivers/net/ethernet/intel/igc/igc_ethtool.c
> index 3fc1eded9605..e6cac8d4b862 100644
> --- a/drivers/net/ethernet/intel/igc/igc_ethtool.c
> +++ b/drivers/net/ethernet/intel/igc/igc_ethtool.c
> @@ -1045,9 +1045,11 @@ static int igc_ethtool_get_nfc_rules(struct
> igc_adapter *adapter,
>       return 0;
>  }
> 
> -static int igc_ethtool_get_rss_hash_opts(struct igc_adapter *adapter,
> -                                      struct ethtool_rxnfc *cmd)
> +static int igc_ethtool_get_rxfh_fields(struct net_device *dev,
> +                                    struct ethtool_rxfh_fields *cmd)
>  {
> +     struct igc_adapter *adapter = netdev_priv(dev);
> +
>       cmd->data = 0;
> 
>       /* Report default options for RSS on igc */ @@ -1103,8 +1105,6
> @@ static int igc_ethtool_get_rxnfc(struct net_device *dev,
>               return igc_ethtool_get_nfc_rule(adapter, cmd);
>       case ETHTOOL_GRXCLSRLALL:
>               return igc_ethtool_get_nfc_rules(adapter, cmd,
> rule_locs);
> -     case ETHTOOL_GRXFH:
> -             return igc_ethtool_get_rss_hash_opts(adapter, cmd);
>       default:
>               return -EOPNOTSUPP;
>       }
> @@ -1112,9 +1112,11 @@ static int igc_ethtool_get_rxnfc(struct
> net_device *dev,
> 
>  #define UDP_RSS_FLAGS (IGC_FLAG_RSS_FIELD_IPV4_UDP | \
>                      IGC_FLAG_RSS_FIELD_IPV6_UDP)
> -static int igc_ethtool_set_rss_hash_opt(struct igc_adapter *adapter,
> -                                     struct ethtool_rxnfc *nfc)
> +static int igc_ethtool_set_rxfh_fields(struct net_device *dev,
> +                                    const struct ethtool_rxfh_fields
> *nfc,
> +                                    struct netlink_ext_ack *extack)
>  {
> +     struct igc_adapter *adapter = netdev_priv(dev);
>       u32 flags = adapter->flags;
> 
>       /* RSS does not support anything other than hashing @@ -1425,8
> +1427,6 @@ static int igc_ethtool_set_rxnfc(struct net_device *dev,
>       struct igc_adapter *adapter = netdev_priv(dev);
> 
>       switch (cmd->cmd) {
> -     case ETHTOOL_SRXFH:
> -             return igc_ethtool_set_rss_hash_opt(adapter, cmd);
>       case ETHTOOL_SRXCLSRLINS:
>               return igc_ethtool_add_nfc_rule(adapter, cmd);
>       case ETHTOOL_SRXCLSRLDEL:
> @@ -2144,6 +2144,8 @@ static const struct ethtool_ops igc_ethtool_ops
> = {
>       .get_rxfh_indir_size    = igc_ethtool_get_rxfh_indir_size,
>       .get_rxfh               = igc_ethtool_get_rxfh,
>       .set_rxfh               = igc_ethtool_set_rxfh,
> +     .get_rxfh_fields        = igc_ethtool_get_rxfh_fields,
> +     .set_rxfh_fields        = igc_ethtool_set_rxfh_fields,
>       .get_ts_info            = igc_ethtool_get_ts_info,
>       .get_channels           = igc_ethtool_get_channels,
>       .set_channels           = igc_ethtool_set_channels,
> --
> 2.49.0

Reply via email to