[dpdk-dev] [PATCH] app/testpmd: fix error detection in MTU command
Iremonger, Bernard
bernard.iremonger at intel.com
Tue May 19 16:15:20 CEST 2020
Hi Shy
> -----Original Message-----
> From: Shy Shyman <shys at mellanox.com>
> Sent: Monday, May 18, 2020 10:27 AM
> To: dev at dpdk.org
> Cc: Lu, Wenzhuo <wenzhuo.lu at intel.com>; Xing, Beilei
> <beilei.xing at intel.com>; Iremonger, Bernard
> <bernard.iremonger at intel.com>; xavier.huwei at huawei.com
> Subject: [PATCH] app/testpmd: fix error detection in MTU command
>
> MTU is used in testpmd to set the maximum payload size for packets.
> According to testpmd, the setting influnce RX only.
> In rte_ethdev there's no relation between MTU setting and JUMBO offload
> or rx_max_pkt_len.
>
> The previous fix in patch referenced below was meant to update the
> correlated variables of max_pkt_len and JUMBO offload, but by doing so it
> assumes that MTU setting can only exist when JUMBO offload supported in
> the device. For example fail-safe device does supports set MTU and doesn't
Typo: supports should be support
> support JUMBO offload, and in this case, though set MTU succeed an error
> mesage still printed since the JUMBO packet offload is disabled.
Typo: mesage should be message
> The fix separates the two conditions to make sure the error triggers
> A warning message is provided in this special case to alert the user.
>
> Fixes: 150c9ac2df13 ("app/testpmd: update Rx offload after setting MTU")
> Cc: xavier.huwei at huawei.com
Should the patch be backported to 20.02 ?(ie add Cc: stable at dpdk.org)
>
> Signed-off-by: Shy Shyman <shys at mellanox.com>
> ---
> app/test-pmd/config.c | 12 ++++++------
> 1 file changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c index
> 5381207cc..73b53c50b 100644
> --- a/app/test-pmd/config.c
> +++ b/app/test-pmd/config.c
> @@ -1277,8 +1277,9 @@ port_mtu_set(portid_t port_id, uint16_t mtu)
> return;
> }
> diag = rte_eth_dev_set_mtu(port_id, mtu);
> - if (diag == 0 &&
> - dev_info.rx_offload_capa & DEV_RX_OFFLOAD_JUMBO_FRAME) {
> + if (diag)
> + printf("Set MTU failed. diag=%d\n", diag);
> + else if (dev_info.rx_offload_capa &
> DEV_RX_OFFLOAD_JUMBO_FRAME) {
> /*
> * Ether overhead in driver is equal to the difference of
> * max_rx_pktlen and max_mtu in rte_eth_dev_info when
> the @@ -1293,10 +1294,9 @@ port_mtu_set(portid_t port_id, uint16_t mtu)
> } else
> rte_port->dev_conf.rxmode.offloads &=
>
> ~DEV_RX_OFFLOAD_JUMBO_FRAME;
> -
> - return;
> - }
> - printf("Set MTU failed. diag=%d\n", diag);
> + } else
> + printf("WARNING: MTU was set while jumbo frame offload
> is"
> + " not supported by the device\n");
> }
>
> /* Generic flow management functions. */
> --
> 2.21.0
Otherwise
Acked-by: Bernard Iremonger <bernard.iremonger at intel.com>
More information about the dev
mailing list