[dpdk-dev] [PATCH v1] app/testpmd: fix the overhead overflow issue
    Steve Yang 
    stevex.yang at intel.com
       
    Thu Nov  5 10:51:51 CET 2020
    
    
  
If "dev_info.max_mtu" isn't set by driver, the rte_ethdev will set
default value "UINT16_MAX", that will cause the overhead value overflow.
Add more strict condition to ensure the overhead valid.
Fixes: bed05536c8f8 ("app/testpmd: fix max Rx packet length for VLAN packets")
Signed-off-by: Steve Yang <stevex.yang at intel.com>
---
 app/test-pmd/testpmd.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c
index c263121a9a..b34eaf2016 100644
--- a/app/test-pmd/testpmd.c
+++ b/app/test-pmd/testpmd.c
@@ -1459,7 +1459,10 @@ init_config(void)
 				 "rte_eth_dev_info_get() failed\n");
 
 		/* Update the max_rx_pkt_len to have MTU as RTE_ETHER_MTU */
-		if (port->dev_info.max_rx_pktlen && port->dev_info.max_mtu)
+		if (port->dev_info.max_mtu &&
+		    port->dev_info.max_mtu != UINT16_MAX &&
+		    port->dev_info.max_rx_pktlen &&
+		    port->dev_info.max_rx_pktlen > port->dev_info.max_mtu)
 			overhead_len = port->dev_info.max_rx_pktlen -
 				port->dev_info.max_mtu;
 		else
-- 
2.17.1
    
    
More information about the dev
mailing list