[dpdk-dev] [PATCH] app/testpmd:fix invalid port id parameters

Rybalchenko, Kirill kirill.rybalchenko at intel.com
Mon Sep 4 16:11:57 CEST 2017


Hi Han,

> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Li Han
> Sent: Tuesday 22 August 2017 06:04
> To: Wu, Jingjing <jingjing.wu at intel.com>
> Cc: dev at dpdk.org; Li Han <han.li1 at zte.com.cn>
> Subject: [dpdk-dev] [PATCH] app/testpmd:fix invalid port id parameters
> 
> in parse_ringnuma_config/parse_portnuma_config functions,port_id should
> less than RTE_MAX_ETHPORTS,but port_id_is_invalid check assumes that
> port_id may be 255.
> 
> Signed-off-by: Li Han <han.li1 at zte.com.cn>
> ---
>  app/test-pmd/parameters.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/app/test-pmd/parameters.c b/app/test-pmd/parameters.c index
> 2f7f70f..0c97ba4 100644
> --- a/app/test-pmd/parameters.c
> +++ b/app/test-pmd/parameters.c
> @@ -424,7 +424,8 @@
>  				return -1;
>  		}
>  		port_id = (uint8_t)int_fld[FLD_PORT];
> -		if (port_id_is_invalid(port_id, ENABLED_WARN)) {
> +		if (port_id_is_invalid(port_id, ENABLED_WARN) ||
> +			port_id == (portid_t)RTE_PORT_ALL) {
In this case the message "printf("Invalid port %d\n", port_id)" will be omitted and there will be no way 
To figure out which port id caused the problem

>  			printf("Valid port range is [0");
>  			RTE_ETH_FOREACH_DEV(pid)
>  				printf(", %d", pid);
> @@ -483,7 +484,8 @@
>  				return -1;
>  		}
>  		port_id = (uint8_t)int_fld[FLD_PORT];
> -		if (port_id_is_invalid(port_id, ENABLED_WARN)) {
> +		if (port_id_is_invalid(port_id, ENABLED_WARN) ||
> +			port_id == (portid_t)RTE_PORT_ALL) {
The same here

>  			printf("Valid port range is [0");
>  			RTE_ETH_FOREACH_DEV(pid)
>  				printf(", %d", pid);
> --
> 1.8.3.1
> 

Thanks,
Kirill


More information about the dev mailing list