ethdev: fix max Rx packet length
[dpdk.git] / drivers / net / i40e / i40e_rxtx.c
index 3df4e3d..9b03019 100644 (file)
@@ -2899,8 +2899,8 @@ i40e_rx_queue_config(struct i40e_rx_queue *rxq)
        }
 
        rxq->max_pkt_len =
-               RTE_MIN((uint32_t)(hw->func_caps.rx_buf_chain_len *
-                       rxq->rx_buf_len), data->dev_conf.rxmode.max_rx_pkt_len);
+               RTE_MIN(hw->func_caps.rx_buf_chain_len * rxq->rx_buf_len,
+                               data->mtu + I40E_ETH_OVERHEAD);
        if (data->dev_conf.rxmode.offloads & DEV_RX_OFFLOAD_JUMBO_FRAME) {
                if (rxq->max_pkt_len <= I40E_ETH_MAX_LEN ||
                        rxq->max_pkt_len > I40E_FRAME_SIZE_MAX) {