DPDK 21.11.9
rte_port.h
Go to the documentation of this file.
1/* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2010-2014 Intel Corporation
3 */
4
5#ifndef __INCLUDE_RTE_PORT_H__
6#define __INCLUDE_RTE_PORT_H__
7
8#ifdef __cplusplus
9extern "C" {
10#endif
11
21#include <stdint.h>
22#include <rte_mbuf.h>
23
28#define RTE_MBUF_METADATA_UINT8_PTR(mbuf, offset) \
29 (&((uint8_t *)(mbuf))[offset])
30#define RTE_MBUF_METADATA_UINT16_PTR(mbuf, offset) \
31 ((uint16_t *) RTE_MBUF_METADATA_UINT8_PTR(mbuf, offset))
32#define RTE_MBUF_METADATA_UINT32_PTR(mbuf, offset) \
33 ((uint32_t *) RTE_MBUF_METADATA_UINT8_PTR(mbuf, offset))
34#define RTE_MBUF_METADATA_UINT64_PTR(mbuf, offset) \
35 ((uint64_t *) RTE_MBUF_METADATA_UINT8_PTR(mbuf, offset))
36
37#define RTE_MBUF_METADATA_UINT8(mbuf, offset) \
38 (*RTE_MBUF_METADATA_UINT8_PTR(mbuf, offset))
39#define RTE_MBUF_METADATA_UINT16(mbuf, offset) \
40 (*RTE_MBUF_METADATA_UINT16_PTR(mbuf, offset))
41#define RTE_MBUF_METADATA_UINT32(mbuf, offset) \
42 (*RTE_MBUF_METADATA_UINT32_PTR(mbuf, offset))
43#define RTE_MBUF_METADATA_UINT64(mbuf, offset) \
44 (*RTE_MBUF_METADATA_UINT64_PTR(mbuf, offset))
47/*
48 * Port IN
49 *
50 */
53#define RTE_PORT_IN_BURST_SIZE_MAX 64
54
57 uint64_t n_pkts_in;
58 uint64_t n_pkts_drop;
59};
60
71typedef void* (*rte_port_in_op_create)(void *params, int socket_id);
72
81typedef int (*rte_port_in_op_free)(void *port);
82
95typedef int (*rte_port_in_op_rx)(
96 void *port,
97 struct rte_mbuf **pkts,
98 uint32_t n_pkts);
99
114 void *port,
115 struct rte_port_in_stats *stats,
116 int clear);
117
124};
125
126/*
127 * Port OUT
128 *
129 */
132 uint64_t n_pkts_in;
133 uint64_t n_pkts_drop;
134};
135
146typedef void* (*rte_port_out_op_create)(void *params, int socket_id);
147
156typedef int (*rte_port_out_op_free)(void *port);
157
168typedef int (*rte_port_out_op_tx)(
169 void *port,
170 struct rte_mbuf *pkt);
171
188 void *port,
189 struct rte_mbuf **pkts,
190 uint64_t pkts_mask);
191
200typedef int (*rte_port_out_op_flush)(void *port);
201
216 void *port,
217 struct rte_port_out_stats *stats,
218 int clear);
219
228};
229
230#ifdef __cplusplus
231}
232#endif
233
234#endif
int(* rte_port_out_op_tx)(void *port, struct rte_mbuf *pkt)
Definition: rte_port.h:168
int(* rte_port_in_op_free)(void *port)
Definition: rte_port.h:81
int(* rte_port_out_op_free)(void *port)
Definition: rte_port.h:156
int(* rte_port_in_op_stats_read)(void *port, struct rte_port_in_stats *stats, int clear)
Definition: rte_port.h:113
int(* rte_port_out_op_tx_bulk)(void *port, struct rte_mbuf **pkts, uint64_t pkts_mask)
Definition: rte_port.h:187
int(* rte_port_out_op_flush)(void *port)
Definition: rte_port.h:200
void *(* rte_port_in_op_create)(void *params, int socket_id)
Definition: rte_port.h:71
int(* rte_port_out_op_stats_read)(void *port, struct rte_port_out_stats *stats, int clear)
Definition: rte_port.h:215
void *(* rte_port_out_op_create)(void *params, int socket_id)
Definition: rte_port.h:146
int(* rte_port_in_op_rx)(void *port, struct rte_mbuf **pkts, uint32_t n_pkts)
Definition: rte_port.h:95
uint16_t port
rte_port_in_op_free f_free
Definition: rte_port.h:121
rte_port_in_op_rx f_rx
Definition: rte_port.h:122
rte_port_in_op_stats_read f_stats
Definition: rte_port.h:123
rte_port_in_op_create f_create
Definition: rte_port.h:120
rte_port_out_op_stats_read f_stats
Definition: rte_port.h:227
rte_port_out_op_tx f_tx
Definition: rte_port.h:224
rte_port_out_op_create f_create
Definition: rte_port.h:222
rte_port_out_op_flush f_flush
Definition: rte_port.h:226
rte_port_out_op_free f_free
Definition: rte_port.h:223
rte_port_out_op_tx_bulk f_tx_bulk
Definition: rte_port.h:225