DPDK patches and discussions
 help / color / mirror / Atom feed
* [dpdk-dev] [PATCH] app/testpmd: fix MTU configuration before device start
@ 2021-10-24 16:42 Andrew Rybchenko
  2021-10-25 18:06 ` Ajit Khaparde
  0 siblings, 1 reply; 5+ messages in thread
From: Andrew Rybchenko @ 2021-10-24 16:42 UTC (permalink / raw)
  To: Xiaoyun Li, Rosen Xu, Ajit Khaparde, Ferruh Yigit,
	Konstantin Ananyev, Ivan Ilchenko
  Cc: dev

There is no point to do rte_eth_dev_mtu_set() before configure since
set MTU value is overwritten on configure anyway. So, setting of MTU
before configure is rejected now on ethdev level.

If testpmd is going to do configure (e.g. just after testpmd start
with disabled devices start up or any configuration changes in stopped
state which require reconfigure), just save requested MTU in device
config to be applied on reconfigure.

Fixes: 1bb4a528c41f ("ethdev: fix max Rx packet length")
Fixes: be0433cf953c ("ethdev: forbid MTU set before device configure")

Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
---
 app/test-pmd/config.c | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
index a18871d461..3b97164302 100644
--- a/app/test-pmd/config.c
+++ b/app/test-pmd/config.c
@@ -1241,10 +1241,12 @@ port_mtu_set(portid_t port_id, uint16_t mtu)
 	if (port_id_is_invalid(port_id, ENABLED_WARN))
 		return;
 
-	diag = rte_eth_dev_set_mtu(port_id, mtu);
-	if (diag != 0) {
-		fprintf(stderr, "Set MTU failed. diag=%d\n", diag);
-		return;
+	if (port->need_reconfig == 0) {
+		diag = rte_eth_dev_set_mtu(port_id, mtu);
+		if (diag != 0) {
+			fprintf(stderr, "Set MTU failed. diag=%d\n", diag);
+			return;
+		}
 	}
 
 	port->dev_conf.rxmode.mtu = mtu;
-- 
2.30.2


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [dpdk-dev] [PATCH] app/testpmd: fix MTU configuration before device start
  2021-10-24 16:42 [dpdk-dev] [PATCH] app/testpmd: fix MTU configuration before device start Andrew Rybchenko
@ 2021-10-25 18:06 ` Ajit Khaparde
  2021-10-28 18:23   ` Ferruh Yigit
  0 siblings, 1 reply; 5+ messages in thread
From: Ajit Khaparde @ 2021-10-25 18:06 UTC (permalink / raw)
  To: Andrew Rybchenko
  Cc: Xiaoyun Li, Rosen Xu, Ferruh Yigit, Konstantin Ananyev,
	Ivan Ilchenko, dpdk-dev

On Sun, Oct 24, 2021 at 9:42 AM Andrew Rybchenko
<andrew.rybchenko@oktetlabs.ru> wrote:
>
> There is no point to do rte_eth_dev_mtu_set() before configure since
> set MTU value is overwritten on configure anyway. So, setting of MTU
> before configure is rejected now on ethdev level.
>
> If testpmd is going to do configure (e.g. just after testpmd start
> with disabled devices start up or any configuration changes in stopped
> state which require reconfigure), just save requested MTU in device
> config to be applied on reconfigure.
>
> Fixes: 1bb4a528c41f ("ethdev: fix max Rx packet length")
> Fixes: be0433cf953c ("ethdev: forbid MTU set before device configure")
>
> Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>

> ---
>  app/test-pmd/config.c | 10 ++++++----
>  1 file changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/app/test-pmd/config.c b/app/test-pmd/config.c
> index a18871d461..3b97164302 100644
> --- a/app/test-pmd/config.c
> +++ b/app/test-pmd/config.c
> @@ -1241,10 +1241,12 @@ port_mtu_set(portid_t port_id, uint16_t mtu)
>         if (port_id_is_invalid(port_id, ENABLED_WARN))
>                 return;
>
> -       diag = rte_eth_dev_set_mtu(port_id, mtu);
> -       if (diag != 0) {
> -               fprintf(stderr, "Set MTU failed. diag=%d\n", diag);
> -               return;
> +       if (port->need_reconfig == 0) {
> +               diag = rte_eth_dev_set_mtu(port_id, mtu);
> +               if (diag != 0) {
> +                       fprintf(stderr, "Set MTU failed. diag=%d\n", diag);
> +                       return;
> +               }
>         }
>
>         port->dev_conf.rxmode.mtu = mtu;
> --
> 2.30.2
>

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [dpdk-dev] [PATCH] app/testpmd: fix MTU configuration before device start
  2021-10-25 18:06 ` Ajit Khaparde
