]> git.proxmox.com Git - ceph.git/blob - ceph/src/spdk/dpdk/drivers/net/softnic/rte_eth_softnic.h
update sources to ceph Nautilus 14.2.1
[ceph.git] / ceph / src / spdk / dpdk / drivers / net / softnic / rte_eth_softnic.h
1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2017 Intel Corporation
3 */
4
5 #ifndef __INCLUDE_RTE_ETH_SOFTNIC_H__
6 #define __INCLUDE_RTE_ETH_SOFTNIC_H__
7
8 #include <stdint.h>
9
10 #ifdef __cplusplus
11 extern "C" {
12 #endif
13
14 /** Firmware. */
15 #ifndef SOFTNIC_FIRMWARE
16 #define SOFTNIC_FIRMWARE "firmware.cli"
17 #endif
18
19 /** TCP connection port (0 = no connectivity). */
20 #ifndef SOFTNIC_CONN_PORT
21 #define SOFTNIC_CONN_PORT 0
22 #endif
23
24 /** NUMA node ID. */
25 #ifndef SOFTNIC_CPU_ID
26 #define SOFTNIC_CPU_ID 0
27 #endif
28
29 /** Traffic Manager: Number of scheduler queues. */
30 #ifndef SOFTNIC_TM_N_QUEUES
31 #define SOFTNIC_TM_N_QUEUES (64 * 1024)
32 #endif
33
34 /** Traffic Manager: Scheduler queue size (per traffic class). */
35 #ifndef SOFTNIC_TM_QUEUE_SIZE
36 #define SOFTNIC_TM_QUEUE_SIZE 64
37 #endif
38
39 /**
40 * Soft NIC run.
41 *
42 * @param port_id
43 * Port ID of the Soft NIC device.
44 * @return
45 * Zero on success, error code otherwise.
46 */
47 int
48 rte_pmd_softnic_run(uint16_t port_id);
49
50 /**
51 * Soft NIC manage.
52 *
53 * @param port_id
54 * Port ID of the Soft NIC device.
55 * @return
56 * Zero on success, error code otherwise.
57 */
58 int __rte_experimental
59 rte_pmd_softnic_manage(uint16_t port_id);
60
61 #ifdef __cplusplus
62 }
63 #endif
64
65 #endif /* __INCLUDE_RTE_ETH_SOFTNIC_H__ */