[dpdk-dev] [PATCH] app/testpmd: report invalid command line parameter
Ferruh Yigit
ferruh.yigit at intel.com
Mon Nov 18 11:37:09 CET 2019
On 11/17/2019 5:10 PM, David Marchand wrote:
> We currently do not check that a non option string has been passed to
> testpmd.
>
> Example:
> $ ./master/app/testpmd --no-huge -m 512 --vdev net_null0 \
> --vdev net_null1 -- -i nb-cores=2 --total-num-mbuf 2048
> [...]
> testpmd> show config fwd
> io packet forwarding - ports=2 - cores=1 - streams=2 - NUMA support
> enabled, MP allocation mode: native
> Logical Core 1 (socket 0) forwards packets on 2 streams:
> RX P=0/Q=0 (socket 0) -> TX P=1/Q=0 (socket 0) peer=02:00:00:00:00:01
> RX P=1/Q=0 (socket 0) -> TX P=0/Q=0 (socket 0) peer=02:00:00:00:00:00
>
> Here nb-cores=2 is just ignored, while the (probably sleepy) user did not
> notice this.
>
> Validate that all strings passed to testpmd are part of a known option.
>
> After this patch:
> $ ./master/app/testpmd --no-huge -m 512 --vdev net_null0 \
> --vdev net_null1 -- -i -nb-cores=2 --total-num-mbuf 2048
> [...]
> Invalid parameter: nb-cores=2
> EAL: Error - exiting with code: 1
> Cause: Command line incorrect
>
> While at it, when passing an unknown option, print the string that gets
> refused by getopt_long to help the user.
>
> Fixes: af75078fece3 ("first public release")
> Cc: stable at dpdk.org
>
> Signed-off-by: David Marchand <david.marchand at redhat.com>
> ---
> This seems a bit dangerous to take this kind of change.
> Some "working fine" scripts might now report failures from testpmd because
> of garbage in the command line.
>
> Sending the patch anyway to see what others think about it.
+1 to the patch, I think better to fail in this case.
Reviewed-by: Ferruh Yigit <ferruh.yigit at intel.com>
More information about the dev
mailing list