The jumbo frame uses the 'RTE_ETHER_MAX_LEN' as boundary condition.
If the Ether overhead is larger than 18 when it supports VLAN tag,
that will cause the jumbo flag rx offload is wrong when MTU size is
'RTE_ETHER_MTU'.

This fix will change the boundary condition with 'RTE_ETHER_MTU',
that perhaps impacts the cases of the jumbo frame related.

Fixes: d4a27a3b092a ("nfp: add basic features")

Signed-off-by: Steve Yang <stevex.y...@intel.com>
---
 drivers/net/nfp/nfp_net.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/nfp/nfp_net.c b/drivers/net/nfp/nfp_net.c
index 1608bf5ea1..9ea24e5bda 100644
--- a/drivers/net/nfp/nfp_net.c
+++ b/drivers/net/nfp/nfp_net.c
@@ -1508,7 +1508,7 @@ nfp_net_dev_mtu_set(struct rte_eth_dev *dev, uint16_t mtu)
        }
 
        /* switch to jumbo mode if needed */
-       if ((uint32_t)mtu > RTE_ETHER_MAX_LEN)
+       if ((uint32_t)mtu > RTE_ETHER_MTU)
                dev->data->dev_conf.rxmode.offloads |= 
DEV_RX_OFFLOAD_JUMBO_FRAME;
        else
                dev->data->dev_conf.rxmode.offloads &= 
~DEV_RX_OFFLOAD_JUMBO_FRAME;
-- 
2.17.1

Reply via email to