DPDK 22.11.5
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
9extern "C" {
10#endif
11
12#include <stdint.h>
13
14#include <rte_compat.h>
15#include <rte_mbuf.h>
16
27__rte_experimental
28int rte_vhost_async_channel_register(int vid, uint16_t queue_id);
29
40__rte_experimental
41int rte_vhost_async_channel_unregister(int vid, uint16_t queue_id);
42
57__rte_experimental
58int rte_vhost_async_channel_register_thread_unsafe(int vid, uint16_t queue_id);
59
74__rte_experimental
75int rte_vhost_async_channel_unregister_thread_unsafe(int vid,
76 uint16_t queue_id);
77
98__rte_experimental
99uint16_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
124uint16_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
140int rte_vhost_async_get_inflight(int vid, uint16_t queue_id);
141
156__rte_experimental
157int rte_vhost_async_get_inflight_thread_unsafe(int vid, uint16_t queue_id);
158
181__rte_experimental
182uint16_t rte_vhost_clear_queue_thread_unsafe(int vid, uint16_t queue_id,
183 struct rte_mbuf **pkts, uint16_t count, int16_t dma_id,
184 uint16_t vchan_id);
185
206__rte_experimental
207uint16_t rte_vhost_clear_queue(int vid, uint16_t queue_id,
208 struct rte_mbuf **pkts, uint16_t count, int16_t dma_id,
209 uint16_t vchan_id);
210
229__rte_experimental
230int rte_vhost_async_dma_configure(int16_t dma_id, uint16_t vchan_id);
231
263__rte_experimental
264uint16_t
265rte_vhost_async_try_dequeue_burst(int vid, uint16_t queue_id,
266 struct rte_mempool *mbuf_pool, struct rte_mbuf **pkts, uint16_t count,
267 int *nr_inflight, int16_t dma_id, uint16_t vchan_id);
268
285__rte_experimental
286int
287rte_vhost_async_dma_unconfigure(int16_t dma_id, uint16_t vchan_id);
288
289#ifdef __cplusplus
290}
291#endif
292
293#endif /* _RTE_VHOST_ASYNC_H_ */