app/testpmd: fix error message when setting Tx VLAN
authorWang Xiao W <xiao.w.wang@intel.com>
Fri, 5 Feb 2016 04:50:23 +0000 (12:50 +0800)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Sat, 5 Mar 2016 18:57:29 +0000 (19:57 +0100)
commit6a34f91690d0b33b9dbfb63ab1f080fbf2879dc6
tree5193f760776a62089722c97b1e3c1b2046d85a09
parent716bf8208039d0a4279c99e8caa1ed028a63bbd2
app/testpmd: fix error message when setting Tx VLAN

When using testpmd, sometimes we forget the right order of port_id and
vid in "tx_vlan set (port_id) vlan_id[, vlan_id_outer]\n" command, and
input "tx_vlan set 51 0", we'll get a strange prompt saying "Error, as
QinQ has been enabled.".

In cmd_tx_vlan_set_parsed function, the first thing we do is checking
the port's vlan_offload capability, rather than checking validity of the
port_id, therefore if it's an invalid port_id we'll get the above wrong
message. We should always make sure that we get a valid port_id before
we do other things.

It's the similar issue for cmd_tx_vlan_set_qinq_parsed function.

Fixes: 92ebda07ee58 ("app/testpmd: add qinq stripping and insertion")

Signed-off-by: Wang Xiao W <xiao.w.wang@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
app/test-pmd/cmdline.c
app/test-pmd/config.c