summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/librte_reorder/rte_reorder.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/librte_reorder/rte_reorder.c b/lib/librte_reorder/rte_reorder.c
index dc0e806..010dff6 100644
--- a/lib/librte_reorder/rte_reorder.c
+++ b/lib/librte_reorder/rte_reorder.c
@@ -73,6 +73,7 @@ struct rte_reorder_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
@@ -325,6 +326,11 @@ rte_reorder_insert(struct rte_reorder_buffer *b, struct rte_mbuf *mbuf)
uint32_t offset, position;
struct cir_buffer *order_buf = &b->order_buf;
+ if (!b->is_initialized) {
+ b->min_seqn = mbuf->seqn;
+ b->is_initialized = 1;
+ }
+
/*
* calculate the offset from the head pointer we need to go.
* The subtraction takes care of the sequence number wrapping.