From 4e8a910719df270770fe35199146847bd55a7b85 Mon Sep 17 00:00:00 2001 From: Ferruh Yigit Date: Wed, 27 Oct 2021 10:14:28 +0100 Subject: [PATCH] net/af_packet: fix driver init with default MTU Driver is using 'ETH_FRAME_LEN' Linux defined value as max frame length, which doesn't include FCS (4 bytes CRC). But ethdev by default uses frame size with FCS when application doesn't define any explicit value. As a result device configuration fails because device is tried to be configured with a frame size length that is bigger than what device reported as supported. Device reports as max supported frame size is 1514 but configured value is 1518. Instead use DPDK macro, 'RTE_ETHER_MAX_LEN', that includes FCS in the driver to report the max supported frame size, this matches to the initial intention. Fixes: 1bb4a528c41f ("ethdev: fix max Rx packet length") Reported-by: Andrew Rybchenko Signed-off-by: Ferruh Yigit Reviewed-by: Andrew Rybchenko --- drivers/net/af_packet/rte_eth_af_packet.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/af_packet/rte_eth_af_packet.c b/drivers/net/af_packet/rte_eth_af_packet.c index 559f5a03e5..cea7091c06 100644 --- a/drivers/net/af_packet/rte_eth_af_packet.c +++ b/drivers/net/af_packet/rte_eth_af_packet.c @@ -342,7 +342,7 @@ eth_dev_info(struct rte_eth_dev *dev, struct rte_eth_dev_info *dev_info) dev_info->if_index = internals->if_index; dev_info->max_mac_addrs = 1; - dev_info->max_rx_pktlen = (uint32_t)ETH_FRAME_LEN; + dev_info->max_rx_pktlen = RTE_ETHER_MAX_LEN; dev_info->max_rx_queues = (uint16_t)internals->nb_queues; dev_info->max_tx_queues = (uint16_t)internals->nb_queues; dev_info->min_rx_bufsize = 0; -- 2.39.5