DPDK
25.11.0
Toggle main menu visibility
Loading...
Searching...
No Matches
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
12
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
24
#define RTE_GRO_TYPE_MAX_NUM 64
26
#define RTE_GRO_TYPE_SUPPORT_NUM 2
28
29
#define RTE_GRO_TCP_IPV4_INDEX 0
30
#define RTE_GRO_TCP_IPV4 (1ULL << RTE_GRO_TCP_IPV4_INDEX)
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)
35
#define RTE_GRO_UDP_IPV4_INDEX 2
36
#define RTE_GRO_UDP_IPV4 (1ULL << RTE_GRO_UDP_IPV4_INDEX)
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)
41
#define RTE_GRO_TCP_IPV6_INDEX 4
42
#define RTE_GRO_TCP_IPV6 (1ULL << RTE_GRO_TCP_IPV6_INDEX)
44
49
struct
rte_gro_param
{
50
uint64_t
gro_types
;
52
uint16_t
max_flow_num
;
54
uint16_t
max_item_per_flow
;
56
uint16_t
socket_id
;
61
};
62
78
void
*
rte_gro_ctx_create
(
const
struct
rte_gro_param
*param);
79
89
void
rte_gro_ctx_destroy
(
void
*ctx);
90
111
uint16_t
rte_gro_reassemble_burst
(
struct
rte_mbuf
**pkts,
112
uint16_t nb_pkts,
113
const
struct
rte_gro_param
*param);
114
142
uint16_t
rte_gro_reassemble
(
struct
rte_mbuf
**pkts,
143
uint16_t nb_pkts,
144
void
*ctx);
145
173
uint16_t
rte_gro_timeout_flush
(
void
*ctx,
174
uint64_t timeout_cycles,
175
uint64_t gro_types,
176
struct
rte_mbuf
**out,
177
uint16_t max_nb_out);
178
192
uint64_t
rte_gro_get_pkt_count
(
void
*ctx);
193
194
#ifdef __cplusplus
195
}
196
#endif
197
198
#endif
/* _RTE_GRO_H_ */
rte_gro_get_pkt_count
uint64_t rte_gro_get_pkt_count(void *ctx)
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_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_ctx_create
void * rte_gro_ctx_create(const struct rte_gro_param *param)
rte_gro_ctx_destroy
void rte_gro_ctx_destroy(void *ctx)
rte_gro_reassemble
uint16_t rte_gro_reassemble(struct rte_mbuf **pkts, uint16_t nb_pkts, void *ctx)
rte_mbuf.h
rte_gro_param
Definition
rte_gro.h:49
rte_gro_param::gro_types
uint64_t gro_types
Definition
rte_gro.h:50
rte_gro_param::socket_id
uint16_t socket_id
Definition
rte_gro.h:56
rte_gro_param::max_item_per_flow
uint16_t max_item_per_flow
Definition
rte_gro.h:54
rte_gro_param::max_flow_num
uint16_t max_flow_num
Definition
rte_gro.h:52
rte_mbuf
Definition
rte_mbuf_core.h:475
lib
gro
rte_gro.h
Generated by
1.17.0