From: Ronak Doshi <doshir@vmware.com>
To: Jochen Behrens <jbehrens@vmware.com>
Cc: <dev@dpdk.org>, Ronak Doshi <doshir@vmware.com>
Subject: [PATCH v3 next 7/7] net/vmxnet3: update to version 7
Date: Fri, 28 Apr 2023 00:10:54 -0700 [thread overview]
Message-ID: <20230428071055.362-8-doshir@vmware.com> (raw)
In-Reply-To: <20230428071055.362-1-doshir@vmware.com>
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@vmware.com>
Acked-by: Jochen Behrens <jbehrens@vmware.com>
---
doc/guides/nics/vmxnet3.rst | 30 ++++++++++++++++++++++++++----
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(+), 6 deletions(-)
diff --git a/doc/guides/nics/vmxnet3.rst b/doc/guides/nics/vmxnet3.rst
index 190cf91a47..db242cd642 100644
--- a/doc/guides/nics/vmxnet3.rst
+++ b/doc/guides/nics/vmxnet3.rst
@@ -21,10 +21,6 @@ VMXNET3 Implementation in the DPDK
For details on the VMXNET3 device, refer to the VMXNET3 driver's vmxnet3 directory and support manual from VMware*.
-For performance details, refer to the following link from VMware:
-
-`http://www.vmware.com/pdf/vsp_4_vmxnet3_perf.pdf <http://www.vmware.com/pdf/vsp_4_vmxnet3_perf.pdf>`_
-
As a PMD, the VMXNET3 driver provides the packet reception and transmission callbacks, vmxnet3_recv_pkts and vmxnet3_xmit_pkts.
The VMXNET3 PMD handles all the packet buffer memory allocation and resides in guest address space
@@ -67,6 +63,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
next prev parent reply other threads:[~2023-04-28 7:27 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-28 7:10 [PATCH v3 next 0/7] net/vmxnet3: upgrade to version 7 Ronak Doshi
2023-04-28 7:10 ` [PATCH v3 next 1/7] net/vmxnet3: prepare for version 7 changes Ronak Doshi
2023-04-28 7:10 ` [PATCH v3 next 2/7] net/vmxnet3: add support for capability registers Ronak Doshi
2023-04-28 7:10 ` [PATCH v3 next 3/7] net/vmxnet3: add support for large passthrough BAR register Ronak Doshi
2023-04-28 7:10 ` [PATCH v3 next 4/7] net/vmxnet3: add command to set ring buffer sizes Ronak Doshi
2023-04-28 7:10 ` [PATCH v3 next 5/7] net/vmxnet3: limit number of TXDs used for TSO packet Ronak Doshi
2023-04-28 7:10 ` [PATCH v3 next 6/7] net/vmxnet3: avoid updating rxprod register frequently Ronak Doshi
2023-04-28 7:10 ` Ronak Doshi [this message]
2023-05-03 17:29 ` [PATCH v3 next 7/7] net/vmxnet3: update to version 7 Ferruh Yigit
2023-05-03 17:34 ` [PATCH v3 next 0/7] net/vmxnet3: upgrade " Ferruh Yigit
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230428071055.362-8-doshir@vmware.com \
--to=doshir@vmware.com \
--cc=dev@dpdk.org \
--cc=jbehrens@vmware.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.