[dpdk-dev] [PATCH] testpmd: print message if starting/stopping queue is not supported

Nicolás Pernas Maradei nico at emutex.com
Sat Oct 4 21:19:51 CEST 2014


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 at emutex.com>
---
 app/test-pmd/cmdline.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/app/test-pmd/cmdline.c b/app/test-pmd/cmdline.c
index 225f669..0b972f9 100644
--- a/app/test-pmd/cmdline.c
+++ b/app/test-pmd/cmdline.c
@@ -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 =
-- 
1.9.1



More information about the dev mailing list