On 04/02/2018 01:46 PM, Zhihong Wang wrote:
This patch set introduces support for selective datapath in DPDK vhost-user
lib. vDPA stands for vhost Data Path Acceleration. The idea is to support
virtio ring compatible devices to serve virtio driver directly to enable
datapath acceleration.
A set of device ops is defined for device specific operations:
a. get_queue_num: Called to get supported queue number of the device.
b. get_features: Called to get supported features of the device.
c. get_protocol_features: Called to get supported protocol features of
the device.
d. dev_conf: Called to configure the actual device when the virtio
device becomes ready.
e. dev_close: Called to close the actual device when the virtio device
is stopped.
f. set_vring_state: Called to change the state of the vring in the
actual device when vring state changes.
g. set_features: Called to set the negotiated features to device.
h. migration_done: Called to allow the device to response to RARP
sending.
i. get_vfio_group_fd: Called to get the VFIO group fd of the device.
j. get_vfio_device_fd: Called to get the VFIO device fd of the device.
k. get_notify_area: Called to get the notify area info of the queue.
Signed-off-by: Zhihong Wang <[email protected]>
---
Changes in v5:
1. Rename the vDPA device ops to follow convention.
2. Improve sanity check.
---
Changes in v4:
1. Remove the "engine" concept in the lib.
---
Changes in v2:
1. Add VFIO related vDPA device ops.
lib/librte_vhost/Makefile | 4 +-
lib/librte_vhost/rte_vdpa.h | 87 +++++++++++++++++++++++++
lib/librte_vhost/rte_vhost_version.map | 7 ++
lib/librte_vhost/vdpa.c | 115 +++++++++++++++++++++++++++++++++
4 files changed, 211 insertions(+), 2 deletions(-)
create mode 100644 lib/librte_vhost/rte_vdpa.h
create mode 100644 lib/librte_vhost/vdpa.c
With the fix you suggested:
Reviewed-by: Maxime Coquelin <[email protected]>
Thanks!
Maxime