mbox series

[v3,0/2] vhost-user: Back SET/GET_CONFIG with a protocol feature

Message ID 20180329075233.524-1-maxime.coquelin@redhat.com
Headers show
Series vhost-user: Back SET/GET_CONFIG with a protocol feature | expand

Message

Maxime Coquelin March 29, 2018, 7:52 a.m. UTC
V3 removes the assert of vhost_dev's vhost_ops, as it is not yet
set at that time.

While reviewing DPDK series adding support to VHOST_USER_SET_CONFIG
and VHOST_USER_GET_CONFIG request, I found that it was not backed
with a dedicated protocol feature.

This series addresses this by adding a new protocol feature bit,
and by only negotiating it if the device supports it, as suggested
by Michael. Indeed, if the feature is supported by other type of
devices in the future, it would confuse the backends as it couldn't
know whether the device really support it or not.

To know whether the vhost device support config feature, the trick
is to check whether it implemented the config_ops. That's the 
reason why the first patch moves setting the config ops in
vhost-user-blk befoire calling vhost_user_init().

The series targets v2.12 release, else we may have to disable these
requests in this release.

*NOTE*: The series has only been tested as I don't have the
environment to try it. Changpeng, can you please test it?

Thanks,
Maxime

Changes since v2:
=================
 - Remove assert (Changpeng)
 - Fix typo in comment

Changes since v1:
=================
 - Fail vhost-user init if device implements config
   feature but the backend doesn't. (mst)

Maxime Coquelin (2):
  vhost-user-blk: set config ops before vhost-user init
  vhost-user: back SET/GET_CONFIG requests with a protocol feature

 docs/interop/vhost-user.txt | 21 ++++++++++++---------
 hw/block/vhost-user-blk.c   |  4 ++--
 hw/virtio/vhost-user.c      | 22 ++++++++++++++++++++++
 hw/virtio/vhost.c           |  1 -
 4 files changed, 36 insertions(+), 12 deletions(-)