5 #ifndef _RTE_VHOST_ASYNC_H_
6 #define _RTE_VHOST_ASYNC_H_
78 uint16_t max_packets);
85 RTE_VHOST_ASYNC_INORDER = 1U << 0,
111 int rte_vhost_async_channel_register(
int vid, uint16_t queue_id,
126 int rte_vhost_async_channel_unregister(
int vid, uint16_t queue_id);
147 int rte_vhost_async_channel_register_thread_unsafe(
int vid, uint16_t queue_id,
166 int rte_vhost_async_channel_unregister_thread_unsafe(
int vid,
186 uint16_t rte_vhost_submit_enqueue_burst(
int vid, uint16_t queue_id,
187 struct rte_mbuf **pkts, uint16_t count);
206 uint16_t rte_vhost_poll_enqueue_completed(
int vid, uint16_t queue_id,
207 struct rte_mbuf **pkts, uint16_t count);
221 int rte_vhost_async_get_inflight(
int vid, uint16_t queue_id);
242 uint16_t rte_vhost_clear_queue_thread_unsafe(
int vid, uint16_t queue_id,
243 struct rte_mbuf **pkts, uint16_t count);
int32_t(* transfer_data)(int vid, uint16_t queue_id, struct rte_vhost_iov_iter *iov_iter, struct rte_vhost_async_status *opaque_data, uint16_t count)
int32_t(* check_completed_copies)(int vid, uint16_t queue_id, struct rte_vhost_async_status *opaque_data, uint16_t max_packets)
uintptr_t * dst_opaque_data
uintptr_t * src_opaque_data
struct rte_vhost_iovec * iov