[dpdk-dev] [PATCH] doc: announce API/ABI changes for vhost

Maxime Coquelin maxime.coquelin at redhat.com
Tue Feb 14 14:54:27 CET 2017


Hi Yuanhan,

On 01/23/2017 02:04 PM, Yuanhan Liu wrote:
> 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);

I wonder if we could also change it to be per-instance, instead of
disabling features globally:
rte_vhost_feature_disable(vid, device_type, feature_mask);

It could be useful for live-migration with different backend versions on
the hosts, as it would allow to run instances with different compat
modes (like running vhost's DPDK v17.08 with v17.05-only supported
features).
I made a proposal about cross-version migration, but we are far from a
conclusion on the design.

>
> 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 at linux.intel.com>

Anyway, the change you propose is necessary:
Acked-by: Maxime Coquelin <maxime.coquelin at redhat.com>

Thanks,
Maxime


More information about the dev mailing list