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