From: Maciej Gajdzica Date: Tue, 21 Jul 2015 14:39:00 +0000 (+0200) Subject: examples/ip_pipeline: fix cpu cores parsing X-Git-Tag: spdx-start~8629 X-Git-Url: http://git.droids-corp.org/?a=commitdiff_plain;h=605a58f3ba2e71eaa6bab1e67c5f4e8e421ec4df;p=dpdk.git examples/ip_pipeline: fix cpu cores parsing This patch fixes parsing value of core variable in pipeline config. Before not every combination of cores (c), sockets (s) and hyperthreading (h) was parsed correctly. Signed-off-by: Maciej Gajdzica Acked-by: Cristian Dumitrescu --- diff --git a/examples/ip_pipeline/config_parse.c b/examples/ip_pipeline/config_parse.c index 361bf8a3e7..c9b78f9eb5 100644 --- a/examples/ip_pipeline/config_parse.c +++ b/examples/ip_pipeline/config_parse.c @@ -386,14 +386,14 @@ parse_pipeline_core(uint32_t *socket, switch (type) { case 's': case 'S': - if (s_parsed) + if (s_parsed || c_parsed || h_parsed) return -EINVAL; s_parsed = 1; next++; break; case 'c': case 'C': - if (c_parsed) + if (c_parsed || h_parsed) return -EINVAL; c_parsed = 1; next++; @@ -423,7 +423,10 @@ parse_pipeline_core(uint32_t *socket, num[num_len] = *next; } - if (num_len == 0 && type != 'h') + if (num_len == 0 && type != 'h' && type != 'H') + return -EINVAL; + + if (num_len != 0 && (type == 'h' || type == 'H')) return -EINVAL; num[num_len] = '\0'; @@ -438,9 +441,6 @@ parse_pipeline_core(uint32_t *socket, case 'c': case 'C': c = val; - if (type == 'C' && *next != '\0') - return -EINVAL; - break; case 'h': case 'H':