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".
The global variable rxq or 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.

These 2 patches reserve the last correct rxq and txq, if an invalid input
is detected, it is restored to the backup value to avoid crash.

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

Signed-off-by: Wei Dai <wei....@intel.com>

---
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    | 94 +++++++++++++++++++++++++++++++++++++++++++++++
 app/test-pmd/testpmd.h    |  5 +++
 4 files changed, 110 insertions(+), 6 deletions(-)

-- 
2.7.5

Reply via email to