DPDK  22.03.0
rte_vhost_async.h
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2020 Intel Corporation
3  */
4 
5 #ifndef _RTE_VHOST_ASYNC_H_
6 #define _RTE_VHOST_ASYNC_H_
7 
8 #ifdef __cplusplus
9 extern "C" {
10 #endif
11 
12 #include <stdint.h>
13 
14 #include <rte_compat.h>
15 #include <rte_mbuf.h>
16 
27 __rte_experimental
28 int rte_vhost_async_channel_register(int vid, uint16_t queue_id);
29 
40 __rte_experimental
41 int rte_vhost_async_channel_unregister(int vid, uint16_t queue_id);
42 
57 __rte_experimental
58 int rte_vhost_async_channel_register_thread_unsafe(int vid, uint16_t queue_id);
59 
74 __rte_experimental
75 int rte_vhost_async_channel_unregister_thread_unsafe(int vid,
76  uint16_t queue_id);
77 
98 __rte_experimental
99 uint16_t rte_vhost_submit_enqueue_burst(int vid, uint16_t queue_id,
100  struct rte_mbuf **pkts, uint16_t count, int16_t dma_id,
101  uint16_t vchan_id);
102 
123 __rte_experimental
124 uint16_t rte_vhost_poll_enqueue_completed(int vid, uint16_t queue_id,
125  struct rte_mbuf **pkts, uint16_t count, int16_t dma_id,
126  uint16_t vchan_id);
127 
139 __rte_experimental
140 int rte_vhost_async_get_inflight(int vid, uint16_t queue_id);
141 
164 __rte_experimental
165 uint16_t rte_vhost_clear_queue_thread_unsafe(int vid, uint16_t queue_id,
166  struct rte_mbuf **pkts, uint16_t count, int16_t dma_id,
167  uint16_t vchan_id);
168 
187 __rte_experimental
188 int rte_vhost_async_dma_configure(int16_t dma_id, uint16_t vchan_id);
189 
190 #ifdef __cplusplus
191 }
192 #endif
193 
194 #endif /* _RTE_VHOST_ASYNC_H_ */