DPDK 22.11.5
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
17extern "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
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)
47 uint64_t gro_types;
49 uint16_t max_flow_num;
53 uint16_t socket_id;
58};
59
75void *rte_gro_ctx_create(const struct rte_gro_param *param);
76
86void rte_gro_ctx_destroy(void *ctx);
87
108uint16_t rte_gro_reassemble_burst(struct rte_mbuf **pkts,
109 uint16_t nb_pkts,
110 const struct rte_gro_param *param);
111
139uint16_t rte_gro_reassemble(struct rte_mbuf **pkts,
140 uint16_t nb_pkts,
141 void *ctx);
142
170uint16_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
189uint64_t rte_gro_get_pkt_count(void *ctx);
190
191#ifdef __cplusplus
192}
193#endif
194
195#endif /* _RTE_GRO_H_ */
uint64_t rte_gro_get_pkt_count(void *ctx)
uint16_t rte_gro_reassemble_burst(struct rte_mbuf **pkts, uint16_t nb_pkts, const struct rte_gro_param *param)
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)
void * rte_gro_ctx_create(const struct rte_gro_param *param)
void rte_gro_ctx_destroy(void *ctx)
uint16_t rte_gro_reassemble(struct rte_mbuf **pkts, uint16_t nb_pkts, void *ctx)
uint64_t gro_types
Definition: rte_gro.h:47
uint16_t socket_id
Definition: rte_gro.h:53
uint16_t max_item_per_flow
Definition: rte_gro.h:51
uint16_t max_flow_num
Definition: rte_gro.h:49