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

Reply via email to