app/testpmd: fix segment number check
authorViacheslav Ovsiienko <viacheslavo@nvidia.com>
Fri, 23 Apr 2021 16:09:52 +0000 (17:09 +0100)
committerFerruh Yigit <ferruh.yigit@intel.com>
Tue, 27 Apr 2021 11:41:25 +0000 (13:41 +0200)
commit3f47c017eed414490b6428d58d47dfca2964209e
tree439f0bbdd2fc1115c56d56e940ba2ec8bc25c802
parent5d17dec5a85284a5384197fb389ef483c83d340a
app/testpmd: fix segment number check

The --txpkts command line parameter was silently ignored due to
application was unable to check the Tx queue ring sizes for non
configured ports.

The "set txpkts <len0[,len1]*>" was also rejected if there
was some stopped or /unconfigured port.

This provides the following:

  - If fails to get ring size from the port, this can be because port is
    not initialized yet, ignore the check and just be sure segment size
    won't cause an out of bound access. The port descriptor check will
    be done during Tx setup.

  - The capability to send single packet is supposed to be very basic
    and always supported, the setting segment number to 1 is always
    allowed, no check performed

  - At the moment of Tx queue setup the descriptor number is checked
    against configured segment number

Bugzilla ID: 584
Fixes: 8dae835d88b7 ("app/testpmd: remove restriction on Tx segments set")
Cc: stable@dpdk.org
Signed-off-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
Acked-by: Xiaoyun Li <xiaoyun.li@intel.com>
app/test-pmd/cmdline.c
app/test-pmd/config.c