[dpdk-dev] [PATCH v2 07/27] ethdev: support setting maximum packet length to less than 1518

Helin Zhang helin.zhang at intel.com
Thu Jun 5 07:08:51 CEST 2014


In ethdev, it ignores setting maximum packet length to less than
1518. The changes is to remove this limitation and let less than
1518 can be set for 'maximum packet length'.

Signed-off-by: Helin Zhang <helin.zhang at intel.com>
Signed-off-by: Jing Chen <jing.d.chen at intel.com>
Acked-by: Cunming Liang <cunming.liang at intel.com>
Acked-by: Jijiang Liu <jijiang.liu at intel.com>
Acked-by: Jingjing Wu <jingjing.wu at intel.com>
Tested-by: Waterman Cao <waterman.cao at intel.com>
---
 lib/librte_ether/rte_ethdev.c | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c
index 53cb7a9..1791ed7 100644
--- a/lib/librte_ether/rte_ethdev.c
+++ b/lib/librte_ether/rte_ethdev.c
@@ -657,9 +657,13 @@ rte_eth_dev_configure(uint8_t port_id, uint16_t nb_rx_q, uint16_t nb_tx_q,
 				(unsigned)ETHER_MIN_LEN);
 			return (-EINVAL);
 		}
-	} else
-		/* Use default value */
-		dev->data->dev_conf.rxmode.max_rx_pkt_len = ETHER_MAX_LEN;
+	} else {
+		if (dev_conf->rxmode.max_rx_pkt_len < ETHER_MIN_LEN ||
+			dev_conf->rxmode.max_rx_pkt_len > ETHER_MAX_LEN)
+			/* Use default value */
+			dev->data->dev_conf.rxmode.max_rx_pkt_len =
+							ETHER_MAX_LEN;
+	}
 
 	/* multipe queue mode checking */
 	diag = rte_eth_dev_check_mq_mode(port_id, nb_rx_q, nb_tx_q, dev_conf);
-- 
1.8.1.4



More information about the dev mailing list