Max frame size is not set to HW, so packets above the MTU
do not get dropped by HW. The patch fixed the issue.

Fixes: 50370662b727 ("net/ice: support device and queue ops")
Cc: sta...@dpdk.org

Signed-off-by: Min JiaqiX <jiaqix....@intel.com>

---
v4:
* Removed Reviewed-by
* Checked and set defaut max frame size to HW in start ops.
v3:
* Changed Fixes line.
v2:
* Changed commit message.
---
 drivers/net/ice/ice_ethdev.c | 10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/drivers/net/ice/ice_ethdev.c b/drivers/net/ice/ice_ethdev.c
index d74675842..d8aa68f07 100644
--- a/drivers/net/ice/ice_ethdev.c
+++ b/drivers/net/ice/ice_ethdev.c
@@ -2724,6 +2724,16 @@ ice_dev_start(struct rte_eth_dev *dev)
 
        pf->adapter_stopped = false;
 
+       /* Set the max frame size to default value*/
+       if (pf->dev_data->dev_conf.rxmode.max_rx_pkt_len == 0) {
+               pf->dev_data->dev_conf.rxmode.max_rx_pkt_len =
+                       RTE_ETHER_MAX_LEN;
+       }
+
+       /* Set the max frame size to HW*/
+       ice_aq_set_mac_cfg(hw,
+               pf->dev_data->dev_conf.rxmode.max_rx_pkt_len, NULL);
+
        return 0;
 
        /* stop the started queues if failed to start all queues */
-- 
2.17.1

Reply via email to