From 8cefe7e694460172c9ae10dcd49a826beb0c8cf7 Mon Sep 17 00:00:00 2001 From: Fan Zhang Date: Fri, 4 Dec 2015 14:28:56 +0000 Subject: [PATCH] examples/ip_pipeline: fix source port mempool 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 Acked-by: Cristian Dumitrescu --- examples/ip_pipeline/init.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/examples/ip_pipeline/init.c b/examples/ip_pipeline/init.c index 46d044ec20..28e959b42b 100644 --- a/examples/ip_pipeline/init.c +++ b/examples/ip_pipeline/init.c @@ -1064,6 +1064,7 @@ static void app_pipeline_params_get(struct app_params *app, struct pipeline_params *p_out) { uint32_t i; + uint32_t mempool_id; strcpy(p_out->name, p_in->name); @@ -1147,8 +1148,9 @@ static void app_pipeline_params_get(struct app_params *app, 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: -- 2.20.1