From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <cristian.dumitrescu@intel.com>
Received: from mga12.intel.com (mga12.intel.com [192.55.52.136])
 by dpdk.org (Postfix) with ESMTP id 50BF3235;
 Wed, 25 Jul 2018 18:16:02 +0200 (CEST)
X-Amp-Result: SKIPPED(no attachment in message)
X-Amp-File-Uploaded: False
Received: from orsmga002.jf.intel.com ([10.7.209.21])
 by fmsmga106.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;
 25 Jul 2018 09:16:01 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.51,401,1526367600"; d="scan'208";a="77758406"
Received: from irsmsx104.ger.corp.intel.com ([163.33.3.159])
 by orsmga002.jf.intel.com with ESMTP; 25 Jul 2018 09:16:00 -0700
Received: from irsmsx155.ger.corp.intel.com (163.33.192.3) by
 IRSMSX104.ger.corp.intel.com (163.33.3.159) with Microsoft SMTP Server (TLS)
 id 14.3.319.2; Wed, 25 Jul 2018 17:15:59 +0100
Received: from irsmsx107.ger.corp.intel.com ([169.254.10.193]) by
 irsmsx155.ger.corp.intel.com ([169.254.14.181]) with mapi id 14.03.0319.002;
 Wed, 25 Jul 2018 17:15:59 +0100
From: "Dumitrescu, Cristian" <cristian.dumitrescu@intel.com>
To: Moti Haimovsky <motih@mellanox.com>, "thomas@monjalon.net"
 <thomas@monjalon.net>
CC: "Singh, Jasvinder" <jasvinder.singh@intel.com>, "dev@dpdk.org"
 <dev@dpdk.org>, "stable@dpdk.org" <stable@dpdk.org>
Thread-Topic: [dpdk-dev] [PATCH v3] app/testpmd: removed softnic CLI
 modifications
Thread-Index: AQHUJCyAL8UgTpVjr0ivUB4Y4udl0KSgG0mQ
Date: Wed, 25 Jul 2018 16:15:59 +0000
Message-ID: <3EB4FA525960D640B5BDFFD6A3D891268E77A9B6@IRSMSX107.ger.corp.intel.com>
References: <1532529621-5171-1-git-send-email-motih@mellanox.com>
 <1532532609-16216-1-git-send-email-motih@mellanox.com>
In-Reply-To: <1532532609-16216-1-git-send-email-motih@mellanox.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
dlp-product: dlpe-windows
dlp-version: 11.0.400.15
dlp-reaction: no-action
x-originating-ip: [163.33.239.181]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: Re: [dpdk-stable] [dpdk-dev] [PATCH v3] app/testpmd: removed
 softnic CLI modifications
X-BeenThere: stable@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: patches for DPDK stable branches <stable.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/stable>,
 <mailto:stable-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/stable/>
List-Post: <mailto:stable@dpdk.org>
List-Help: <mailto:stable-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/stable>,
 <mailto:stable-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Wed, 25 Jul 2018 16:16:04 -0000



