Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Moving definitions of reorder buffer from .c to .h file #17

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 0 additions & 24 deletions lib/librte_reorder/rte_reorder.c
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@
* Copyright(c) 2010-2014 Intel Corporation
*/

#include <inttypes.h>
#include <string.h>

#include <rte_string_fns.h>
#include <rte_log.h>
Expand All @@ -22,31 +20,9 @@ static struct rte_tailq_elem rte_reorder_tailq = {
};
EAL_REGISTER_TAILQ(rte_reorder_tailq)

#define NO_FLAGS 0
#define RTE_REORDER_PREFIX "RO_"
#define RTE_REORDER_NAMESIZE 32

/* Macros for printing using RTE_LOG */
#define RTE_LOGTYPE_REORDER RTE_LOGTYPE_USER1

/* A generic circular buffer */
struct cir_buffer {
unsigned int size; /**< Number of entries that can be stored */
unsigned int mask; /**< [buffer_size - 1]: used for wrap-around */
unsigned int head; /**< insertion point in buffer */
unsigned int tail; /**< extraction point in buffer */
struct rte_mbuf **entries;
} __rte_cache_aligned;

/* The reorder buffer data structure itself */
struct rte_reorder_buffer {
char name[RTE_REORDER_NAMESIZE];
uint32_t min_seqn; /**< Lowest seq. number that can be in the buffer */
unsigned int memsize; /**< memory area size of reorder buffer */
struct cir_buffer ready_buf; /**< temp buffer for dequeued entries */
struct cir_buffer order_buf; /**< buffer used to reorder entries */
int is_initialized;
} __rte_cache_aligned;

static void
rte_reorder_free_mbufs(struct rte_reorder_buffer *b);
Expand Down
32 changes: 31 additions & 1 deletion lib/librte_reorder/rte_reorder.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,43 @@
*
*/

#include <inttypes.h>
#include <string.h>

#include <rte_mbuf.h>

#ifdef __cplusplus
extern "C" {
#endif

struct rte_reorder_buffer;
#define NO_FLAGS 0
#define RTE_REORDER_PREFIX "RO_"
#define RTE_REORDER_NAMESIZE 32

/**
* @brief A generic circular buffer
*/
struct cir_buffer {
unsigned int size; /**< Number of entries that can be stored */
unsigned int mask; /**< [buffer_size - 1]: used for wrap-around */
unsigned int head; /**< insertion point in buffer */
unsigned int tail; /**< extraction point in buffer */
struct rte_mbuf **entries;
} __rte_cache_aligned;


/**
* @brief The reorder buffer data structure itself
*/
struct rte_reorder_buffer {
char name[RTE_REORDER_NAMESIZE];
uint32_t min_seqn; /**< Lowest seq. number that can be in the buffer */
unsigned int memsize; /**< memory area size of reorder buffer */
struct cir_buffer ready_buf; /**< temp buffer for dequeued entries */
struct cir_buffer order_buf; /**< buffer used to reorder entries */
int is_initialized;
} __rte_cache_aligned;


/**
* Create a new reorder buffer instance
Expand Down