lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Tue, 25 Jun 2024 17:44:32 +0000
From: Sai Krishna Gajula <saikrishnag@...vell.com>
To: Jon Kohler <jon@...anix.com>, Christian Benvenuti <benve@...co.com>,
        Satish Kharat <satishkh@...co.com>,
        "David S. Miller" <davem@...emloft.net>,
        Eric Dumazet <edumazet@...gle.com>, Jakub Kicinski <kuba@...nel.org>,
        Paolo
 Abeni <pabeni@...hat.com>,
        "netdev@...r.kernel.org" <netdev@...r.kernel.org>,
        "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: RE:  [PATCH v2] enic: add ethtool get_channel support

> -----Original Message-----
> From: Jon Kohler <jon@...anix.com>
> Sent: Tuesday, June 25, 2024 12:19 AM
> To: Christian Benvenuti <benve@...co.com>; Satish Kharat
> <satishkh@...co.com>; David S. Miller <davem@...emloft.net>; Eric
> Dumazet <edumazet@...gle.com>; Jakub Kicinski <kuba@...nel.org>; Paolo
> Abeni <pabeni@...hat.com>; netdev@...r.kernel.org; linux-
> kernel@...r.kernel.org
> Cc: Jon Kohler <jon@...anix.com>
> Subject: [PATCH v2] enic: add ethtool get_channel support

It is better to indicate the patch is for NET or NET-NEXT ex: [ PATCH net-next v2]. 

> 
> Add .get_channel to enic_ethtool_ops to enable basic ethtool -l support to
> get the current channel configuration. Note that the driver does not support
> dynamically changing queue configuration, so .set_channel is intentionally
> unused. Instead, 
> Add .get_channel to enic_ethtool_ops to enable basic ethtool -l support to
> get the current channel configuration.
> 
> Note that the driver does not support dynamically changing queue
> configuration, so .set_channel is intentionally unused. Instead, users should
> use Cisco's hardware management tools (UCSM/IMC) to modify virtual
> interface card configuration out of band.
> 
> Signed-off-by: Jon Kohler <jon@...anix.com>
> ---
> v1
> - https://urldefense.proofpoint.com/v2/url?u=https-
> 3A__lore.kernel.org_netdev_20240618160146.3900470-2D1-2Djon-
> 40nutanix.com_T_-
> 23u&d=DwIDAg&c=nKjWec2b6R0mOyPaz7xtfQ&r=c3MsgrR-U-
> HFhmFd6R4MWRZG-8QeikJn5PkjqMTpBSg&m=IIWcqk3E-
> aJ8g4EtpjIC9Jg_2T37OpnceY8mwAIuWEBmyGG9tHKaQp1rAgD5__2K&s=hTRY
> fTAQB9Tli-3DbKoTQkrJ2OxTBab-RqcKIJUjQTc&e=
> v1 -> v2:
> - Addressed comments from Przemek and Jakub
> ---
>  .../net/ethernet/cisco/enic/enic_ethtool.c    | 27 +++++++++++++++++++
>  1 file changed, 27 insertions(+)
> 
> diff --git a/drivers/net/ethernet/cisco/enic/enic_ethtool.c
> b/drivers/net/ethernet/cisco/enic/enic_ethtool.c
> index 241906697019..54f542238b4e 100644
> --- a/drivers/net/ethernet/cisco/enic/enic_ethtool.c
> +++ b/drivers/net/ethernet/cisco/enic/enic_ethtool.c
> @@ -608,6 +608,32 @@ static int enic_get_ts_info(struct net_device *netdev,
>  	return 0;
>  }
> 
> +static void enic_get_channels(struct net_device *netdev,
> +			      struct ethtool_channels *channels) {
> +	struct enic *enic = netdev_priv(netdev);
> +
> +	switch (vnic_dev_get_intr_mode(enic->vdev)) {
> +	case VNIC_DEV_INTR_MODE_MSIX:
> +		channels->max_rx = ENIC_RQ_MAX;
> +		channels->max_tx = ENIC_WQ_MAX;
> +		channels->rx_count = enic->rq_count;
> +		channels->tx_count = enic->wq_count;
> +		break;
> +	case VNIC_DEV_INTR_MODE_MSI:
> +		channels->max_rx = 1;
> +		channels->max_tx = 1;
> +		channels->rx_count = 1;
> +		channels->tx_count = 1;
> +		break;
> +	case VNIC_DEV_INTR_MODE_INTX:
> +		channels->max_combined = 1;
> +		channels->combined_count = 1;
> +	default:
> +		break;
> +	}
> +}
> +
>  static const struct ethtool_ops enic_ethtool_ops = {
>  	.supported_coalesce_params = ETHTOOL_COALESCE_USECS |
>  				     ETHTOOL_COALESCE_USE_ADAPTIVE_RX |
> @@ -632,6 +658,7 @@ static const struct ethtool_ops enic_ethtool_ops = {
>  	.set_rxfh = enic_set_rxfh,
>  	.get_link_ksettings = enic_get_ksettings,
>  	.get_ts_info = enic_get_ts_info,
> +	.get_channels = enic_get_channels,
>  };
> 
>  void enic_set_ethtool_ops(struct net_device *netdev)
> --
> 2.43.0
> 
Reviewed-by: Sai Krishna <saikrishnag@...vell.com>

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