[dpdk-dev] [PATCH] app/testpmd: fix MTU after device configure

Andrew Rybchenko andrew.rybchenko at oktetlabs.ru
Fri Nov 13 15:53:22 CET 2020


On 11/13/20 2:44 PM, Ferruh Yigit wrote:
> In 'rte_eth_dev_configure()', if 'DEV_RX_OFFLOAD_JUMBO_FRAME' is not set
> the max frame size is limited to 'RTE_ETHER_MAX_LEN' (1518).
> This is mistake because for the PMDs that has frame size bigger than
> "RTE_ETHER_HDR_LEN + RTE_ETHER_CRC_LEN" (18 bytes), the MTU becomes
> less than 1500, causing a valid frame with 1500 bytes payload to be
> dropped.
> 
> Since 'rte_eth_dev_set_mtu()' works as expected, it is called after
> 'rte_eth_dev_configure()' to fix the MTU.
> It may look redundant to set MTU after 'rte_eth_dev_configure()', both
> with default values, but it is not, the resulting MTU config can be
> different in the device based on frame overhead of the PMD.
> 
> And instead of setting the MTU to default value, it is first get via
> 'rte_eth_dev_get_mtu()' and set again, this is to cover cases MTU
> changed from testpmd command line.
> 
> 'rte_eth_dev_set_mtu()', '-ENOTSUP' error is ignored to prevent
> irrelevant warning messages for the virtual PMDs.
> 
> Signed-off-by: Ferruh Yigit <ferruh.yigit at intel.com>
> Reviewed-by: Qi Zhang <qi.z.zhang at intel.com>

Acked-by: Andrew Rybchenko <andrew.rybchenko at oktetlabs.ru>
Tested-by: Igor Romanov <igor.romanov at oktetlabs.ru>



More information about the dev mailing list