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

Ferruh Yigit ferruh.yigit at intel.com
Fri Nov 13 17:01:29 CET 2020


On 11/13/2020 2:53 PM, Andrew Rybchenko wrote:
> 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>
> 

Applied to dpdk-next-net/main, thanks.


More information about the dev mailing list