From: Ronak Doshi <doshir@vmware.com>
To: Jochen Behrens <jbehrens@vmware.com>
Cc: <dev@dpdk.org>, Ronak Doshi <doshir@vmware.com>
Subject: [PATCH v2 next 7/7] net/vmxnet3: update to version 7
Date: Wed, 26 Apr 2023 12:04:14 -0700 [thread overview]
Message-ID: <20230426190415.28239-8-doshir@vmware.com> (raw)
In-Reply-To: <20230426190415.28239-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 | 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
prev parent reply other threads:[~2023-04-26 19:31 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-26 19:04 [PATCH v2 next 0/7] net/vmxnet3: upgrade " Ronak Doshi
2023-04-26 19:04 ` [PATCH v2 next 1/7] net/vmxnet3: prepare for version 7 changes Ronak Doshi
2023-04-26 19:04 ` [PATCH v2 next 2/7] net/vmxnet3: add support for capability registers Ronak Doshi
2023-04-26 19:04 ` [PATCH v2 next 3/7] net/vmxnet3: add support for large passthrough BAR register Ronak Doshi
2023-04-26 19:04 ` [PATCH v2 next 4/7] net/vmxnet3: add command to set ring buffer sizes Ronak Doshi
2023-04-26 19:04 ` [PATCH v2 next 5/7] net/vmxnet3: limit number of TXDs used for TSO packet Ronak Doshi
2023-04-26 19:04 ` [PATCH v2 next 6/7] net/vmxnet3: avoid updating rxprod register frequently Ronak Doshi
2023-04-26 19:04 ` Ronak Doshi [this message]
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=20230426190415.28239-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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).