examples/ip_pipeline: avoid panic if link up/down not supported
authorAndriy Berestovskyy <andriy.berestovskyy@caviumnetworks.com>
Fri, 31 Mar 2017 13:36:33 +0000 (15:36 +0200)
committerThomas Monjalon <thomas@monjalon.net>
Fri, 21 Apr 2017 00:15:12 +0000 (02:15 +0200)
Some PMDs (mostly VFs) do not provide link up/down functionality.

Signed-off-by: Andriy Berestovskyy <andriy.berestovskyy@caviumnetworks.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
examples/ip_pipeline/init.c

index 1dc2a04..be148fc 100644 (file)
@@ -717,7 +717,8 @@ app_link_up_internal(struct app_params *app, struct app_link_params *cp)
 
        /* PMD link up */
        status = rte_eth_dev_set_link_up(cp->pmd_id);
-       if (status < 0)
+       /* Do not panic if PMD does not provide link up functionality */
+       if (status < 0 && status != -ENOTSUP)
                rte_panic("%s (%" PRIu32 "): PMD set link up error %"
                        PRId32 "\n", cp->name, cp->pmd_id, status);
 
@@ -733,7 +734,8 @@ app_link_down_internal(struct app_params *app, struct app_link_params *cp)
 
        /* PMD link down */
        status = rte_eth_dev_set_link_down(cp->pmd_id);
-       if (status < 0)
+       /* Do not panic if PMD does not provide link down functionality */
+       if (status < 0 && status != -ENOTSUP)
                rte_panic("%s (%" PRIu32 "): PMD set link down error %"
                        PRId32 "\n", cp->name, cp->pmd_id, status);