Fixes the wrong source port mempool assignment (commit id
eb32fe7c).
The source port is now assigned by parsed mempool id index value either by
default or configured by CFG file.
Previously, the mempool id for locating source port's mempool pointer was
the port id. When multiple source ports exist in the same pipeline, and
the default mempool configuration is used (one MEMPOOL0 is shared between
all source ports), the invalid mempool pointer (NULL) will be assigned to
source ports other than first source port.
Fixes:
eb32fe7c5574 ("examples/ip_pipeline: rework initialization parameters")
Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
struct pipeline_params *p_out)
{
uint32_t i;
+ uint32_t mempool_id;
strcpy(p_out->name, p_in->name);
out->burst_size = app->tm_params[in->id].burst_read;
break;
case APP_PKTQ_IN_SOURCE:
+ mempool_id = app->source_params[in->id].mempool_id;
out->type = PIPELINE_PORT_IN_SOURCE;
- out->params.source.mempool = app->mempool[in->id];
+ out->params.source.mempool = app->mempool[mempool_id];
out->burst_size = app->source_params[in->id].burst;
break;
default: