New upstream version 18.02
[deb_dpdk.git] / lib / librte_port / rte_port_ethdev.h
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2010-2014 Intel Corporation
3  */
4
5 #ifndef __INCLUDE_RTE_PORT_ETHDEV_H__
6 #define __INCLUDE_RTE_PORT_ETHDEV_H__
7
8 #ifdef __cplusplus
9 extern "C" {
10 #endif
11
12 /**
13  * @file
14  * RTE Port Ethernet Device
15  *
16  * ethdev_reader: input port built on top of pre-initialized NIC RX queue
17  * ethdev_writer: output port built on top of pre-initialized NIC TX queue
18  *
19  ***/
20
21 #include <stdint.h>
22
23 #include "rte_port.h"
24
25 /** ethdev_reader port parameters */
26 struct rte_port_ethdev_reader_params {
27         /** NIC RX port ID */
28         uint16_t port_id;
29
30         /** NIC RX queue ID */
31         uint16_t queue_id;
32 };
33
34 /** ethdev_reader port operations */
35 extern struct rte_port_in_ops rte_port_ethdev_reader_ops;
36
37 /** ethdev_writer port parameters */
38 struct rte_port_ethdev_writer_params {
39         /** NIC RX port ID */
40         uint16_t port_id;
41
42         /** NIC RX queue ID */
43         uint16_t queue_id;
44
45         /** Recommended burst size to NIC TX queue. The actual burst size can be
46         bigger or smaller than this value. */
47         uint32_t tx_burst_sz;
48 };
49
50 /** ethdev_writer port operations */
51 extern struct rte_port_out_ops rte_port_ethdev_writer_ops;
52
53 /** ethdev_writer_nodrop port parameters */
54 struct rte_port_ethdev_writer_nodrop_params {
55         /** NIC RX port ID */
56         uint16_t port_id;
57
58         /** NIC RX queue ID */
59         uint16_t queue_id;
60
61         /** Recommended burst size to NIC TX queue. The actual burst size can be
62         bigger or smaller than this value. */
63         uint32_t tx_burst_sz;
64
65         /** Maximum number of retries, 0 for no limit */
66         uint32_t n_retries;
67 };
68
69 /** ethdev_writer_nodrop port operations */
70 extern struct rte_port_out_ops rte_port_ethdev_writer_nodrop_ops;
71
72 #ifdef __cplusplus
73 }
74 #endif
75
76 #endif