Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
app/testpmd: fix MTU after device configure
[ upstream commit 1c21ee9 ] 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. Fixes: af75078 ("first public release") Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Reviewed-by: Qi Zhang <qi.z.zhang@intel.com> Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru> Tested-by: Igor Romanov <igor.romanov@oktetlabs.ru>
- Loading branch information