@ 2021-10-28 18:23   ` Ferruh Yigit
  2021-11-02  2:37     ` Jiang, YuX
  0 siblings, 1 reply; 5+ messages in thread
From: Ferruh Yigit @ 2021-10-28 18:23 UTC (permalink / raw)
  To: Ajit Khaparde, Andrew Rybchenko
  Cc: Xiaoyun Li, Rosen Xu, Konstantin Ananyev, Ivan Ilchenko, dpdk-dev

On 10/25/2021 7:06 PM, Ajit Khaparde wrote:
> On Sun, Oct 24, 2021 at 9:42 AM Andrew Rybchenko
> <andrew.rybchenko@oktetlabs.ru> wrote:
>>
>> There is no point to do rte_eth_dev_mtu_set() before configure since
>> set MTU value is overwritten on configure anyway. So, setting of MTU
>> before configure is rejected now on ethdev level.
>>
>> If testpmd is going to do configure (e.g. just after testpmd start
>> with disabled devices start up or any configuration changes in stopped
>> state which require reconfigure), just save requested MTU in device
>> config to be applied on reconfigure.
>>
>> Fixes: 1bb4a528c41f ("ethdev: fix max Rx packet length")
>> Fixes: be0433cf953c ("ethdev: forbid MTU set before device configure")
>>
>> Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
> Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
> 

Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [dpdk-dev] [PATCH] app/testpmd: fix MTU configuration before device start
  2021-10-28 18:23   ` Ferruh Yigit
@ 2021-11-02  2:37     ` Jiang, YuX
  2021-11-10  7:23       ` Jiang, YuX
  0 siblings, 1 reply; 5+ messages in thread
From: Jiang, YuX @ 2021-11-02  2:37 UTC (permalink / raw)
  To: Yigit, Ferruh, Ajit Khaparde, Andrew Rybchenko
  Cc: Li, Xiaoyun, Xu, Rosen, Ananyev, Konstantin, Ivan Ilchenko, dpdk-dev

> -----Original Message-----
> From: dev <dev-bounces@dpdk.org> On Behalf Of Ferruh Yigit
> Sent: Friday, October 29, 2021 2:23 AM
> To: Ajit Khaparde <ajit.khaparde@broadcom.com>; Andrew Rybchenko
> <andrew.rybchenko@oktetlabs.ru>
> Cc: Li, Xiaoyun <xiaoyun.li@intel.com>; Xu, Rosen <rosen.xu@intel.com>;
> Ananyev, Konstantin <konstantin.ananyev@intel.com>; Ivan Ilchenko
> <ivan.ilchenko@oktetlabs.ru>; dpdk-dev <dev@dpdk.org>
> Subject: Re: [dpdk-dev] [PATCH] app/testpmd: fix MTU configuration before
> device start
> 
> On 10/25/2021 7:06 PM, Ajit Khaparde wrote:
> > On Sun, Oct 24, 2021 at 9:42 AM Andrew Rybchenko
> > <andrew.rybchenko@oktetlabs.ru> wrote:
> >>
> >> There is no point to do rte_eth_dev_mtu_set() before configure since
> >> set MTU value is overwritten on configure anyway. So, setting of MTU
> >> before configure is rejected now on ethdev level.
> >>
> >> If testpmd is going to do configure (e.g. just after testpmd start
> >> with disabled devices start up or any configuration changes in
> >> stopped state which require reconfigure), just save requested MTU in
> >> device config to be applied on reconfigure.
> >>
> >> Fixes: 1bb4a528c41f ("ethdev: fix max Rx packet length")
> >> Fixes: be0433cf953c ("ethdev: forbid MTU set before device
> >> configure")
> >>
> >> Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
> > Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
> >
> 
> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
> 
> Applied to dpdk-next-net/main, thanks.
verify patch https://patches.dpdk.org/project/dpdk/patch/20211024164237.2116166-1-andrew.rybchenko@oktetlabs.ru/ on baseline 6cc51b1293ceac4a77d4bf7ac91a8bbd59e1f78c
Test failed on nic XXV710 for 25GbE SFP28 158b/os Red Hat Enterprise Linux 8.4

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [dpdk-dev] [PATCH] app/testpmd: fix MTU configuration before device start
  2021-11-02  2:37     ` Jiang, YuX
