doc: announce API changes for vhost

I made a vhost ABI/API refactoring at v16.04, meant to avoid such issue
forever. Well, apparently, I lied.

People are looking for more vhost-user options now days, other than
vhost-user net only. For example, SPDK (Storage Performance Development
Kit) are looking for chance of vhost-user SCSI and vhost-user block.

Apparently, they also need a vhost-user backend, while DPDK already
has a (mature enough) backend, they don't want to implement it again
from scratch. They want to leverage the one DPDK provides.

However, the last refactoring hasn't done that right, at least it's
not friendly for extending vhost-user to add more devices support.
For example, different virtio devices has its own feature set, while
APIs like rte_vhost_feature_disable(feature_mask) have no option to
tell the device type. Thus, a more proper API should look like:

    rte_vhost_feature_disable(device_type, feature_mask);

Besides that, few public files and structures should be renamed, to
not let it bind to virtio-net. Specifically, they are:

- virtio_net_device_ops --> vhost_device_ops
- rte_virtio_net.h      --> rte_vhost.h

Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Acked-by: Maxime Coquelin <maxime.coquelin@redhat.com>
This commit is contained in:
Yuanhan Liu 2017-01-23 21:04:42 +08:00 committed by Thomas Monjalon
parent 610b7b78e0
commit a5c44ed455

View File

@ -104,6 +104,15 @@ Deprecation Notices
Target release for removal of the legacy API will be defined once most
PMDs have switched to rte_flow.
* vhost: API/ABI changes are planned for 17.05, for making DPDK vhost library
generic enough so that applications can build different vhost-user drivers
(instead of vhost-user net only) on top of that.
Specifically, ``virtio_net_device_ops`` will be renamed to ``vhost_device_ops``.
Correspondingly, some API's parameter need be changed. Few more functions also
need be reworked to let it be device aware. For example, different virtio device
has different feature set, meaning functions like ``rte_vhost_feature_disable``
need be changed. Last, file rte_virtio_net.h will be renamed to rte_vhost.h.
* distributor: library API will be changed to incorporate a burst-oriented
API. This will include a change to ``rte_distributor_create``
to specify which type of instance to create (single or burst), and