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

Bruce Richardson bruce.richardson at intel.com
Tue Dec 16 14:27:17 CET 2014


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 <bruce.richardson at intel.com>
---
 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..c9d1e1c 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 < 64 && i < RTE_MAX_ETHPORTS; i++) {
 		if (! ((uint64_t)(1ULL << i) & portmask))
 			continue;
 		portlist[nb_pt++] = i;
-- 
1.9.3



More information about the dev mailing list