#define RTE_VHOST_USER_CLIENT (1ULL << 0)
#define RTE_VHOST_USER_NO_RECONNECT (1ULL << 1)
-#define RTE_VHOST_USER_DEQUEUE_ZERO_COPY (1ULL << 2)
+#define RTE_VHOST_USER_RESERVED_1 (1ULL << 2)
#define RTE_VHOST_USER_IOMMU_SUPPORT (1ULL << 3)
#define RTE_VHOST_USER_POSTCOPY_SUPPORT (1ULL << 4)
/* support mbuf with external buffer attached */
#define RTE_VHOST_USER_EXTBUF_SUPPORT (1ULL << 5)
/* support only linear buffers (no chained mbufs) */
#define RTE_VHOST_USER_LINEARBUF_SUPPORT (1ULL << 6)
+#define RTE_VHOST_USER_ASYNC_COPY (1ULL << 7)
/* Features. */
#ifndef VIRTIO_NET_F_GUEST_ANNOUNCE
#define VHOST_USER_PROTOCOL_F_INFLIGHT_SHMFD 12
#endif
+#ifndef VHOST_USER_PROTOCOL_F_STATUS
+#define VHOST_USER_PROTOCOL_F_STATUS 16
+#endif
+
/** Indicate whether protocol features negotiation is supported. */
#ifndef VHOST_USER_F_PROTOCOL_FEATURES
#define VHOST_USER_F_PROTOCOL_FEATURES 30
* @return
* 0 on success, -1 on failure
*/
-__rte_experimental
int
rte_vhost_driver_attach_vdpa_device(const char *path,
struct rte_vdpa_device *dev);
* @return
* 0 on success, -1 on failure
*/
-__rte_experimental
int
rte_vhost_driver_detach_vdpa_device(const char *path);
* @return
* vDPA device pointer, NULL on failure
*/
-__rte_experimental
struct rte_vdpa_device *
rte_vhost_driver_get_vdpa_device(const char *path);
* @return
* 0 on success, -1 on failure
*/
-__rte_experimental
int
rte_vhost_get_log_base(int vid, uint64_t *log_base, uint64_t *log_size);
* @return
* 0 on success, -1 on failure
*/
-__rte_experimental
int
rte_vhost_get_vring_base(int vid, uint16_t queue_id,
uint16_t *last_avail_idx, uint16_t *last_used_idx);
* @return
* 0 on success, -1 on failure
*/
-__rte_experimental
int
rte_vhost_set_vring_base(int vid, uint16_t queue_id,
uint16_t last_avail_idx, uint16_t last_used_idx);
* @return
* vDPA device pointer on success, NULL on failure
*/
-__rte_experimental
struct rte_vdpa_device *
rte_vhost_get_vdpa_device(int vid);