Skip to content

vmxnet3: upgrade to version 3

Shrikrishna Khare dpdk-dev 3 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v3 Latest7 patches 1 replyIn review
  2. v27 patches 2 repliesSuperseded
  3. v17 patches 5 repliesSuperseded

Changes in v3 from the cover letter

- fix a typo in commit message for add receive data ring change

Patches in v3 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/7net/vmxnet3: prepare for version 3 changesdrivers/net/vmxnet3/vmxnet3_ethdev.c drivers/net/vmxnet3/vmxnet3_ethdev.h+22 -40 replies
2/7net/vmxnet3: introduce generalized cmd interfacedrivers/net/vmxnet3/base/vmxnet3_defs.h+31 -10 replies
3/7net/vmxnet3: variable length transmit data ringdrivers/net/vmxnet3/base/vmxnet3_defs.h drivers/net/vmxnet3/vmxnet3_ethdev.c drivers/net/vmxnet3/vmxnet3_ethdev.h +2 more+53 -110 replies
4/7net/vmxnet3: add receive data ring supportdrivers/net/vmxnet3/base/vmxnet3_defs.h drivers/net/vmxnet3/vmxnet3_ethdev.c drivers/net/vmxnet3/vmxnet3_ethdev.h +2 more+76 -30 replies
5/7net/vmxnet3: add reserved version 3 commanddrivers/net/vmxnet3/base/vmxnet3_defs.h+3 -10 replies
6/7net/vmxnet3: add cmd to register memory regiondrivers/net/vmxnet3/base/vmxnet3_defs.h drivers/net/vmxnet3/vmxnet3_ethdev.c drivers/net/vmxnet3/vmxnet3_ethdev.h+129 -00 replies
7/7net/vmxnet3: update to version 3doc/guides/rel_notes/release_17_05.rst drivers/net/vmxnet3/vmxnet3_ethdev.c+11 -10 replies

Reviews trailers per patch

All 7 patches have a Reviewed-by or Acked-by.

PatchYong WangJin Heo
1/7A-b A-b
2/7A-b A-b
3/7A-b A-b
4/7A-b A-b
5/7A-b A-b
6/7A-b A-b
7/7A-b A-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v3 thread

Cover letter [PATCH v3 0/7] vmxnet3: upgrade to version 3

vmxnet3 emulation has recently added several new features which includes support for new commands the driver can issue to emulation, change in descriptor fields etc. 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 3.
- 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:
Trivial cleanup in preparation of version 3 changes.

Patch 2:
This patch introduces generalized command interface which allows for easily adding new commands that vmxnet3 driver can issue to the emulation. Further patches in this series make use of this facility.

Patch 3:
Transmit data ring buffer is used to copy packet headers or small packets. It is a fixed size buffer. This patch extends the driver to allow variable sized transmit data ring buffer.

Patch 4:
This patch introduces receive data ring buffer - a set of small sized buffers that are always mapped by the emulation. This avoids memory mapping/unmapping overhead for small packets.

Patch 5:
This patch adds reserved commands.

Patch 6:
In vmxnet3 version 3, the emulation added support for the vmxnet3 driver to communicate information about the memory regions the driver will use for rx/tx buffers. This patch exposes related commands to the driver. The driver is also extended to make use of this feaeture.

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

---

Changes in v2:
- updated release notes to document vmxnet3 version 3 support.
- fixed coding style issues identified by checkpatches.sh.
- fixed patch title style issued identified by check-git-log.sh.
- fixed compilation issues hit when debug logging is turned on.

Change in v3:
- fix a typo in commit message for add receive data ring change

Shrikrishna Khare (7):
net/vmxnet3: prepare for version 3 changes net/vmxnet3: introduce generalized cmd interface net/vmxnet3: variable length transmit data ring net/vmxnet3: add receive data ring support net/vmxnet3: add reserved version 3 command net/vmxnet3: add cmd to register memory region net/vmxnet3: update to version 3

 doc/guides/rel_notes/release_17_05.rst  |   6 ++
 drivers/net/vmxnet3/base/vmxnet3_defs.h |  85 ++++++++++++++++--
 drivers/net/vmxnet3/vmxnet3_ethdev.c    | 154 +++++++++++++++++++++++++++++++-
 drivers/net/vmxnet3/vmxnet3_ethdev.h    |  28 ++++++
 drivers/net/vmxnet3/vmxnet3_ring.h      |  14 +++
 drivers/net/vmxnet3/vmxnet3_rxtx.c      |  55 +++++++++---
 6 files changed, 323 insertions(+), 19 deletions(-)
Signature · 1 line
2.6.2