> -----Original Message----- > From: Intel-wired-lan <[email protected]> On Behalf Of > Breno Leitao > Sent: Monday, November 24, 2025 7:19 PM > To: Lobakin, Aleksander <[email protected]>; Nguyen, Anthony L > <[email protected]>; Kitszel, Przemyslaw > <[email protected]>; Andrew Lunn <[email protected]>; David > S. Miller <[email protected]>; Eric Dumazet <[email protected]>; Jakub > Kicinski <[email protected]>; Paolo Abeni <[email protected]> > Cc: [email protected]; [email protected]; > Fijalkowski, Maciej <[email protected]>; intel-wired- > [email protected]; [email protected]; [email protected]; > [email protected]; Breno Leitao <[email protected]> > Subject: [Intel-wired-lan] [PATCH net-next 1/8] i40e: extract GRXRINGS from > .get_rxnfc > > Commit 84eaf4359c36 ("net: ethtool: add get_rx_ring_count callback to > optimize RX ring queries") added specific support for GRXRINGS callback, > simplifying .get_rxnfc. > > Remove the handling of GRXRINGS in .get_rxnfc() by moving it to the new > .get_rx_ring_count(). > > This simplifies the RX ring count retrieval and aligns i40e with the new > ethtool API for querying RX ring parameters. > > Signed-off-by: Breno Leitao <[email protected]> > --- > drivers/net/ethernet/intel/i40e/i40e_ethtool.c | 19 +++++++++++++++---- > 1 file changed, 15 insertions(+), 4 deletions(-) > > diff --git a/drivers/net/ethernet/intel/i40e/i40e_ethtool.c > b/drivers/net/ethernet/intel/i40e/i40e_ethtool.c > index 86c72596617a..64d0797f5f5e 100644 > --- a/drivers/net/ethernet/intel/i40e/i40e_ethtool.c > +++ b/drivers/net/ethernet/intel/i40e/i40e_ethtool.c > @@ -3521,6 +3521,20 @@ static int i40e_get_ethtool_fdir_entry(struct i40e_pf > *pf, > return 0; > } > > +/** > + * i40e_get_rx_ring_count - get RX ring count > + * @netdev: network interface device structure > + * > + * Returns the number of RX rings. > + **/ > +static u32 i40e_get_rx_ring_count(struct net_device *netdev) { > + struct i40e_netdev_priv *np = netdev_priv(netdev); > + struct i40e_vsi *vsi = np->vsi; > + > + return vsi->rss_size; > +} > + > /** > * i40e_get_rxnfc - command to get RX flow classification rules > * @netdev: network interface device structure @@ -3538,10 +3552,6 @@ > static int i40e_get_rxnfc(struct net_device *netdev, struct ethtool_rxnfc > *cmd, > int ret = -EOPNOTSUPP; > > switch (cmd->cmd) { > - case ETHTOOL_GRXRINGS: > - cmd->data = vsi->rss_size; > - ret = 0; > - break; > case ETHTOOL_GRXCLSRLCNT: > cmd->rule_cnt = pf->fdir_pf_active_filters; > /* report total rule count */ > @@ -5819,6 +5829,7 @@ static const struct ethtool_ops i40e_ethtool_ops = { > .set_msglevel = i40e_set_msglevel, > .get_rxnfc = i40e_get_rxnfc, > .set_rxnfc = i40e_set_rxnfc, > + .get_rx_ring_count = i40e_get_rx_ring_count, > .self_test = i40e_diag_test, > .get_strings = i40e_get_strings, > .get_eee = i40e_get_eee, > > -- > 2.47.3
Signed-off-by: Aleksandr Loktionov <[email protected]>
