]> git.proxmox.com Git - ceph.git/blob - ceph/src/seastar/dpdk/examples/ip_pipeline/kni.h
import 15.2.0 Octopus source
[ceph.git] / ceph / src / seastar / dpdk / examples / ip_pipeline / kni.h
1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2010-2018 Intel Corporation
3 */
4
5 #ifndef _INCLUDE_KNI_H_
6 #define _INCLUDE_KNI_H_
7
8 #include <stdint.h>
9 #include <sys/queue.h>
10
11 #ifdef RTE_LIBRTE_KNI
12 #include <rte_kni.h>
13 #endif
14
15 #include "common.h"
16
17 struct kni {
18 TAILQ_ENTRY(kni) node;
19 char name[NAME_SIZE];
20 #ifdef RTE_LIBRTE_KNI
21 struct rte_kni *k;
22 #endif
23 };
24
25 TAILQ_HEAD(kni_list, kni);
26
27 int
28 kni_init(void);
29
30 struct kni *
31 kni_find(const char *name);
32
33 struct kni_params {
34 const char *link_name;
35 const char *mempool_name;
36 int force_bind;
37 uint32_t thread_id;
38 };
39
40 struct kni *
41 kni_create(const char *name, struct kni_params *params);
42
43 void
44 kni_handle_request(void);
45
46 #endif /* _INCLUDE_KNI_H_ */