[dpdk-dev] [PATCH 2/2] net/memif: fix driver init with default MTU

David Christensen drc at linux.vnet.ibm.com
Tue Oct 26 17:45:50 CEST 2021



On 10/26/21 8:38 AM, Ferruh Yigit wrote:
> 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")
> 
> Signed-off-by: Ferruh Yigit <ferruh.yigit at intel.com>
> Reported-by: Andrew Rybchenko <andrew.rybchenko at oktetlabs.ru>
> ---
>   drivers/net/memif/rte_eth_memif.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/net/memif/rte_eth_memif.c b/drivers/net/memif/rte_eth_memif.c
> index 8cec493ffdb9..cbc99067c1c8 100644
> --- a/drivers/net/memif/rte_eth_memif.c
> +++ b/drivers/net/memif/rte_eth_memif.c
> @@ -195,7 +195,7 @@ static int
>   memif_dev_info(struct rte_eth_dev *dev __rte_unused, struct rte_eth_dev_info *dev_info)
>   {
>   	dev_info->max_mac_addrs = 1;
> -	dev_info->max_rx_pktlen = (uint32_t)ETH_FRAME_LEN;
> +	dev_info->max_rx_pktlen = (uint32_t)RTE_ETHER_MAX_LEN;
>   	dev_info->max_rx_queues = ETH_MEMIF_MAX_NUM_Q_PAIRS;
>   	dev_info->max_tx_queues = ETH_MEMIF_MAX_NUM_Q_PAIRS;
>   	dev_info->min_rx_bufsize = 0;
> 

Tested-by: David Christensen <drc at linux.vnet.ibm.com>


More information about the dev mailing list