app/testpmd: print message if queue start/stop is not supported

Print an error message to the user when trying to start/stop a rx/tx queue and
this function is not supported by the PMD driver. The patch does not check if
the return value is -EINVAL because testpmd is already validating the port and
queue id.

Signed-off-by: Nicolás Pernas Maradei <nico@emutex.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
This commit is contained in:
Nicolás Pernas Maradei 2014-10-04 20:19:51 +01:00 committed by Thomas Monjalon
parent a0fce1193c
commit 0069e277db

View File

@ -1451,6 +1451,7 @@ cmd_config_rxtx_queue_parsed(void *parsed_result,
struct cmd_config_rxtx_queue *res = parsed_result;
uint8_t isrx;
uint8_t isstart;
int ret = 0;
if (test_done == 0) {
printf("Please stop forwarding first\n");
@ -1489,13 +1490,16 @@ cmd_config_rxtx_queue_parsed(void *parsed_result,
}
if (isstart && isrx)
rte_eth_dev_rx_queue_start(res->portid, res->qid);
ret = rte_eth_dev_rx_queue_start(res->portid, res->qid);
else if (!isstart && isrx)
rte_eth_dev_rx_queue_stop(res->portid, res->qid);
ret = rte_eth_dev_rx_queue_stop(res->portid, res->qid);
else if (isstart && !isrx)
rte_eth_dev_tx_queue_start(res->portid, res->qid);
ret = rte_eth_dev_tx_queue_start(res->portid, res->qid);
else
rte_eth_dev_tx_queue_stop(res->portid, res->qid);
ret = rte_eth_dev_tx_queue_stop(res->portid, res->qid);
if (ret == -ENOTSUP)
printf("Function not supported in PMD driver\n");
}
cmdline_parse_token_string_t cmd_config_rxtx_queue_port =