[dpdk-dev] testpmd: print message if starting/stopping queue is not supported
Commit Message
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>
---
app/test-pmd/cmdline.c | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
Comments
2014-10-04 20:19, Nicolás Pernas Maradei:
> 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>
Applied
Thanks
@@ -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 =