app/testpmd: print message if queue start/stop is not supported
authorNicolás Pernas Maradei <nico@emutex.com>
Sat, 4 Oct 2014 19:19:51 +0000 (20:19 +0100)
committerThomas Monjalon <thomas.monjalon@6wind.com>
Thu, 9 Oct 2014 18:02:35 +0000 (20:02 +0200)
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>
app/test-pmd/cmdline.c

index 225f669..0b972f9 100644 (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 =