[PATCH v2 next 7/7] net/vmxnet3: update to version 7
Ronak Doshi
doshir at vmware.com
Wed Apr 26 21:04:14 CEST 2023
With all vmxnet3 version 7 changes incorporated in the vmxnet3 driver,
the driver can configure emulation to run at vmxnet3 version 7, provided
the emulation advertises support for version 7.
Signed-off-by: Ronak Doshi <doshir at vmware.com>
Acked-by: Jochen Behrens <jbehrens at vmware.com>
---
doc/guides/nics/vmxnet3.rst | 26 ++++++++++++++++++++++++++
doc/guides/rel_notes/release_23_07.rst | 6 ++++++
drivers/net/vmxnet3/vmxnet3_ethdev.c | 6 +++++-
drivers/net/vmxnet3/vmxnet3_ring.h | 2 +-
4 files changed, 38 insertions(+), 2 deletions(-)
diff --git a/doc/guides/nics/vmxnet3.rst b/doc/guides/nics/vmxnet3.rst
index 190cf91a47..d96e296530 100644
--- a/doc/guides/nics/vmxnet3.rst
+++ b/doc/guides/nics/vmxnet3.rst
@@ -67,6 +67,32 @@ There are several options available for filtering packets at VMXNET3 device leve
* VLAN tag based filtering without load balancing - SUPPORTED
+#. Vmxnet3 versions and associated features.
+
+ Vmxnet3 version is tied to corresponding ESXi hardware version and each
+ version defines a set of compatible features.
+
+ * Vmxnet3 version 7, hw ver 19
+ This version adds support for Uniform Passthrough(UPT).
+
+ * Vmxnet3 version 6, hw ver 17
+ This version enhanced vmxnet3 to support queues up to 32 and also
+ removed power-of-two limitations on the queues.
+
+ * Vmxnet3 version 5, hw ver 15
+ Features not related to dpdk vmxnet3 PMD.
+
+ * Vmxnet3 version 4, hw ver 14
+ This version adds supoprt for UDP and ESP RSS
+
+ * Vmxnet3 version 3, hw ver 13
+ This version added performance enhancement features such as
+ configurable Tx data ring, Receive Data Ring, and the ability
+ to register memory regions.
+
+ * Vmxnet3 version 2, hw ver 11
+ This version adds support for Large Receive offload (LRO).
+
.. note::
diff --git a/doc/guides/rel_notes/release_23_07.rst b/doc/guides/rel_notes/release_23_07.rst
index a9b1293689..907a06cd62 100644
--- a/doc/guides/rel_notes/release_23_07.rst
+++ b/doc/guides/rel_notes/release_23_07.rst
@@ -55,6 +55,12 @@ New Features
Also, make sure to start the actual text at the margin.
=======================================================
+ * **Added vmxnet3 version 7 support.**
+
+ Added support for vmxnet3 version 7 which includes support
+ for uniform passthrough(UPT). The patches also add support
+ for new capability registers, large passthru BAR and some
+ performance enhancements for UPT.
Removed Items
-------------
diff --git a/drivers/net/vmxnet3/vmxnet3_ethdev.c b/drivers/net/vmxnet3/vmxnet3_ethdev.c
index b9cf007429..41073e9798 100644
--- a/drivers/net/vmxnet3/vmxnet3_ethdev.c
+++ b/drivers/net/vmxnet3/vmxnet3_ethdev.c
@@ -410,7 +410,11 @@ eth_vmxnet3_dev_init(struct rte_eth_dev *eth_dev)
/* Check h/w version compatibility with driver. */
ver = VMXNET3_READ_BAR1_REG(hw, VMXNET3_REG_VRRS);
- if (ver & (1 << VMXNET3_REV_6)) {
+ if (ver & (1 << VMXNET3_REV_7)) {
+ VMXNET3_WRITE_BAR1_REG(hw, VMXNET3_REG_VRRS,
+ 1 << VMXNET3_REV_7);
+ hw->version = VMXNET3_REV_7 + 1;
+ } else if (ver & (1 << VMXNET3_REV_6)) {
VMXNET3_WRITE_BAR1_REG(hw, VMXNET3_REG_VRRS,
1 << VMXNET3_REV_6);
hw->version = VMXNET3_REV_6 + 1;
diff --git a/drivers/net/vmxnet3/vmxnet3_ring.h b/drivers/net/vmxnet3/vmxnet3_ring.h
index 50992349d8..948762db90 100644
--- a/drivers/net/vmxnet3/vmxnet3_ring.h
+++ b/drivers/net/vmxnet3/vmxnet3_ring.h
@@ -7,7 +7,7 @@
#define VMXNET3_RX_CMDRING_SIZE 2
-#define VMXNET3_DRIVER_VERSION_NUM 0x01012000
+#define VMXNET3_DRIVER_VERSION_NUM 0x01013000
/* Default ring size */
#define VMXNET3_DEF_TX_RING_SIZE 512
--
2.11.0
More information about the dev
mailing list