vhost: relax full barriers for desc flags
[dpdk.git] / lib / librte_vhost / rte_vhost.h
index 8a5c332..010f160 100644 (file)
@@ -28,13 +28,14 @@ extern "C" {
 
 #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
@@ -102,6 +103,10 @@ extern "C" {
 #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
@@ -425,7 +430,6 @@ int rte_vhost_driver_unregister(const char *path);
  * @return
  *  0 on success, -1 on failure
  */
-__rte_experimental
 int
 rte_vhost_driver_attach_vdpa_device(const char *path,
                struct rte_vdpa_device *dev);
@@ -438,7 +442,6 @@ rte_vhost_driver_attach_vdpa_device(const char *path,
  * @return
  *  0 on success, -1 on failure
  */
-__rte_experimental
 int
 rte_vhost_driver_detach_vdpa_device(const char *path);
 
@@ -450,7 +453,6 @@ 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);
 
@@ -908,7 +910,6 @@ uint32_t rte_vhost_rx_queue_count(int vid, uint16_t qid);
  * @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);
 
@@ -926,7 +927,6 @@ 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);
@@ -968,7 +968,6 @@ rte_vhost_get_vring_base_from_inflight(int vid,
  * @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);
@@ -998,7 +997,6 @@ rte_vhost_extern_callback_register(int vid,
  * @return
  *  vDPA device pointer on success, NULL on failure
  */
-__rte_experimental
 struct rte_vdpa_device *
 rte_vhost_get_vdpa_device(int vid);