[dpdk-dev] [PATCH] testpmd: force user to stop forwarding when changing port/core list

Zhang, Helin helin.zhang at intel.com
Wed Feb 11 07:56:29 CET 2015



> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Pablo de Lara
> Sent: Tuesday, February 10, 2015 10:53 PM
> To: dev at dpdk.org
> Subject: [dpdk-dev] [PATCH] testpmd: force user to stop forwarding when
> changing port/core list
> 
> Testpmd has the capability of changing the forwarding cores and ports in
> runtime.
> If these are changed when forwarding, two issues may be encountered:
> 
> - If "show config fwd" is used, changes made in the core list are applied.
>   Therefore, trying to stop forwarding may hang testpmd,
>   since it could be waiting for cores to stop that are not actually running
> anything
> 
> - If the port list is changed, when stopping forwarding,
>   it may miss the stats of some of the ports that were actually being used.
> 
> Signed-off-by: Pablo de Lara <pablo.de.lara.guarch at intel.com>
Acked-by: Helin Zhang <helin.zhang at intel.com>

> ---
>  app/test-pmd/cmdline.c |    9 +++++++++
>  1 files changed, 9 insertions(+), 0 deletions(-)
> 
> diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c index
> 590e427..46d4bf9 100644
> --- a/app/test-pmd/cmdline.c
> +++ b/app/test-pmd/cmdline.c
> @@ -2316,6 +2316,11 @@ static void cmd_set_list_parsed(void
> *parsed_result,
>  	} parsed_items;
>  	unsigned int nb_item;
> 
> +	if (test_done == 0) {
> +		printf("Please stop forwarding first\n");
> +		return;
> +	}
> +
>  	res = parsed_result;
>  	if (!strcmp(res->list_name, "corelist")) {
>  		nb_item = parse_item_list(res->list_of_items, "core", @@ -2370,6
> +2375,10 @@ static void cmd_set_mask_parsed(void *parsed_result,  {
>  	struct cmd_setmask_result *res = parsed_result;
> 
> +	if (test_done == 0) {
> +		printf("Please stop forwarding first\n");
> +		return;
> +	}
>  	if (!strcmp(res->mask, "coremask"))
>  		set_fwd_lcores_mask(res->hexavalue);
>  	else if (!strcmp(res->mask, "portmask"))
> --
> 1.7.4.1



More information about the dev mailing list