DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Peng, Yuan" <yuan.peng@intel.com>
To: "Dai, Wei" <wei.dai@intel.com>,
	"Ananyev, Konstantin" <konstantin.ananyev@intel.com>,
	"Lu, Wenzhuo" <wenzhuo.lu@intel.com>,
	"Xing, Beilei" <beilei.xing@intel.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>,
	"stable@dpdk.org" <stable@dpdk.org>,
	"Peng, Yuan" <yuan.peng@intel.com>
Subject: Re: [dpdk-dev] [PATCH v5 0/2] app/testpmd: fix invalid rxq and txq nubmer settings
Date: Fri, 12 Jan 2018 09:09:01 +0000	[thread overview]
Message-ID: <67D543A150B29E4CAAE53918F64EDAEA3746DC3E@SHSMSX103.ccr.corp.intel.com> (raw)
In-Reply-To: <1515744603-60457-1-git-send-email-wei.dai@intel.com>

Tested-by: Peng Yuan<yuan.peng@intel.com>

- Tested Branch: master
- Tested commit 6c7001480ac6356ff0a4995f3ed495ed9c866061
- OS: 4.5.5-300.fc24.x86_64
- GCC: gcc version 5.3.1 20151207 (Red Hat 5.3.1-2) (GCC)
- CPU: Intel(R) Xeon(R) CPU E5-2699 v4 @ 2.20GHz
- NIC: Intel Corporation Device Fortville [8086:1572]
- Default x86_64-native-linuxapp-gcc configuration
- Prerequisites:
- Total 1 cases, 1 passed, 0 failed

- Case: 
./usertools/dpdk-devbind.py -b igb_uio 05:00:0
 echo 1 >/sys/bus/pci/devices/0000:05:00.0/max_vfs
 ./usertools/dpdk-devbind.py -b vfio-pci 05:02.0
 pf:
 ./x86_64-native-linuxapp-gcc/app/testpmd -c f -n 4 -w 05:00.0,queue-num-per-vf=4 --file-prefix=test1 --socket-mem 1024,1024 - -I
 vf:
 ./x86_64-native-linuxapp-gcc/app/testpmd -c f -n 4 -w 05:02.0 --file-prefix=test2 --socket-mem 1024,1024 - -i --rxq=4 --txq=4
 EAL: Detected 88 lcore(s)
 EAL: Probing VFIO support...
 EAL: VFIO support initialized
 EAL: PCI device 0000:05:02.0 on NUMA socket 0
 EAL: probe driver: 8086:154c net_i40e_vf
 EAL: using IOMMU type 1 (Type 1)
 Interactive-mode selected
 USER1: create a new mbuf pool <mbuf_pool_socket_0>: n=171456, size=2176, socket=0
 USER1: create a new mbuf pool <mbuf_pool_socket_1>: n=171456, size=2176, socket=1
 Configuring Port 0 (socket 0)
 Port 0: 7E:AC:58:44:3C:94
 Checking link statuses...
 Done
 testpmd> port stop all
 Stopping ports...
 Checking link statuses...
 Done
 testpmd> port config all txq 5
 Fail: input txq (5) can't be greater than max_tx_queues (4) of port 0
 testpmd> port config all rxq 5
 Fail: input rxq (5) can't be greater than max_rx_queues (4) of port 0
 testpmd> port start all
 Port 0: 5A:19:E4:5C:A3:C7
 Checking link statuses...
 Done
 testpmd> show port info all
 Current number of RX queues: 4
 Max possible RX queues: 4
 Current number of TX queues: 4
 Max possible TX queues: 4

there is no core dump, and the actual queue number doesn't change.
The case passed.

-----Original Message-----
From: Dai, Wei 
Sent: Friday, January 12, 2018 4:10 PM
To: Peng, Yuan <yuan.peng@intel.com>; Ananyev, Konstantin <konstantin.ananyev@intel.com>; Lu, Wenzhuo <wenzhuo.lu@intel.com>; Xing, Beilei <beilei.xing@intel.com>
Cc: dev@dpdk.org; Dai, Wei <wei.dai@intel.com>; stable@dpdk.org
Subject: [PATCH v5 0/2] app/testpmd: fix invalid rxq and txq nubmer settings

If an invlaid number of RX or TX queues is configured from testpmd command like "port config all rxq number" or "port config all txq number".
or from --rxq and --txq in the command to start testpmd. The global variable nb_rxq or nb_txq is updated by the invalid input.
This can cause testpmd crash. For example, if the maximum number of RX or TX queues is 4, testpmd will crash after running commands "port config all rxq 5", "port config all txq 5" and "start" in sequence.

With these 2 patches, if an invalid input is detected, it is refused and testpmd keeps last correct values of  nb_rxq and nb_txq.

Fixes: ce8d561418d4 ("app/testpmd: add port configuration settings")
Cc: stable@dpdk.org

Signed-off-by: Wei Dai <wei.dai@intel.com>
Aced-by: Konstantin Ananyev <konstantin.ananyev@intel.com>

