mbox series

[v2,net-next,0/4] vmxnet3: upgrade to version 9

Message ID 20240531193050.4132-1-ronak.doshi@broadcom.com (mailing list archive)
Headers show
Series vmxnet3: upgrade to version 9 | expand

Message

Ronak Doshi May 31, 2024, 7:30 p.m. UTC
vmxnet3 emulation has recently added timestamping feature which allows the
hypervisor (ESXi) to calculate latency from guest virtual NIC driver to all
the way up to the physical NIC. This patch series extends vmxnet3 driver
to leverage these new feature.

Compatibility is maintained using existing vmxnet3 versioning mechanism as
follows:
- new features added to vmxnet3 emulation are associated with new vmxnet3
   version viz. vmxnet3 version 9.
- emulation advertises all the versions it supports to the driver.
- during initialization, vmxnet3 driver picks the highest version number
supported by both the emulation and the driver and configures emulation
to run at that version.

In particular, following changes are introduced:

Patch 1:
  This patch introduces utility macros for vmxnet3 version 9 comparison
  and updates Copyright information.

Patch 2:
  This patch adds support to timestamp the packets so as to allow latency
  measurement in the ESXi.

Patch 3:
  This patch adds support to disable certain offloads on the device based
  on the request specified by the user in the VM configuration.

Patch 4:
  With all vmxnet3 version 9 changes incorporated in the vmxnet3 driver,
  with this patch, the driver can configure emulation to run at vmxnet3
  version 9.

Changes in v1:
  - make latency measurement and rdpmc read x86 specific in patch 2.
  - use BIT macro.

Changes in v1 -> v2:
  - remove unnecessary parantheses, add feature config details in patch 2.
  - remove changes in fix_features in patch 3 as offloads are anyways not reported.

Ronak Doshi (4):
  vmxnet3: prepare for version 9 changes
  vmxnet3: add latency measurement support in vmxnet3
  vmxnet3: add command to allow disabling of offloads
  vmxnet3: update to version 9

 drivers/net/vmxnet3/Makefile          |   2 +-
 drivers/net/vmxnet3/vmxnet3_defs.h    |  61 +++++++++-
 drivers/net/vmxnet3/vmxnet3_drv.c     | 217 +++++++++++++++++++++++++++-------
 drivers/net/vmxnet3/vmxnet3_ethtool.c |   2 +-
 drivers/net/vmxnet3/vmxnet3_int.h     |  33 +++++-
 5 files changed, 266 insertions(+), 49 deletions(-)

Comments

Jakub Kicinski June 1, 2024, 11:05 p.m. UTC | #1
On Fri, 31 May 2024 12:30:45 -0700 Ronak Doshi wrote:
> vmxnet3 emulation has recently added timestamping feature which allows the
> hypervisor (ESXi) to calculate latency from guest virtual NIC driver to all
> the way up to the physical NIC. This patch series extends vmxnet3 driver
> to leverage these new feature.
> 
> Compatibility is maintained using existing vmxnet3 versioning mechanism as
> follows:
> - new features added to vmxnet3 emulation are associated with new vmxnet3
>    version viz. vmxnet3 version 9.
> - emulation advertises all the versions it supports to the driver.
> - during initialization, vmxnet3 driver picks the highest version number
> supported by both the emulation and the driver and configures emulation
> to run at that version.

Please review:
https://lore.kernel.org/all/20240531103711.101961-1-mstocker@barracuda.com/

It may be worth reading:
https://docs.kernel.org/next/maintainer/feature-and-driver-maintainers.html
patchwork-bot+netdevbpf@kernel.org June 5, 2024, 11 p.m. UTC | #2
Hello:

This series was applied to netdev/net-next.git (main)
by Jakub Kicinski <kuba@kernel.org>:

On Fri, 31 May 2024 12:30:45 -0700 you wrote:
> vmxnet3 emulation has recently added timestamping feature which allows the
> hypervisor (ESXi) to calculate latency from guest virtual NIC driver to all
> the way up to the physical NIC. This patch series extends vmxnet3 driver
> to leverage these new feature.
> 
> Compatibility is maintained using existing vmxnet3 versioning mechanism as
> follows:
> - new features added to vmxnet3 emulation are associated with new vmxnet3
>    version viz. vmxnet3 version 9.
> - emulation advertises all the versions it supports to the driver.
> - during initialization, vmxnet3 driver picks the highest version number
> supported by both the emulation and the driver and configures emulation
> to run at that version.
> 
> [...]

Here is the summary with links:
  - [v2,net-next,1/4] vmxnet3: prepare for version 9 changes
    https://git.kernel.org/netdev/net-next/c/4978478a6888
  - [v2,net-next,2/4] vmxnet3: add latency measurement support in vmxnet3
    https://git.kernel.org/netdev/net-next/c/4c22fad70256
  - [v2,net-next,3/4] vmxnet3: add command to allow disabling of offloads
    https://git.kernel.org/netdev/net-next/c/2e5010fd0c43
  - [v2,net-next,4/4] vmxnet3: update to version 9
    https://git.kernel.org/netdev/net-next/c/63587234d42a

You are awesome, thank you!