[dpdk-dev] [PATCH 0/7] vmxnet3: upgrade to version 3
Shrikrishna Khare
skhare at vmware.com
Sat Feb 25 22:59:42 CET 2017
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.
Shrikrishna Khare (7):
vmxnet3: prepare for version 3 changes
vmxnet3: introduce generalized command interface to configure the
device
vmxnet3: allow variable length transmit data ring buffer
vmxnet3: add receive data ring support
vmxnet3: add reserved version 3 command
vmxnet3: introduce command to register memory region
vmxnet3: update to version 3
drivers/net/vmxnet3/base/vmxnet3_defs.h | 85 ++++++++++++++++--
drivers/net/vmxnet3/vmxnet3_ethdev.c | 154 +++++++++++++++++++++++++++++++-
drivers/net/vmxnet3/vmxnet3_ethdev.h | 14 +++
drivers/net/vmxnet3/vmxnet3_ring.h | 21 +++++
drivers/net/vmxnet3/vmxnet3_rxtx.c | 45 ++++++++--
5 files changed, 304 insertions(+), 15 deletions(-)
--
2.6.2
More information about the dev
mailing list