---
v5: fix building failure with -Werror=maybe-uninitialized by gcc 5.3.1
    fix typo error

v4: update git log message and rename 2 new added functions

v3: follow the guide from Konstantin to use functions to check
    input rxq and txq instead of usage of new added global variables.

v2: fix a bug in v1


Wei Dai (2):
  app/testpmd: fix invalid rxq number setting
  app/testpmd: fix invalid txq number setting

 app/test-pmd/cmdline.c    |  4 +++
 app/test-pmd/parameters.c | 13 +++----
 app/test-pmd/testpmd.c    | 92 +++++++++++++++++++++++++++++++++++++++++++++++
 app/test-pmd/testpmd.h    |  5 +++
 4 files changed, 108 insertions(+), 6 deletions(-)

--
2.7.5

  parent reply	other threads:[~2018-01-12  9:09 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-08 13:02 [dpdk-dev] [PATCH 0/2] app/testpmd: fix invalid rxq and txq nubmer setting Wei Dai
2018-01-08 13:02 ` [dpdk-dev] [PATCH 1/2] app/testpmd: fix invalid rxq number setting Wei Dai
2018-01-08 20:05   ` Ananyev, Konstantin
2018-01-10  1:33     ` Dai, Wei
2018-01-10  1:54       ` Ananyev, Konstantin
2018-01-10  6:00         ` Dai, Wei
2018-01-08 13:02 ` [dpdk-dev] [PATCH 2/2] app/testpmd: fix invalid txq " Wei Dai
2018-01-10  4:14 ` [dpdk-dev] [PATCH v2 0/2] app/testpmd: fix invalid rxq and txq nubmer setting Wei Dai
2018-01-10  4:14   ` [dpdk-dev] [PATCH v2 1/2] app/testpmd: fix invalid rxq number setting Wei Dai
2018-01-10  4:14   ` [dpdk-dev] [PATCH v2 2/2] app/testpmd: fix invalid txq " Wei Dai
2018-01-10  6:37     ` Yang, Qiming
2018-01-10  8:50       ` Dai, Wei
2018-01-10  8:40   ` [dpdk-dev] [PATCH v3 0/2] app/testpmd: fix invalid rxq and txq nubmer setting Wei Dai
2018-01-10  8:40     ` [dpdk-dev] [PATCH v3 1/2] app/testpmd: fix invalid rxq number setting Wei Dai
2018-01-10  8:40     ` [dpdk-dev] [PATCH v3 2/2] app/testpmd: fix invalid txq " Wei Dai
2018-01-10  9:58     ` [dpdk-dev] [PATCH v3 0/2] app/testpmd: fix invalid rxq and txq nubmer setting Ananyev, Konstantin
2018-01-11  1:21       ` Dai, Wei
2018-01-11  4:58     ` [dpdk-dev] [PATCH v4 0/2] app/testpmd: fix invalid rxq and txq nubmer settings Wei Dai
2018-01-11  4:58       ` [dpdk-dev] [PATCH v4 1/2] app/testpmd: fix invalid rxq number setting Wei Dai
2018-01-11  4:58       ` [dpdk-dev] [PATCH v4 2/2] app/testpmd: fix invalid txq " Wei Dai
2018-01-12  5:39       ` [dpdk-dev] [PATCH v4 0/2] app/testpmd: fix invalid rxq and txq nubmer settings Peng, Yuan
2018-01-12  6:05         ` Dai, Wei
2018-01-12  8:10       ` [dpdk-dev] [PATCH v5 " Wei Dai
2018-01-12  8:10         ` [dpdk-dev] [PATCH v5 1/2] app/testpmd: fix invalid rxq number setting Wei Dai
2018-01-12  9:09           ` Peng, Yuan
2018-01-12  8:10         ` [dpdk-dev] [PATCH v5 2/2] app/testpmd: fix invalid txq " Wei Dai
2018-01-12  9:12           ` Peng, Yuan
2018-01-12  9:09         ` Peng, Yuan [this message]
2018-01-12 11:31         ` [dpdk-dev] [PATCH v6 0/2] app/testpmd: fix invalid rxq and txq nubmer settings Wei Dai
2018-01-12 11:31           ` [dpdk-dev] [PATCH v6 1/2] app/testpmd: fix invalid rxq number setting Wei Dai
2018-01-12 11:31           ` [dpdk-dev] [PATCH v6 2/2] app/testpmd: fix invalid txq " Wei Dai
2018-01-17 14:06           ` [dpdk-dev] [PATCH v6 0/2] app/testpmd: fix invalid rxq and txq nubmer settings Thomas Monjalon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=67D543A150B29E4CAAE53918F64EDAEA3746DC3E@SHSMSX103.ccr.corp.intel.com \
    --to=yuan.peng@intel.com \
    --cc=beilei.xing@intel.com \
    --cc=dev@dpdk.org \
    --cc=konstantin.ananyev@intel.com \
    --cc=stable@dpdk.org \
    --cc=wei.dai@intel.com \
    --cc=wenzhuo.lu@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).