> -----Original Message-----
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Moti Haimovsky
> Sent: Wednesday, July 25, 2018 4:30 PM
> To: thomas@monjalon.net
> Cc: Singh, Jasvinder <jasvinder.singh@intel.com>; dev@dpdk.org;
> stable@dpdk.org; Moti Haimovsky <motih@mellanox.com>
> Subject: [dpdk-dev] [PATCH v3] app/testpmd: removed softnic CLI
> modifications
>=20
> This patch reverts the testpmd CLI prompt routine modifications done
> in order to support softnic.
> The reason of doing so is due to testpmd abnormal exit observed on
> several setups caused by the softnic modifications to this routine,
> for example: When running testpmd with tap interface
> (/app/testpmd
>  -n 4 --vdev=3Dnet_tap0,iface=3Dtap0,remote=3Deth1 -- --burst=3D64
>  --mbcache=3D512 -i --nb-cores=3D7 --rxq=3D2 --txq=3D2 --txd=3D512
>  --rxd=3D512 --port-topology=3Dchained --forward-mode=3Drxonly)
> testpmd crashes seconds after presenting its prompt with the following
> error:
>   testpmd> PANIC in prompt():
>   CLI poll error (-1)
>=20
>   Thread 1 "testpmd" received signal SIGABRT, Aborted.
>   0x00007ffff668e0d0 in raise () from /lib64/libc.so.6
>   (gdb) bt
>   #0  0x00007ffff668e0d0 in raise () from /lib64/libc.so.6
>   #1  0x00007ffff668f6b1 in abort () from /lib64/libc.so.6
>   #2  0x0000000000468027 in __rte_panic ()
>   #3  0x00000000004876ed in prompt ()
>   #4  0x000000000046dffc in main ()
>=20
> When running testpmd with bare-metal device
> (app/testpmd -n 4 --socket-mem=3D1024,1024 -w 04:00.0  --
>  --burst=3D64 --mbcache=3D512 -i  --nb-cores=3D7
>  --rxq=3D64  --txq=3D4 --txd=3D16 --rxd=3D16)
> and pressing CTRL+D right after testpmd prompt is presented then
> the program crashes while presenting the same messages as above.
>=20
> Needless to say that this behavior is not observed when using the
> previous CLI prompt routine.
>=20
> Fixes: 0ad778b398c6 ("app/testpmd: rework softnic forward mode")
> Cc: stable@dpdk.org
>=20
> Signed-off-by: Moti Haimovsky <motih@mellanox.com>
> ---
> v3:
> * Removed unneeded include file.
>=20
> v2:
> * Removed softnic modifications altogether.
>=20
> v1:
> * Wrapped softnic modifications with compilation switch.
> ---
>  app/test-pmd/cmdline.c | 42 ++----------------------------------------
>  1 file changed, 2 insertions(+), 40 deletions(-)
>=20
> diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
> index 2c32029..8708875 100644
> --- a/app/test-pmd/cmdline.c
> +++ b/app/test-pmd/cmdline.c
> @@ -69,9 +69,6 @@
>  #ifdef RTE_LIBRTE_I40E_PMD
>  #include <rte_pmd_i40e.h>
>  #endif
> -#ifdef RTE_LIBRTE_PMD_SOFTNIC
> -#include <rte_eth_softnic.h>
> -#endif
>  #ifdef RTE_LIBRTE_BNXT_PMD
>  #include <rte_pmd_bnxt.h>
>  #endif
> @@ -17896,50 +17893,15 @@ struct
> cmd_config_per_queue_tx_offload_result {
>  void
>  prompt(void)
>  {
> -	int status;
> -
>  	/* initialize non-constant commands */
>  	cmd_set_fwd_mode_init();
>  	cmd_set_fwd_retry_mode_init();
>=20
> -#if defined RTE_LIBRTE_PMD_SOFTNIC
> -	portid_t softnic_portid, pid;
> -	uint8_t softnic_enable =3D 0;
> -
> -	if (strcmp(cur_fwd_eng->fwd_mode_name, "softnic") =3D=3D 0) {
> -		RTE_ETH_FOREACH_DEV(pid) {
> -			struct rte_port *port =3D &ports[pid];
> -			const char *driver =3D port->dev_info.driver_name;
> -
> -			if (strcmp(driver, "net_softnic") =3D=3D 0) {
> -				softnic_portid =3D pid;
> -				softnic_enable =3D 1;
> -				break;
> -			}
> -		}
> -	}
> -#endif
> -
>  	testpmd_cl =3D cmdline_stdin_new(main_ctx, "testpmd> ");
>  	if (testpmd_cl =3D=3D NULL)
>  		return;
> -
> -	for (;;) {
> -		status =3D cmdline_poll(testpmd_cl);
> -		if (status < 0)
> -			rte_panic("CLI poll error (%" PRId32 ")\n", status);
> -		else if (status =3D=3D RDLINE_EXITED) {
> -			cmdline_stdin_exit(testpmd_cl);
> -			rte_exit(0, "\n");
> -		}
> -
> -#if defined RTE_LIBRTE_PMD_SOFTNIC
> -
> -	if ((softnic_enable =3D=3D 1) &&
> -		(strcmp(cur_fwd_eng->fwd_mode_name, "softnic") =3D=3D 0))
> -		rte_pmd_softnic_manage(softnic_portid);
> -#endif
> -	}
> +	cmdline_interact(testpmd_cl);
> +	cmdline_stdin_exit(testpmd_cl);
>  }
>=20
>  void
> --
> 1.8.3.1

We could not reproduce this in our setup, but we'll give the benefit of the=
 doubt in favor of Moti, as we are running out of time for RC2.

We are not fixing the real issue in cmdline library, but it is likely that =
replacing cmdline_interactive() with cmdline_poll() might have more challen=
ges difficult to predict.

This revert prevents us from using test-pmd CLI to configure some Soft NCI =
features such as the Traffic Manager, so we preparing a patch set to expose=
 some of these features though Soft NIC firmware scripts.

Therefore, reluctantly,

Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>