[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