@ 2021-11-10  7:23       ` Jiang, YuX
  0 siblings, 0 replies; 5+ messages in thread
From: Jiang, YuX @ 2021-11-10  7:23 UTC (permalink / raw)
  To: Yigit, Ferruh, Ajit Khaparde, Andrew Rybchenko
  Cc: Li, Xiaoyun, Xu, Rosen, Ananyev, Konstantin, Ivan Ilchenko, dpdk-dev

> -----Original Message-----
> From: Jiang, YuX
> Sent: Tuesday, November 2, 2021 10:38 AM
> To: 'Ferruh Yigit' <ferruh.yigit@intel.com>; Ajit Khaparde
> <ajit.khaparde@broadcom.com>; Andrew Rybchenko
> <andrew.rybchenko@oktetlabs.ru>
> Cc: Li, Xiaoyun <xiaoyun.li@intel.com>; Xu, Rosen <rosen.xu@intel.com>;
> Ananyev, Konstantin <konstantin.ananyev@intel.com>; Ivan Ilchenko
> <ivan.ilchenko@oktetlabs.ru>; dpdk-dev <dev@dpdk.org>
> Subject: RE: [dpdk-dev] [PATCH] app/testpmd: fix MTU configuration before
> device start
> 
> > -----Original Message-----
> > From: dev <dev-bounces@dpdk.org> On Behalf Of Ferruh Yigit
> > Sent: Friday, October 29, 2021 2:23 AM
> > To: Ajit Khaparde <ajit.khaparde@broadcom.com>; Andrew Rybchenko
> > <andrew.rybchenko@oktetlabs.ru>
> > Cc: Li, Xiaoyun <xiaoyun.li@intel.com>; Xu, Rosen
> > <rosen.xu@intel.com>; Ananyev, Konstantin
> > <konstantin.ananyev@intel.com>; Ivan Ilchenko
> > <ivan.ilchenko@oktetlabs.ru>; dpdk-dev <dev@dpdk.org>
> > Subject: Re: [dpdk-dev] [PATCH] app/testpmd: fix MTU configuration
> > before device start
> >
> > On 10/25/2021 7:06 PM, Ajit Khaparde wrote:
> > > On Sun, Oct 24, 2021 at 9:42 AM Andrew Rybchenko
> > > <andrew.rybchenko@oktetlabs.ru> wrote:
> > >>
> > >> There is no point to do rte_eth_dev_mtu_set() before configure
> > >> since set MTU value is overwritten on configure anyway. So, setting
> > >> of MTU before configure is rejected now on ethdev level.
> > >>
> > >> If testpmd is going to do configure (e.g. just after testpmd start
> > >> with disabled devices start up or any configuration changes in
> > >> stopped state which require reconfigure), just save requested MTU
> > >> in device config to be applied on reconfigure.
> > >>
> > >> Fixes: 1bb4a528c41f ("ethdev: fix max Rx packet length")
> > >> Fixes: be0433cf953c ("ethdev: forbid MTU set before device
> > >> configure")
> > >>
> > >> Signed-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
> > > Acked-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
> > >
> >
> > Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
> >
> > Applied to dpdk-next-net/main, thanks.
> verify patch
> https://patches.dpdk.org/project/dpdk/patch/20211024164237.2116166-1-
> andrew.rybchenko@oktetlabs.ru/ on baseline
> 6cc51b1293ceac4a77d4bf7ac91a8bbd59e1f78c
> Test failed on nic XXV710 for 25GbE SFP28 158b/os Red Hat Enterprise Linux
> 8.4

Hi Ferruh and Andrew,
Since the patch https://patches.dpdk.org/project/dpdk/patch/20211024164237.2116166-1-andrew.rybchenko@oktetlabs.ru/
Has been merged into dpdk21.11rc2 main branch, we verify the main, 
This bug(https://bugs.dpdk.org/show_bug.cgi?id=864) also can be reproduced, could you pls have a look again?


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2021-11-10  7:23 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-24 16:42 [dpdk-dev] [PATCH] app/testpmd: fix MTU configuration before device start Andrew Rybchenko
2021-10-25 18:06 ` Ajit Khaparde
2021-10-28 18:23   ` Ferruh Yigit
2021-11-02  2:37     ` Jiang, YuX
2021-11-10  7:23       ` Jiang, YuX

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).