5 #ifndef _RTE_VHOST_ASYNC_H_
6 #define _RTE_VHOST_ASYNC_H_
83 uint16_t max_packets);
99 RTE_VHOST_ASYNC_INORDER = 1U << 0,
106 uint32_t async_threshold;
126 int rte_vhost_async_channel_register(
int vid, uint16_t queue_id,
141 int rte_vhost_async_channel_unregister(
int vid, uint16_t queue_id);
162 int rte_vhost_async_channel_register_thread_unsafe(
int vid, uint16_t queue_id,
181 int rte_vhost_async_channel_unregister_thread_unsafe(
int vid,
211 uint16_t rte_vhost_submit_enqueue_burst(
int vid, uint16_t queue_id,
212 struct rte_mbuf **pkts, uint16_t count,
213 struct rte_mbuf **comp_pkts, uint32_t *comp_count);
232 uint16_t rte_vhost_poll_enqueue_completed(
int vid, uint16_t queue_id,
233 struct rte_mbuf **pkts, uint16_t count);
247 int rte_vhost_async_get_inflight(
int vid, uint16_t queue_id);
268 uint16_t rte_vhost_clear_queue_thread_unsafe(
int vid, uint16_t queue_id,
269 struct rte_mbuf **pkts, 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)
int32_t(* transfer_data)(int vid, uint16_t queue_id, struct rte_vhost_async_desc *descs, struct rte_vhost_async_status *opaque_data, uint16_t count)
struct rte_vhost_iov_iter * src
struct rte_vhost_iov_iter * dst
uintptr_t * dst_opaque_data
uintptr_t * src_opaque_data