[dpdk-dev] Issue observed with execution of Reorder test app
Mukesh Dua
mukesh.dua81 at gmail.com
Thu Aug 20 13:38:56 CEST 2015
I see issue with reorder test app failing on x86 environment due to changes
made between release 2.0.0 and 2.1.0:
App reorder_test (app/test/test_reorder.c)
============
Function failing: test_reorder_insert
There had been some changes with respect to addition of parameter
is_initialized to the structure rte_reorder_buffer. In parallel the changes
were made to initialize some of the parameters in function
rte_reorder_insert
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;*
* }*
=> I don't see any reason to set b->min_seqn to mbuf->seqn and if that has
to be done, the conditional checks should have been modified in function
test_reorder_insert soon after a call to rte_reorder_insert. Additionally,
the next seqn number being populated should have been changed in function
test_reorder_insert:
ret = rte_reorder_insert(b, bufs[0]);
* if (!((ret == -1) && (rte_errno == ERANGE))) {*
* printf("%s:%d: No error inserting late packet with seqn:"*
* " 3 * size\n", __func__, __LINE__);*
* ret = -1;*
* goto exit;*
* }*
for (i = 0; i < num_bufs; i++)
bufs[i]->seqn = i;
On the other hand, changing the code in function rte_reorder_insert:
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 = 0; //Removed initialization from mbuf->seqn*
b->is_initialized = 1;
}
fixes the issues and the test case passes.
Regards,
Mukesh
More information about the dev
mailing list