DPDK
20.11.0
lib
librte_gro
rte_gro.h
Go to the documentation of this file.
1
/* SPDX-License-Identifier: BSD-3-Clause
2
* Copyright(c) 2017 Intel Corporation
3
*/
4
5
#ifndef _RTE_GRO_H_
6
#define _RTE_GRO_H_
7
13
#include <stdint.h>
14
#include <
rte_mbuf.h
>
15
16
#ifdef __cplusplus
17
extern
"C"
{
18
#endif
19
20
#define RTE_GRO_MAX_BURST_ITEM_NUM 128U
21
24
#define RTE_GRO_TYPE_MAX_NUM 64
25
26
#define RTE_GRO_TYPE_SUPPORT_NUM 2
27
29
#define RTE_GRO_TCP_IPV4_INDEX 0
30
#define RTE_GRO_TCP_IPV4 (1ULL << RTE_GRO_TCP_IPV4_INDEX)
31
32
#define RTE_GRO_IPV4_VXLAN_TCP_IPV4_INDEX 1
33
#define RTE_GRO_IPV4_VXLAN_TCP_IPV4 (1ULL << RTE_GRO_IPV4_VXLAN_TCP_IPV4_INDEX)
34
35
#define RTE_GRO_UDP_IPV4_INDEX 2
36
#define RTE_GRO_UDP_IPV4 (1ULL << RTE_GRO_UDP_IPV4_INDEX)
37
38
#define RTE_GRO_IPV4_VXLAN_UDP_IPV4_INDEX 3
39
#define RTE_GRO_IPV4_VXLAN_UDP_IPV4 (1ULL << RTE_GRO_IPV4_VXLAN_UDP_IPV4_INDEX)
40
46
struct
rte_gro_param
{
47
uint64_t
gro_types
;
49
uint16_t
max_flow_num
;
51
uint16_t
max_item_per_flow
;
53
uint16_t
socket_id
;
58
};
59
75
void
*
rte_gro_ctx_create
(
const
struct
rte_gro_param
*param);
76
86
void
rte_gro_ctx_destroy
(
void
*ctx);
87
108
uint16_t
rte_gro_reassemble_burst
(
struct
rte_mbuf
**pkts,
109
uint16_t nb_pkts,
110
const
struct
rte_gro_param
*param);
111
139
uint16_t
rte_gro_reassemble
(
struct
rte_mbuf
**pkts,
140
uint16_t nb_pkts,
141
void
*ctx);
142
170
uint16_t
rte_gro_timeout_flush
(
void
*ctx,
171
uint64_t timeout_cycles,
172
uint64_t gro_types,
173
struct
rte_mbuf
**out,
174
uint16_t max_nb_out);
175
189
uint64_t
rte_gro_get_pkt_count
(
void
*ctx);
190
191
#ifdef __cplusplus
192
}
193
#endif
194
195
#endif
/* _RTE_GRO_H_ */
rte_gro_reassemble_burst
uint16_t rte_gro_reassemble_burst(struct rte_mbuf **pkts, uint16_t nb_pkts, const struct rte_gro_param *param)
rte_gro_param::socket_id
uint16_t socket_id
Definition:
rte_gro.h:53
rte_mbuf
Definition:
rte_mbuf_core.h:473
rte_gro_ctx_destroy
void rte_gro_ctx_destroy(void *ctx)
rte_gro_ctx_create
void * rte_gro_ctx_create(const struct rte_gro_param *param)
rte_gro_timeout_flush
uint16_t rte_gro_timeout_flush(void *ctx, uint64_t timeout_cycles, uint64_t gro_types, struct rte_mbuf **out, uint16_t max_nb_out)
rte_gro_get_pkt_count
uint64_t rte_gro_get_pkt_count(void *ctx)
rte_mbuf.h
rte_gro_param::gro_types
uint64_t gro_types
Definition:
rte_gro.h:47
rte_gro_param::max_item_per_flow
uint16_t max_item_per_flow
Definition:
rte_gro.h:51
rte_gro_param::max_flow_num
uint16_t max_flow_num
Definition:
rte_gro.h:49
rte_gro_reassemble
uint16_t rte_gro_reassemble(struct rte_mbuf **pkts, uint16_t nb_pkts, void *ctx)
rte_gro_param
Definition:
rte_gro.h:46
Generated by
1.8.20