mbox series

[v3,net-next,0/8] vmxnet3: upgrade to version 7

Message ID 20220608032353.964-1-doshir@vmware.com (mailing list archive)
Headers show
Series vmxnet3: upgrade to version 7 | expand

Message

Ronak Doshi June 8, 2022, 3:23 a.m. UTC
vmxnet3 emulation has recently added several new features including
support for uniform passthrough(UPT). To make UPT work vmxnet3 has
to be enhanced as per the new specification. This patch series
extends the vmxnet3 driver to leverage these new features.

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 7.
 - 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 7 comparison
  and updates Copyright information.

Patch 2:
  This patch adds new capability registers to fine control enablement of
  individual features based on emulation and passthrough.

Patch 3:
  This patch adds support for large passthrough BAR register.

Patch 4:
  This patch adds support for out of order rx completion processing.

Patch 5:
  This patch introduces new command to set ring buffer sizes to pass this
  information to the hardware.

Patch 6:
  For better performance, hardware has a requirement to limit number of TSO
  descriptors. This patch adds that support.

Patch 7:
  With vmxnet3 version 7, new descriptor fields are used to indicate
  encapsulation offload.

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

Changes in v2->v3:
 - use correct byte ordering for ringBufSize

Changes in v2:
 - use local rss_fields variable for the rss capability checks in patch 2

Ronak Doshi (8):
  vmxnet3: prepare for version 7 changes
  vmxnet3: add support for capability registers
  vmxnet3: add support for large passthrough BAR register
  vmxnet3: add support for out of order rx completion
  vmxnet3: add command to set ring buffer sizes
  vmxnet3: limit number of TXDs used for TSO packet
  vmxnet3: use ext1 field to indicate encapsulated packet
  vmxnet3: update to version 7

 drivers/net/vmxnet3/Makefile          |   2 +-
 drivers/net/vmxnet3/upt1_defs.h       |   2 +-
 drivers/net/vmxnet3/vmxnet3_defs.h    |  80 ++++++++--
 drivers/net/vmxnet3/vmxnet3_drv.c     | 291 ++++++++++++++++++++++++++++++----
 drivers/net/vmxnet3/vmxnet3_ethtool.c | 116 ++++++++++++--
 drivers/net/vmxnet3/vmxnet3_int.h     |  24 ++-
 6 files changed, 457 insertions(+), 58 deletions(-)

Comments

patchwork-bot+netdevbpf@kernel.org June 9, 2022, 11:10 a.m. UTC | #1
Hello:

This series was applied to netdev/net-next.git (master)
by Paolo Abeni <pabeni@redhat.com>:

On Tue, 7 Jun 2022 20:23:45 -0700 you wrote:
> vmxnet3 emulation has recently added several new features including
> support for uniform passthrough(UPT). To make UPT work vmxnet3 has
> to be enhanced as per the new specification. This patch series
> extends the vmxnet3 driver to leverage these new features.
> 
> 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 7.
>  - 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:
  - [v3,net-next,1/8] vmxnet3: prepare for version 7 changes
    https://git.kernel.org/netdev/net-next/c/55f0395fcace
  - [v3,net-next,2/8] vmxnet3: add support for capability registers
    https://git.kernel.org/netdev/net-next/c/6f91f4ba046e
  - [v3,net-next,3/8] vmxnet3: add support for large passthrough BAR register
    https://git.kernel.org/netdev/net-next/c/543fb6740541
  - [v3,net-next,4/8] vmxnet3: add support for out of order rx completion
    https://git.kernel.org/netdev/net-next/c/2c5a5748105a
  - [v3,net-next,5/8] vmxnet3: add command to set ring buffer sizes
    (no matching commit)
  - [v3,net-next,6/8] vmxnet3: limit number of TXDs used for TSO packet
    https://git.kernel.org/netdev/net-next/c/d2857b99a74b
  - [v3,net-next,7/8] vmxnet3: use ext1 field to indicate encapsulated packet
    https://git.kernel.org/netdev/net-next/c/60cafa0395c2
  - [v3,net-next,8/8] vmxnet3: update to version 7
    https://git.kernel.org/netdev/net-next/c/acc38e041bd3

You are awesome, thank you!