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

Thomas Monjalon thomas at monjalon.net
Mon Nov 16 21:24:21 CET 2020


16/11/2020 19:50, Ferruh Yigit:
> On 11/13/2020 11:44 AM, 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>
> > ---
> 
> @David highlighted that 'scatter' tests are failing in the lab with this commit,
> https://lab.dpdk.org/results/dashboard/patchsets/14492/

To be more precise, this error showed up in the CI even before
the patch was merged: https://patches.dpdk.org/patch/84132/
We should be more careful with the CI results before merging.

> With above commit only 'mtu' is taken into account, so in testpmd both 
> "--max-pkt-len=N" parameter and "port config all max-pkt-len #" command are no 
> more working as expected. This seems the reason of the failure.
> 
> Technically it is possible to fix dts testcase by adding following commands:
> port stop all
> port config mtu 0 9000
> port start all
> 
> But, there may be other side affects from "max-pkt-len" is not working in 
> testpmd as expected. Reverting this one too can be safest option.

Next fix will be the right one ;)




More information about the dev mailing list