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.yi...@intel.com> > Reviewed-by: Qi Zhang <qi.z.zh...@intel.com>
Acked-by: Andrew Rybchenko <andrew.rybche...@oktetlabs.ru> Tested-by: Igor Romanov <igor.roma...@oktetlabs.ru>