[dpdk-dev] [PATCH v9 0/2] Add VHOST PMD
Tetsuya Mukawa
mukawa at igel.co.jp
Tue Feb 9 10:38:04 CET 2016
The patch introduces a new PMD. This PMD is implemented as thin wrapper
of librte_vhost.
PATCH v9 changes:
- Fix a null pointer access issue implemented in v8 patch.
PATCH v8 changes:
- Manage ether devices list instead of internal structures list.
- Remove needless NULL checking.
- Replace "pthread_exit" to "return NULL".
- Replace rte_panic to RTE_LOG, also add error handling.
- Remove duplicated lines.
- Remove needless casting.
- Follow coding style.
- Remove needless parenthesis.
PATCH v7 changes:
- Remove needless parenthesis.
- Add release note.
- Remove needless line wraps.
- Add null pointer check in vring_state_changed().
- Free queue memory in eth_queue_release().
- Fix wrong variable name.
- Fix error handling code of eth_dev_vhost_create() and
rte_pmd_vhost_devuninit().
- Remove needless null checking from rte_pmd_vhost_devinit/devuninit().
- Use port id to create mac address.
- Add doxygen style comments in "rte_eth_vhost.h".
- Fix wrong comment in "mk/rte.app.mk".
PATCH v6 changes:
- Remove rte_vhost_driver_pmd_callback_registe().
- Support link status interrupt.
- Support queue state changed interrupt.
- Add rte_eth_vhost_get_queue_event().
- Support numa node detection when new device is connected.
PATCH v5 changes:
- Rebase on latest master.
- Fix RX/TX routine to count RX/TX bytes.
- Fix RX/TX routine not to count as error packets if enqueue/dequeue
cannot send all packets.
- Fix if-condition checking for multiqueues.
- Add "static" to pthread variable.
- Fix format.
- Change default behavior not to receive queueing event from driver.
- Split the patch to separate rte_eth_vhost_portid2vdev().
PATCH v4 changes:
- Rebase on latest DPDK tree.
- Fix cording style.
- Fix code not to invoke multiple messaging handling threads.
- Fix code to handle vdev parameters correctly.
- Remove needless cast.
- Remove needless if-condition before rt_free().
PATCH v3 changes:
- Rebase on latest matser
- Specify correct queue_id in RX/TX function.
PATCH v2 changes:
- Remove a below patch that fixes vhost library.
The patch was applied as a separate patch.
- vhost: fix crash with multiqueue enabled
- Fix typos.
(Thanks to Thomas, Monjalon)
- Rebase on latest tree with above bernard's patches.
PATCH v1 changes:
- Support vhost multiple queues.
- Rebase on "remove pci driver from vdevs".
- Optimize RX/TX functions.
- Fix resource leaks.
- Fix compile issue.
- Add patch to fix vhost library.
RFC PATCH v3 changes:
- Optimize performance.
In RX/TX functions, change code to access only per core data.
- Add below API to allow user to use vhost library APIs for a port managed
by vhost PMD. There are a few limitations. See "rte_eth_vhost.h".
- rte_eth_vhost_portid2vdev()
To support this functionality, vhost library is also changed.
Anyway, if users doesn't use vhost PMD, can fully use vhost library APIs.
- Add code to support vhost multiple queues.
Actually, multiple queues functionality is not enabled so far.
RFC PATCH v2 changes:
- Fix issues reported by checkpatch.pl
(Thanks to Stephen Hemminger)
Tetsuya Mukawa (2):
ethdev: Add a new event type to notify a queue state changed event
vhost: Add VHOST PMD
MAINTAINERS | 4 +
config/common_linuxapp | 6 +
doc/guides/nics/index.rst | 1 +
doc/guides/rel_notes/release_2_3.rst | 4 +
drivers/net/Makefile | 4 +
drivers/net/vhost/Makefile | 62 ++
drivers/net/vhost/rte_eth_vhost.c | 911 ++++++++++++++++++++++++++++
drivers/net/vhost/rte_eth_vhost.h | 109 ++++
drivers/net/vhost/rte_pmd_vhost_version.map | 11 +
lib/librte_ether/rte_ethdev.h | 2 +
mk/rte.app.mk | 6 +
11 files changed, 1120 insertions(+)
create mode 100644 drivers/net/vhost/Makefile
create mode 100644 drivers/net/vhost/rte_eth_vhost.c
create mode 100644 drivers/net/vhost/rte_eth_vhost.h
create mode 100644 drivers/net/vhost/rte_pmd_vhost_version.map
--
2.1.4
More information about the dev
mailing list