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: [email protected]
Signed-off-by: Wei Dai <[email protected]>
Aced-by: Konstantin Ananyev <[email protected]>
Tested-by: Yuan Peng <[email protected]>
---
v6: same as v5. only correct patchwork mail format error
for maintainer's convenience.
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