[dpdk-dev] [PATCH v2] testpmd: limit port mask bits to RTE_MAX_ETHPORTS

2014-12-17 Thread Thomas Monjalon
2014-12-16 16:43, Neil Horman:
> On Tue, Dec 16, 2014 at 02:39:44PM +, Bruce Richardson wrote:
> > The port mask parsing in testpmd allowed up to 64 bits to be processed,
> > even if RTE_MAX_ETHPORTS is set to a max of 32. Fix this by only
> > processing up to min(RTE_MAX_ETHPORTS,64) bits of the mask.
> > 
> > Signed-off-by: Bruce Richardson 
> > ---
> > V2: changed to use RTE_MIN in comparison, instead of double "<".
> 
> I was thinking of assigning a new temp variable to the return of RTE_MIN so as
> to avoid the comparison within the for loop, but since both arguments are
> constant, I'm sure the compiler will avoid multiple comparisons.
> 
> Acked-by: Neil Horman 

Applied

Thanks
-- 
Thomas


[dpdk-dev] [PATCH v2] testpmd: limit port mask bits to RTE_MAX_ETHPORTS

2014-12-16 Thread Neil Horman
On Tue, Dec 16, 2014 at 02:39:44PM +, Bruce Richardson wrote:
> The port mask parsing in testpmd allowed up to 64 bits to be processed,
> even if RTE_MAX_ETHPORTS is set to a max of 32. Fix this by only
> processing up to min(RTE_MAX_ETHPORTS,64) bits of the mask.
> 
> Signed-off-by: Bruce Richardson 
> ---
> V2: changed to use RTE_MIN in comparison, instead of double "<".
> ---
>  app/test-pmd/config.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
> index 69a83c2..97b6525 100644
> --- a/app/test-pmd/config.c
> +++ b/app/test-pmd/config.c
> @@ -1440,7 +1440,7 @@ set_fwd_ports_mask(uint64_t portmask)
>   return;
>   }
>   nb_pt = 0;
> - for (i = 0; i < 64; i++) {
> + for (i = 0; i < (unsigned)RTE_MIN(64, RTE_MAX_ETHPORTS); i++) {
>   if (! ((uint64_t)(1ULL << i) & portmask))
>   continue;
>   portlist[nb_pt++] = i;
> -- 
> 1.9.3
> 
> 

I was thinking of assigning a new temp variable to the return of RTE_MIN so as
to avoid the comparison within the for loop, but since both arguments are
constant, I'm sure the compiler will avoid multiple comparisons.

Acked-by: Neil Horman 


[dpdk-dev] [PATCH v2] testpmd: limit port mask bits to RTE_MAX_ETHPORTS

2014-12-16 Thread Bruce Richardson
The port mask parsing in testpmd allowed up to 64 bits to be processed,
even if RTE_MAX_ETHPORTS is set to a max of 32. Fix this by only
processing up to min(RTE_MAX_ETHPORTS,64) bits of the mask.

Signed-off-by: Bruce Richardson 
---
V2: changed to use RTE_MIN in comparison, instead of double "<".
---
 app/test-pmd/config.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
index 69a83c2..97b6525 100644
--- a/app/test-pmd/config.c
+++ b/app/test-pmd/config.c
@@ -1440,7 +1440,7 @@ set_fwd_ports_mask(uint64_t portmask)
return;
}
nb_pt = 0;
-   for (i = 0; i < 64; i++) {
+   for (i = 0; i < (unsigned)RTE_MIN(64, RTE_MAX_ETHPORTS); i++) {
if (! ((uint64_t)(1ULL << i) & portmask))
continue;
portlist[nb_pt++] = i;
-- 
1.9.3