> -----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 7/7] eth: iavf: migrate to
> new RXFH callbacks
> 
> Migrate to new callbacks added by commit 9bb00786fc61 ("net: ethtool:
> add dedicated callbacks for getting and setting rxfh fields").
> 
> I'm deleting all the boilerplate kdoc from the affected functions.
> It is somewhere between pointless and incorrect, just a burden for
> people refactoring the code.
> 
> Signed-off-by: Jakub Kicinski <[email protected]>
Reviewed-by: Aleksandr Loktionov <[email protected]>
> ---
>  .../net/ethernet/intel/iavf/iavf_ethtool.c    | 52 ++++--------------
> -
>  1 file changed, 11 insertions(+), 41 deletions(-)
> 
> diff --git a/drivers/net/ethernet/intel/iavf/iavf_ethtool.c
> b/drivers/net/ethernet/intel/iavf/iavf_ethtool.c
> index 2b2b315205b5..05d72be3fe80 100644
> --- a/drivers/net/ethernet/intel/iavf/iavf_ethtool.c
> +++ b/drivers/net/ethernet/intel/iavf/iavf_ethtool.c
> @@ -1307,14 +1307,7 @@ static int iavf_del_fdir_ethtool(struct
> iavf_adapter *adapter, struct ethtool_rx
>       return iavf_fdir_del_fltr(adapter, false, fsp->location);  }
> 
> -/**
> - * iavf_adv_rss_parse_hdrs - parses headers from RSS hash input
> - * @cmd: ethtool rxnfc command
> - *
> - * This function parses the rxnfc command and returns intended
> - * header types for RSS configuration
> - */
> -static u32 iavf_adv_rss_parse_hdrs(struct ethtool_rxnfc *cmd)
> +static u32 iavf_adv_rss_parse_hdrs(const struct ethtool_rxfh_fields
> +*cmd)
>  {
>       u32 hdrs = IAVF_ADV_RSS_FLOW_SEG_HDR_NONE;
> 
> @@ -1350,15 +1343,8 @@ static u32 iavf_adv_rss_parse_hdrs(struct
> ethtool_rxnfc *cmd)
>       return hdrs;
>  }
> 
> -/**
> - * iavf_adv_rss_parse_hash_flds - parses hash fields from RSS hash
> input
> - * @cmd: ethtool rxnfc command
> - * @symm: true if Symmetric Topelitz is set
> - *
> - * This function parses the rxnfc command and returns intended hash
> fields for
> - * RSS configuration
> - */
> -static u64 iavf_adv_rss_parse_hash_flds(struct ethtool_rxnfc *cmd,
> bool symm)
> +static u64
> +iavf_adv_rss_parse_hash_flds(const struct ethtool_rxfh_fields *cmd,
> +bool symm)
>  {
>       u64 hfld = IAVF_ADV_RSS_HASH_INVALID;
> 
> @@ -1416,17 +1402,12 @@ static u64 iavf_adv_rss_parse_hash_flds(struct
> ethtool_rxnfc *cmd, bool symm)
>       return hfld;
>  }
> 
> -/**
> - * iavf_set_adv_rss_hash_opt - Enable/Disable flow types for RSS hash
> - * @adapter: pointer to the VF adapter structure
> - * @cmd: ethtool rxnfc command
> - *
> - * Returns Success if the flow input set is supported.
> - */
>  static int
> -iavf_set_adv_rss_hash_opt(struct iavf_adapter *adapter,
> -                       struct ethtool_rxnfc *cmd)
> +iavf_set_rxfh_fields(struct net_device *netdev,
> +                  const struct ethtool_rxfh_fields *cmd,
> +                  struct netlink_ext_ack *extack)
>  {
> +     struct iavf_adapter *adapter = netdev_priv(netdev);
>       struct iavf_adv_rss *rss_old, *rss_new;
>       bool rss_new_add = false;
>       bool symm = false;
> @@ -1493,17 +1474,10 @@ iavf_set_adv_rss_hash_opt(struct iavf_adapter
> *adapter,
>       return err;
>  }
> 
> -/**
> - * iavf_get_adv_rss_hash_opt - Retrieve hash fields for a given flow-
> type
> - * @adapter: pointer to the VF adapter structure
> - * @cmd: ethtool rxnfc command
> - *
> - * Returns Success if the flow input set is supported.
> - */
>  static int
> -iavf_get_adv_rss_hash_opt(struct iavf_adapter *adapter,
> -                       struct ethtool_rxnfc *cmd)
> +iavf_get_rxfh_fields(struct net_device *netdev, struct
> +ethtool_rxfh_fields *cmd)
>  {
> +     struct iavf_adapter *adapter = netdev_priv(netdev);
>       struct iavf_adv_rss *rss;
>       u64 hash_flds;
>       u32 hdrs;
> @@ -1568,9 +1542,6 @@ static int iavf_set_rxnfc(struct net_device
> *netdev, struct ethtool_rxnfc *cmd)
>       case ETHTOOL_SRXCLSRLDEL:
>               ret = iavf_del_fdir_ethtool(adapter, cmd);
>               break;
> -     case ETHTOOL_SRXFH:
> -             ret = iavf_set_adv_rss_hash_opt(adapter, cmd);
> -             break;
>       default:
>               break;
>       }
> @@ -1612,9 +1583,6 @@ static int iavf_get_rxnfc(struct net_device
> *netdev, struct ethtool_rxnfc *cmd,
>       case ETHTOOL_GRXCLSRLALL:
>               ret = iavf_get_fdir_fltr_ids(adapter, cmd, (u32
> *)rule_locs);
>               break;
> -     case ETHTOOL_GRXFH:
> -             ret = iavf_get_adv_rss_hash_opt(adapter, cmd);
> -             break;
>       default:
>               break;
>       }
> @@ -1812,6 +1780,8 @@ static const struct ethtool_ops iavf_ethtool_ops
> = {
>       .get_rxfh_indir_size    = iavf_get_rxfh_indir_size,
>       .get_rxfh               = iavf_get_rxfh,
>       .set_rxfh               = iavf_set_rxfh,
> +     .get_rxfh_fields        = iavf_get_rxfh_fields,
> +     .set_rxfh_fields        = iavf_set_rxfh_fields,
>       .get_channels           = iavf_get_channels,
>       .set_channels           = iavf_set_channels,
>       .get_rxfh_key_size      = iavf_get_rxfh_key_size,
> --
> 2.49.0

Reply via email to