DPDK 26.11.0-rc2
rte_reorder.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 _RTE_REORDER_H_
6#define _RTE_REORDER_H_
7
17#include <rte_common.h>
18#include <rte_compat.h>
19#include <rte_mbuf.h>
20#include <rte_mbuf_dyn.h>
21
22#ifdef __cplusplus
23extern "C" {
24#endif
25
26struct rte_reorder_buffer;
27
28typedef uint32_t rte_reorder_seqn_t;
29extern int rte_reorder_seqn_dynfield_offset;
30
37static inline rte_reorder_seqn_t *
39{
40 return RTE_MBUF_DYNFIELD(mbuf, rte_reorder_seqn_dynfield_offset,
41 rte_reorder_seqn_t *);
42}
43
51void
52rte_reorder_free(struct rte_reorder_buffer *b);
53
73struct rte_reorder_buffer *
74rte_reorder_create(const char *name, unsigned int socket_id, unsigned int size)
76
94struct rte_reorder_buffer *
95rte_reorder_init(struct rte_reorder_buffer *b, unsigned int bufsize,
96 const char *name, unsigned int size);
97
110struct rte_reorder_buffer *
112
119void
120rte_reorder_reset(struct rte_reorder_buffer *b);
121
144int
145rte_reorder_insert(struct rte_reorder_buffer *b, struct rte_mbuf *mbuf);
146
164unsigned int
165rte_reorder_drain(struct rte_reorder_buffer *b, struct rte_mbuf **mbufs,
166 unsigned max_mbufs);
167
186unsigned int
187rte_reorder_drain_up_to_seqn(struct rte_reorder_buffer *b, struct rte_mbuf **mbufs,
188 unsigned int max_mbufs, rte_reorder_seqn_t seqn);
189
202unsigned int
203rte_reorder_min_seqn_set(struct rte_reorder_buffer *b, rte_reorder_seqn_t min_seqn);
204
215unsigned int
217
218#ifdef __cplusplus
219}
220#endif
221
222#endif /* _RTE_REORDER_H_ */
#define __rte_dealloc(dealloc, argno)
Definition: rte_common.h:367
#define __rte_malloc
Definition: rte_common.h:356
#define RTE_MBUF_DYNFIELD(m, offset, type)
Definition: rte_mbuf_dyn.h:228
int rte_reorder_insert(struct rte_reorder_buffer *b, struct rte_mbuf *mbuf)
unsigned int rte_reorder_drain(struct rte_reorder_buffer *b, struct rte_mbuf **mbufs, unsigned max_mbufs)
unsigned int rte_reorder_memory_footprint_get(unsigned int size)
void rte_reorder_free(struct rte_reorder_buffer *b)
struct rte_reorder_buffer * rte_reorder_find_existing(const char *name)
static rte_reorder_seqn_t * rte_reorder_seqn(struct rte_mbuf *mbuf)
Definition: rte_reorder.h:38
unsigned int rte_reorder_min_seqn_set(struct rte_reorder_buffer *b, rte_reorder_seqn_t min_seqn)
struct rte_reorder_buffer * rte_reorder_create(const char *name, unsigned int socket_id, unsigned int size) __rte_malloc __rte_dealloc(rte_reorder_free
unsigned int rte_reorder_drain_up_to_seqn(struct rte_reorder_buffer *b, struct rte_mbuf **mbufs, unsigned int max_mbufs, rte_reorder_seqn_t seqn)
struct rte_reorder_buffer struct rte_reorder_buffer * rte_reorder_init(struct rte_reorder_buffer *b, unsigned int bufsize, const char *name, unsigned int size)
void rte_reorder_reset(struct rte_reorder_buffer *b)