docs: vhost-user: clean up request/reply description

It is not necessary to mention which side is sending/receiving
each payload; it is more interesting to say which is the request
and which is the reply.  This also matches what vhost-user-gpu.rst
already does.

While at it, ensure that all messages list both the request and
the reply payload.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20210226143413.188046-2-pbonzini@redhat.com>
Message-Id: <20220321153037.3622127-5-alex.bennee@linaro.org>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
This commit is contained in:
Paolo Bonzini 2022-03-21 15:30:28 +00:00 committed by Michael S. Tsirkin
parent 6ca6d8ee9d
commit 43725d4844
1 changed files with 95 additions and 68 deletions

View File

@ -866,8 +866,8 @@ Master message types
``VHOST_USER_GET_FEATURES`` ``VHOST_USER_GET_FEATURES``
:id: 1 :id: 1
:equivalent ioctl: ``VHOST_GET_FEATURES`` :equivalent ioctl: ``VHOST_GET_FEATURES``
:master payload: N/A :request payload: N/A
:slave payload: ``u64`` :reply payload: ``u64``
Get from the underlying vhost implementation the features bitmask. Get from the underlying vhost implementation the features bitmask.
Feature bit ``VHOST_USER_F_PROTOCOL_FEATURES`` signals slave support Feature bit ``VHOST_USER_F_PROTOCOL_FEATURES`` signals slave support
@ -877,7 +877,8 @@ Master message types
``VHOST_USER_SET_FEATURES`` ``VHOST_USER_SET_FEATURES``
:id: 2 :id: 2
:equivalent ioctl: ``VHOST_SET_FEATURES`` :equivalent ioctl: ``VHOST_SET_FEATURES``
:master payload: ``u64`` :request payload: ``u64``
:reply payload: N/A
Enable features in the underlying vhost implementation using a Enable features in the underlying vhost implementation using a
bitmask. Feature bit ``VHOST_USER_F_PROTOCOL_FEATURES`` signals bitmask. Feature bit ``VHOST_USER_F_PROTOCOL_FEATURES`` signals
@ -887,8 +888,8 @@ Master message types
``VHOST_USER_GET_PROTOCOL_FEATURES`` ``VHOST_USER_GET_PROTOCOL_FEATURES``
:id: 15 :id: 15
:equivalent ioctl: ``VHOST_GET_FEATURES`` :equivalent ioctl: ``VHOST_GET_FEATURES``
:master payload: N/A :request payload: N/A
:slave payload: ``u64`` :reply payload: ``u64``
Get the protocol feature bitmask from the underlying vhost Get the protocol feature bitmask from the underlying vhost
implementation. Only legal if feature bit implementation. Only legal if feature bit
@ -903,7 +904,8 @@ Master message types
``VHOST_USER_SET_PROTOCOL_FEATURES`` ``VHOST_USER_SET_PROTOCOL_FEATURES``
:id: 16 :id: 16
:equivalent ioctl: ``VHOST_SET_FEATURES`` :equivalent ioctl: ``VHOST_SET_FEATURES``
:master payload: ``u64`` :request payload: ``u64``
:reply payload: N/A
Enable protocol features in the underlying vhost implementation. Enable protocol features in the underlying vhost implementation.
@ -917,7 +919,8 @@ Master message types
``VHOST_USER_SET_OWNER`` ``VHOST_USER_SET_OWNER``
:id: 3 :id: 3
:equivalent ioctl: ``VHOST_SET_OWNER`` :equivalent ioctl: ``VHOST_SET_OWNER``
:master payload: N/A :request payload: N/A
:reply payload: N/A
Issued when a new connection is established. It sets the current Issued when a new connection is established. It sets the current
*master* as an owner of the session. This can be used on the *slave* *master* as an owner of the session. This can be used on the *slave*
@ -925,7 +928,8 @@ Master message types
``VHOST_USER_RESET_OWNER`` ``VHOST_USER_RESET_OWNER``
:id: 4 :id: 4
:master payload: N/A :request payload: N/A
:reply payload: N/A
.. admonition:: Deprecated .. admonition:: Deprecated
@ -938,8 +942,8 @@ Master message types
``VHOST_USER_SET_MEM_TABLE`` ``VHOST_USER_SET_MEM_TABLE``
:id: 5 :id: 5
:equivalent ioctl: ``VHOST_SET_MEM_TABLE`` :equivalent ioctl: ``VHOST_SET_MEM_TABLE``
:master payload: memory regions description :request payload: memory regions description
:slave payload: (postcopy only) memory regions description :reply payload: (postcopy only) memory regions description
Sets the memory map regions on the slave so it can translate the Sets the memory map regions on the slave so it can translate the
vring addresses. In the ancillary data there is an array of file vring addresses. In the ancillary data there is an array of file
@ -962,8 +966,8 @@ Master message types
``VHOST_USER_SET_LOG_BASE`` ``VHOST_USER_SET_LOG_BASE``
:id: 6 :id: 6
:equivalent ioctl: ``VHOST_SET_LOG_BASE`` :equivalent ioctl: ``VHOST_SET_LOG_BASE``
:master payload: u64 :request payload: u64
:slave payload: N/A :reply payload: N/A
Sets logging shared memory space. Sets logging shared memory space.
@ -975,44 +979,48 @@ Master message types
``VHOST_USER_SET_LOG_FD`` ``VHOST_USER_SET_LOG_FD``
:id: 7 :id: 7
:equivalent ioctl: ``VHOST_SET_LOG_FD`` :equivalent ioctl: ``VHOST_SET_LOG_FD``
:master payload: N/A :request payload: N/A
:reply payload: N/A
Sets the logging file descriptor, which is passed as ancillary data. Sets the logging file descriptor, which is passed as ancillary data.
``VHOST_USER_SET_VRING_NUM`` ``VHOST_USER_SET_VRING_NUM``
:id: 8 :id: 8
:equivalent ioctl: ``VHOST_SET_VRING_NUM`` :equivalent ioctl: ``VHOST_SET_VRING_NUM``
:master payload: vring state description :request payload: vring state description
:reply payload: N/A
Set the size of the queue. Set the size of the queue.
``VHOST_USER_SET_VRING_ADDR`` ``VHOST_USER_SET_VRING_ADDR``
:id: 9 :id: 9
:equivalent ioctl: ``VHOST_SET_VRING_ADDR`` :equivalent ioctl: ``VHOST_SET_VRING_ADDR``
:master payload: vring address description :request payload: vring address description
:slave payload: N/A :reply payload: N/A
Sets the addresses of the different aspects of the vring. Sets the addresses of the different aspects of the vring.
``VHOST_USER_SET_VRING_BASE`` ``VHOST_USER_SET_VRING_BASE``
:id: 10 :id: 10
:equivalent ioctl: ``VHOST_SET_VRING_BASE`` :equivalent ioctl: ``VHOST_SET_VRING_BASE``
:master payload: vring state description :request payload: vring state description
:reply payload: N/A
Sets the base offset in the available vring. Sets the base offset in the available vring.
``VHOST_USER_GET_VRING_BASE`` ``VHOST_USER_GET_VRING_BASE``
:id: 11 :id: 11
:equivalent ioctl: ``VHOST_USER_GET_VRING_BASE`` :equivalent ioctl: ``VHOST_USER_GET_VRING_BASE``
:master payload: vring state description :request payload: vring state description
:slave payload: vring state description :reply payload: vring state description
Get the available vring base offset. Get the available vring base offset.
``VHOST_USER_SET_VRING_KICK`` ``VHOST_USER_SET_VRING_KICK``
:id: 12 :id: 12
:equivalent ioctl: ``VHOST_SET_VRING_KICK`` :equivalent ioctl: ``VHOST_SET_VRING_KICK``
:master payload: ``u64`` :request payload: ``u64``
:reply payload: N/A
Set the event file descriptor for adding buffers to the vring. It is Set the event file descriptor for adding buffers to the vring. It is
passed in the ancillary data. passed in the ancillary data.
@ -1030,7 +1038,8 @@ Master message types
``VHOST_USER_SET_VRING_CALL`` ``VHOST_USER_SET_VRING_CALL``
:id: 13 :id: 13
:equivalent ioctl: ``VHOST_SET_VRING_CALL`` :equivalent ioctl: ``VHOST_SET_VRING_CALL``
:master payload: ``u64`` :request payload: ``u64``
:reply payload: N/A
Set the event file descriptor to signal when buffers are used. It is Set the event file descriptor to signal when buffers are used. It is
passed in the ancillary data. passed in the ancillary data.
@ -1048,7 +1057,8 @@ Master message types
``VHOST_USER_SET_VRING_ERR`` ``VHOST_USER_SET_VRING_ERR``
:id: 14 :id: 14
:equivalent ioctl: ``VHOST_SET_VRING_ERR`` :equivalent ioctl: ``VHOST_SET_VRING_ERR``
:master payload: ``u64`` :request payload: ``u64``
:reply payload: N/A
Set the event file descriptor to signal when error occurs. It is Set the event file descriptor to signal when error occurs. It is
passed in the ancillary data. passed in the ancillary data.
@ -1065,8 +1075,8 @@ Master message types
``VHOST_USER_GET_QUEUE_NUM`` ``VHOST_USER_GET_QUEUE_NUM``
:id: 17 :id: 17
:equivalent ioctl: N/A :equivalent ioctl: N/A
:master payload: N/A :request payload: N/A
:slave payload: u64 :reply payload: u64
Query how many queues the backend supports. Query how many queues the backend supports.
@ -1077,7 +1087,8 @@ Master message types
``VHOST_USER_SET_VRING_ENABLE`` ``VHOST_USER_SET_VRING_ENABLE``
:id: 18 :id: 18
:equivalent ioctl: N/A :equivalent ioctl: N/A
:master payload: vring state description :request payload: vring state description
:reply payload: N/A
Signal slave to enable or disable corresponding vring. Signal slave to enable or disable corresponding vring.
@ -1087,7 +1098,8 @@ Master message types
``VHOST_USER_SEND_RARP`` ``VHOST_USER_SEND_RARP``
:id: 19 :id: 19
:equivalent ioctl: N/A :equivalent ioctl: N/A
:master payload: ``u64`` :request payload: ``u64``
:reply payload: N/A
Ask vhost user backend to broadcast a fake RARP to notify the migration Ask vhost user backend to broadcast a fake RARP to notify the migration
is terminated for guest that does not support GUEST_ANNOUNCE. is terminated for guest that does not support GUEST_ANNOUNCE.
@ -1102,7 +1114,8 @@ Master message types
``VHOST_USER_NET_SET_MTU`` ``VHOST_USER_NET_SET_MTU``
:id: 20 :id: 20
:equivalent ioctl: N/A :equivalent ioctl: N/A
:master payload: ``u64`` :request payload: ``u64``
:reply payload: N/A
Set host MTU value exposed to the guest. Set host MTU value exposed to the guest.
@ -1119,7 +1132,8 @@ Master message types
``VHOST_USER_SET_SLAVE_REQ_FD`` ``VHOST_USER_SET_SLAVE_REQ_FD``
:id: 21 :id: 21
:equivalent ioctl: N/A :equivalent ioctl: N/A
:master payload: N/A :request payload: N/A
:reply payload: N/A
Set the socket file descriptor for slave initiated requests. It is passed Set the socket file descriptor for slave initiated requests. It is passed
in the ancillary data. in the ancillary data.
@ -1134,8 +1148,8 @@ Master message types
``VHOST_USER_IOTLB_MSG`` ``VHOST_USER_IOTLB_MSG``
:id: 22 :id: 22
:equivalent ioctl: N/A (equivalent to ``VHOST_IOTLB_MSG`` message type) :equivalent ioctl: N/A (equivalent to ``VHOST_IOTLB_MSG`` message type)
:master payload: ``struct vhost_iotlb_msg`` :request payload: ``struct vhost_iotlb_msg``
:slave payload: ``u64`` :reply payload: ``u64``
Send IOTLB messages with ``struct vhost_iotlb_msg`` as payload. Send IOTLB messages with ``struct vhost_iotlb_msg`` as payload.
@ -1149,7 +1163,8 @@ Master message types
``VHOST_USER_SET_VRING_ENDIAN`` ``VHOST_USER_SET_VRING_ENDIAN``
:id: 23 :id: 23
:equivalent ioctl: ``VHOST_SET_VRING_ENDIAN`` :equivalent ioctl: ``VHOST_SET_VRING_ENDIAN``
:master payload: vring state description :request payload: vring state description
:reply payload: N/A
Set the endianness of a VQ for legacy devices. Little-endian is Set the endianness of a VQ for legacy devices. Little-endian is
indicated with state.num set to 0 and big-endian is indicated with indicated with state.num set to 0 and big-endian is indicated with
@ -1164,8 +1179,8 @@ Master message types
``VHOST_USER_GET_CONFIG`` ``VHOST_USER_GET_CONFIG``
:id: 24 :id: 24
:equivalent ioctl: N/A :equivalent ioctl: N/A
:master payload: virtio device config space :request payload: virtio device config space
:slave payload: virtio device config space :reply payload: virtio device config space
When ``VHOST_USER_PROTOCOL_F_CONFIG`` is negotiated, this message is When ``VHOST_USER_PROTOCOL_F_CONFIG`` is negotiated, this message is
submitted by the vhost-user master to fetch the contents of the submitted by the vhost-user master to fetch the contents of the
@ -1178,8 +1193,8 @@ Master message types
``VHOST_USER_SET_CONFIG`` ``VHOST_USER_SET_CONFIG``
:id: 25 :id: 25
:equivalent ioctl: N/A :equivalent ioctl: N/A
:master payload: virtio device config space :request payload: virtio device config space
:slave payload: N/A :reply payload: N/A
When ``VHOST_USER_PROTOCOL_F_CONFIG`` is negotiated, this message is When ``VHOST_USER_PROTOCOL_F_CONFIG`` is negotiated, this message is
submitted by the vhost-user master when the Guest changes the virtio submitted by the vhost-user master when the Guest changes the virtio
@ -1191,8 +1206,8 @@ Master message types
``VHOST_USER_CREATE_CRYPTO_SESSION`` ``VHOST_USER_CREATE_CRYPTO_SESSION``
:id: 26 :id: 26
:equivalent ioctl: N/A :equivalent ioctl: N/A
:master payload: crypto session description :request payload: crypto session description
:slave payload: crypto session description :reply payload: crypto session description
Create a session for crypto operation. The server side must return Create a session for crypto operation. The server side must return
the session id, 0 or positive for success, negative for failure. the session id, 0 or positive for success, negative for failure.
@ -1204,7 +1219,8 @@ Master message types
``VHOST_USER_CLOSE_CRYPTO_SESSION`` ``VHOST_USER_CLOSE_CRYPTO_SESSION``
:id: 27 :id: 27
:equivalent ioctl: N/A :equivalent ioctl: N/A
:master payload: ``u64`` :request payload: ``u64``
:reply payload: N/A
Close a session for crypto operation which was previously Close a session for crypto operation which was previously
created by ``VHOST_USER_CREATE_CRYPTO_SESSION``. created by ``VHOST_USER_CREATE_CRYPTO_SESSION``.
@ -1216,8 +1232,8 @@ Master message types
``VHOST_USER_POSTCOPY_ADVISE`` ``VHOST_USER_POSTCOPY_ADVISE``
:id: 28 :id: 28
:master payload: N/A :request payload: N/A
:slave payload: userfault fd :reply payload: userfault fd
When ``VHOST_USER_PROTOCOL_F_PAGEFAULT`` is supported, the master When ``VHOST_USER_PROTOCOL_F_PAGEFAULT`` is supported, the master
advises slave that a migration with postcopy enabled is underway, advises slave that a migration with postcopy enabled is underway,
@ -1226,7 +1242,8 @@ Master message types
``VHOST_USER_POSTCOPY_LISTEN`` ``VHOST_USER_POSTCOPY_LISTEN``
:id: 29 :id: 29
:master payload: N/A :request payload: N/A
:reply payload: N/A
Master advises slave that a transition to postcopy mode has Master advises slave that a transition to postcopy mode has
happened. The slave must ensure that shared memory is registered happened. The slave must ensure that shared memory is registered
@ -1237,10 +1254,11 @@ Master message types
``VHOST_USER_POSTCOPY_END`` ``VHOST_USER_POSTCOPY_END``
:id: 30 :id: 30
:slave payload: ``u64`` :request payload: N/A
:reply payload: ``u64``
Master advises that postcopy migration has now completed. The slave Master advises that postcopy migration has now completed. The slave
must disable the userfaultfd. The response is an acknowledgement must disable the userfaultfd. The reply is an acknowledgement
only. only.
When ``VHOST_USER_PROTOCOL_F_PAGEFAULT`` is supported, this message When ``VHOST_USER_PROTOCOL_F_PAGEFAULT`` is supported, this message
@ -1252,7 +1270,8 @@ Master message types
``VHOST_USER_GET_INFLIGHT_FD`` ``VHOST_USER_GET_INFLIGHT_FD``
:id: 31 :id: 31
:equivalent ioctl: N/A :equivalent ioctl: N/A
:master payload: inflight description :request payload: inflight description
:reply payload: N/A
When ``VHOST_USER_PROTOCOL_F_INFLIGHT_SHMFD`` protocol feature has When ``VHOST_USER_PROTOCOL_F_INFLIGHT_SHMFD`` protocol feature has
been successfully negotiated, this message is submitted by master to been successfully negotiated, this message is submitted by master to
@ -1263,7 +1282,8 @@ Master message types
``VHOST_USER_SET_INFLIGHT_FD`` ``VHOST_USER_SET_INFLIGHT_FD``
:id: 32 :id: 32
:equivalent ioctl: N/A :equivalent ioctl: N/A
:master payload: inflight description :request payload: inflight description
:reply payload: N/A
When ``VHOST_USER_PROTOCOL_F_INFLIGHT_SHMFD`` protocol feature has When ``VHOST_USER_PROTOCOL_F_INFLIGHT_SHMFD`` protocol feature has
been successfully negotiated, this message is submitted by master to been successfully negotiated, this message is submitted by master to
@ -1273,7 +1293,8 @@ Master message types
``VHOST_USER_GPU_SET_SOCKET`` ``VHOST_USER_GPU_SET_SOCKET``
:id: 33 :id: 33
:equivalent ioctl: N/A :equivalent ioctl: N/A
:master payload: N/A :request payload: N/A
:reply payload: N/A
Sets the GPU protocol socket file descriptor, which is passed as Sets the GPU protocol socket file descriptor, which is passed as
ancillary data. The GPU protocol is used to inform the master of ancillary data. The GPU protocol is used to inform the master of
@ -1282,8 +1303,8 @@ Master message types
``VHOST_USER_RESET_DEVICE`` ``VHOST_USER_RESET_DEVICE``
:id: 34 :id: 34
:equivalent ioctl: N/A :equivalent ioctl: N/A
:master payload: N/A :request payload: N/A
:slave payload: N/A :reply payload: N/A
Ask the vhost user backend to disable all rings and reset all Ask the vhost user backend to disable all rings and reset all
internal device state to the initial state, ready to be internal device state to the initial state, ready to be
@ -1296,8 +1317,8 @@ Master message types
``VHOST_USER_VRING_KICK`` ``VHOST_USER_VRING_KICK``
:id: 35 :id: 35
:equivalent ioctl: N/A :equivalent ioctl: N/A
:slave payload: vring state description :request payload: vring state description
:master payload: N/A :reply payload: N/A
When the ``VHOST_USER_PROTOCOL_F_INBAND_NOTIFICATIONS`` protocol When the ``VHOST_USER_PROTOCOL_F_INBAND_NOTIFICATIONS`` protocol
feature has been successfully negotiated, this message may be feature has been successfully negotiated, this message may be
@ -1310,7 +1331,8 @@ Master message types
``VHOST_USER_GET_MAX_MEM_SLOTS`` ``VHOST_USER_GET_MAX_MEM_SLOTS``
:id: 36 :id: 36
:equivalent ioctl: N/A :equivalent ioctl: N/A
:slave payload: u64 :request payload: N/A
:reply payload: u64
When the ``VHOST_USER_PROTOCOL_F_CONFIGURE_MEM_SLOTS`` protocol When the ``VHOST_USER_PROTOCOL_F_CONFIGURE_MEM_SLOTS`` protocol
feature has been successfully negotiated, this message is submitted feature has been successfully negotiated, this message is submitted
@ -1323,7 +1345,8 @@ Master message types
``VHOST_USER_ADD_MEM_REG`` ``VHOST_USER_ADD_MEM_REG``
:id: 37 :id: 37
:equivalent ioctl: N/A :equivalent ioctl: N/A
:slave payload: single memory region description :request payload: N/A
:reply payload: single memory region description
When the ``VHOST_USER_PROTOCOL_F_CONFIGURE_MEM_SLOTS`` protocol When the ``VHOST_USER_PROTOCOL_F_CONFIGURE_MEM_SLOTS`` protocol
feature has been successfully negotiated, this message is submitted feature has been successfully negotiated, this message is submitted
@ -1346,7 +1369,8 @@ Master message types
``VHOST_USER_REM_MEM_REG`` ``VHOST_USER_REM_MEM_REG``
:id: 38 :id: 38
:equivalent ioctl: N/A :equivalent ioctl: N/A
:slave payload: single memory region description :request payload: N/A
:reply payload: single memory region description
When the ``VHOST_USER_PROTOCOL_F_CONFIGURE_MEM_SLOTS`` protocol When the ``VHOST_USER_PROTOCOL_F_CONFIGURE_MEM_SLOTS`` protocol
feature has been successfully negotiated, this message is submitted feature has been successfully negotiated, this message is submitted
@ -1369,8 +1393,8 @@ Master message types
``VHOST_USER_SET_STATUS`` ``VHOST_USER_SET_STATUS``
:id: 39 :id: 39
:equivalent ioctl: VHOST_VDPA_SET_STATUS :equivalent ioctl: VHOST_VDPA_SET_STATUS
:slave payload: N/A :request payload: ``u64``
:master payload: ``u64`` :reply payload: N/A
When the ``VHOST_USER_PROTOCOL_F_STATUS`` protocol feature has been When the ``VHOST_USER_PROTOCOL_F_STATUS`` protocol feature has been
successfully negotiated, this message is submitted by the master to successfully negotiated, this message is submitted by the master to
@ -1380,8 +1404,8 @@ Master message types
``VHOST_USER_GET_STATUS`` ``VHOST_USER_GET_STATUS``
:id: 40 :id: 40
:equivalent ioctl: VHOST_VDPA_GET_STATUS :equivalent ioctl: VHOST_VDPA_GET_STATUS
:slave payload: ``u64`` :request payload: N/A
:master payload: N/A :reply payload: ``u64``
When the ``VHOST_USER_PROTOCOL_F_STATUS`` protocol feature has been When the ``VHOST_USER_PROTOCOL_F_STATUS`` protocol feature has been
successfully negotiated, this message is submitted by the master to successfully negotiated, this message is submitted by the master to
@ -1392,11 +1416,14 @@ Master message types
Slave message types Slave message types
------------------- -------------------
For this type of message, the request is sent by the slave and the reply
is sent by the master.
``VHOST_USER_SLAVE_IOTLB_MSG`` ``VHOST_USER_SLAVE_IOTLB_MSG``
:id: 1 :id: 1
:equivalent ioctl: N/A (equivalent to ``VHOST_IOTLB_MSG`` message type) :equivalent ioctl: N/A (equivalent to ``VHOST_IOTLB_MSG`` message type)
:slave payload: ``struct vhost_iotlb_msg`` :request payload: ``struct vhost_iotlb_msg``
:master payload: N/A :reply payload: N/A
Send IOTLB messages with ``struct vhost_iotlb_msg`` as payload. Send IOTLB messages with ``struct vhost_iotlb_msg`` as payload.
Slave sends such requests to notify of an IOTLB miss, or an IOTLB Slave sends such requests to notify of an IOTLB miss, or an IOTLB
@ -1410,8 +1437,8 @@ Slave message types
``VHOST_USER_SLAVE_CONFIG_CHANGE_MSG`` ``VHOST_USER_SLAVE_CONFIG_CHANGE_MSG``
:id: 2 :id: 2
:equivalent ioctl: N/A :equivalent ioctl: N/A
:slave payload: N/A :request payload: N/A
:master payload: N/A :reply payload: N/A
When ``VHOST_USER_PROTOCOL_F_CONFIG`` is negotiated, vhost-user When ``VHOST_USER_PROTOCOL_F_CONFIG`` is negotiated, vhost-user
slave sends such messages to notify that the virtio device's slave sends such messages to notify that the virtio device's
@ -1425,8 +1452,8 @@ Slave message types
``VHOST_USER_SLAVE_VRING_HOST_NOTIFIER_MSG`` ``VHOST_USER_SLAVE_VRING_HOST_NOTIFIER_MSG``
:id: 3 :id: 3
:equivalent ioctl: N/A :equivalent ioctl: N/A
:slave payload: vring area description :request payload: vring area description
:master payload: N/A :reply payload: N/A
Sets host notifier for a specified queue. The queue index is Sets host notifier for a specified queue. The queue index is
contained in the ``u64`` field of the vring area description. The contained in the ``u64`` field of the vring area description. The
@ -1448,8 +1475,8 @@ Slave message types
``VHOST_USER_SLAVE_VRING_CALL`` ``VHOST_USER_SLAVE_VRING_CALL``
:id: 4 :id: 4
:equivalent ioctl: N/A :equivalent ioctl: N/A
:slave payload: vring state description :request payload: vring state description
:master payload: N/A :reply payload: N/A
When the ``VHOST_USER_PROTOCOL_F_INBAND_NOTIFICATIONS`` protocol When the ``VHOST_USER_PROTOCOL_F_INBAND_NOTIFICATIONS`` protocol
feature has been successfully negotiated, this message may be feature has been successfully negotiated, this message may be
@ -1462,8 +1489,8 @@ Slave message types
``VHOST_USER_SLAVE_VRING_ERR`` ``VHOST_USER_SLAVE_VRING_ERR``
:id: 5 :id: 5
:equivalent ioctl: N/A :equivalent ioctl: N/A
:slave payload: vring state description :request payload: vring state description
:master payload: N/A :reply payload: N/A
When the ``VHOST_USER_PROTOCOL_F_INBAND_NOTIFICATIONS`` protocol When the ``VHOST_USER_PROTOCOL_F_INBAND_NOTIFICATIONS`` protocol
feature has been successfully negotiated, this message may be feature has been successfully negotiated, this message may be
@ -1489,7 +1516,7 @@ client MUST respond with a Payload ``VhostUserMsg`` indicating success
or failure. The payload should be set to zero on success or non-zero or failure. The payload should be set to zero on success or non-zero
on failure, unless the message already has an explicit reply body. on failure, unless the message already has an explicit reply body.
The response payload gives QEMU a deterministic indication of the result The reply payload gives QEMU a deterministic indication of the result
of the command. Today, QEMU is expected to terminate the main vhost-user of the command. Today, QEMU is expected to terminate the main vhost-user
loop upon receiving such errors. In future, qemu could be taught to be more loop upon receiving such errors. In future, qemu could be taught to be more
resilient for selective requests. resilient for selective requests.