[v6,12/15] distributor: fix scalar matching
Checks
Commit Message
Fix improper indexes while comparing tags.
In the find_match_scalar() function:
* j iterates over flow tags of following packets;
* w iterates over backlog or in flight tags positions.
Fixes: 775003ad2f96 ("distributor: add new burst-capable library")
Cc: david.hunt@intel.com
Cc: stable@dpdk.org
Signed-off-by: Lukasz Wojciechowski <l.wojciechow@partner.samsung.com>
Acked-by: David Hunt <david.hunt@intel.com>
---
lib/librte_distributor/rte_distributor.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
@@ -261,13 +261,13 @@ find_match_scalar(struct rte_distributor *d,
for (j = 0; j < RTE_DIST_BURST_SIZE ; j++)
for (w = 0; w < RTE_DIST_BURST_SIZE; w++)
- if (d->in_flight_tags[i][j] == data_ptr[w]) {
+ if (d->in_flight_tags[i][w] == data_ptr[j]) {
output_ptr[j] = i+1;
break;
}
for (j = 0; j < RTE_DIST_BURST_SIZE; j++)
for (w = 0; w < RTE_DIST_BURST_SIZE; w++)
- if (bl->tags[j] == data_ptr[w]) {
+ if (bl->tags[w] == data_ptr[j]) {
output_ptr[j] = i+1;
break;
}