[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <IA3PR11MB8986AAF1ADDD1849D28B0A0BE577A@IA3PR11MB8986.namprd11.prod.outlook.com>
Date: Fri, 13 Jun 2025 07:49:59 +0000
From: "Loktionov, Aleksandr" <aleksandr.loktionov@...el.com>
To: Jakub Kicinski <kuba@...nel.org>, "davem@...emloft.net"
<davem@...emloft.net>
CC: "netdev@...r.kernel.org" <netdev@...r.kernel.org>, "edumazet@...gle.com"
<edumazet@...gle.com>, "pabeni@...hat.com" <pabeni@...hat.com>,
"andrew+netdev@...n.ch" <andrew+netdev@...n.ch>, "horms@...nel.org"
<horms@...nel.org>, "intel-wired-lan@...ts.osuosl.org"
<intel-wired-lan@...ts.osuosl.org>, "Nguyen, Anthony L"
<anthony.l.nguyen@...el.com>, "Kitszel, Przemyslaw"
<przemyslaw.kitszel@...el.com>, "Keller, Jacob E" <jacob.e.keller@...el.com>,
"michal.swiatkowski@...ux.intel.com" <michal.swiatkowski@...ux.intel.com>
Subject: RE: [Intel-wired-lan] [PATCH net-next 7/7] eth: iavf: migrate to new
RXFH callbacks
> -----Original Message-----
> From: Intel-wired-lan <intel-wired-lan-bounces@...osl.org> On Behalf
> Of Jakub Kicinski
> Sent: Friday, June 13, 2025 3:01 AM
> To: davem@...emloft.net
> Cc: netdev@...r.kernel.org; edumazet@...gle.com; pabeni@...hat.com;
> andrew+netdev@...n.ch; horms@...nel.org; intel-wired-
> lan@...ts.osuosl.org; Nguyen, Anthony L <anthony.l.nguyen@...el.com>;
> Kitszel, Przemyslaw <przemyslaw.kitszel@...el.com>; Keller, Jacob E
> <jacob.e.keller@...el.com>; michal.swiatkowski@...ux.intel.com; Jakub
> Kicinski <kuba@...nel.org>
> 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 <kuba@...nel.org>
Reviewed-by: Aleksandr Loktionov <aleksandr.loktionov@...el.com>
> ---
> .../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
Powered by blists - more mailing lists