Commit 0458cbed authored by Ronak Doshi's avatar Ronak Doshi Committed by Jakub Kicinski
Browse files

vmxnet3: support higher link speeds from vmxnet3 v9



Until now, vmxnet3 was default reporting 10Gbps as link speed.
Vmxnet3 v9 adds support for user to configure higher link speeds.
User can configure the link speed via VMs advanced parameters options
in VCenter. This speed is reported in gbps by hypervisor.

This patch adds support for vmxnet3 to report higher link speeds and
converts it to mbps as expected by Linux stack.

Signed-off-by: default avatarRonak Doshi <ronak.doshi@broadcom.com>
Acked-by: default avatarGuolin Yang <guolin.yang@broadcom.com>
Reviewed-by: default avatarSimon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20241004174303.5370-1-ronak.doshi@broadcom.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 7651f114
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -201,6 +201,14 @@ vmxnet3_check_link(struct vmxnet3_adapter *adapter, bool affectTxQueue)

	adapter->link_speed = ret >> 16;
	if (ret & 1) { /* Link is up. */
		/*
		 * From vmxnet3 v9, the hypervisor reports the speed in Gbps.
		 * Convert the speed to Mbps before rporting it to the kernel.
		 * Max link speed supported is 10000G.
		 */
		if (VMXNET3_VERSION_GE_9(adapter) &&
		    adapter->link_speed < 10000)
			adapter->link_speed = adapter->link_speed * 1000;
		netdev_info(adapter->netdev, "NIC Link is Up %d Mbps\n",
			    adapter->link_speed);
		netif_carrier_on(adapter->netdev);