[PATCH net-next 0/7] vmxnet3: upgrade to version 6

From: Ronak Doshi
Date: Fri Jul 16 2021 - 18:36:42 EST

vmxnet3 emulation has recently added several new features which includes
increase in queues supported, remove power of 2 limitation on queues,
add RSS for ESP IPv6, etc. This patch series extends the vmxnet3 driver
to leverage these new features.

Compatibility is maintained using existing vmxnet3 versioning mechanism as
- new features added to vmxnet3 emulation are associated with new vmxnet3
version viz. vmxnet3 version 6.
- 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 6 comparison
and updates Copyright information.

Patch 2:
This patch adds support to increase maximum Tx/Rx queues from 8 to 32.

Patch 3:
This patch removes the limitation of power of 2 on the queues.

Patch 4:
Uses existing get_rss_hash_opts and set_rss_hash_opts methods to add
support for ESP IPv6 RSS.

Patch 5:
This patch reports correct RSS hash type based on the type of RSS

Patch 6:
This patch updates maximum configurable mtu to 9190.

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

Ronak Doshi (7):
vmxnet3: prepare for version 6 changes
vmxnet3: add support for 32 Tx/Rx queues
vmxnet3: remove power of 2 limitation on the queues
vmxnet3: add support for ESP IPv6 RSS
vmxnet3: set correct hash type based on rss information
vmxnet3: increase maximum configurable mtu to 9190
vmxnet3: update to version 6

drivers/net/vmxnet3/Makefile | 2 +-
drivers/net/vmxnet3/upt1_defs.h | 2 +-
drivers/net/vmxnet3/vmxnet3_defs.h | 50 ++++++--
drivers/net/vmxnet3/vmxnet3_drv.c | 221 ++++++++++++++++++++++++----------
drivers/net/vmxnet3/vmxnet3_ethtool.c | 20 +++
drivers/net/vmxnet3/vmxnet3_int.h | 22 +++-
6 files changed, 235 insertions(+), 82 deletions(-)