X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=examples%2Fflow_filtering%2Fmain.c;h=cc9e7e78081319c0bb529fba5391b6ef92a29125;hb=2a1991799ea11c9fe10cffd3f25f06a418e37f35;hp=fe064fa022572d07db6146d72c14ce258c11ede3;hpb=d9a66c56b845ca53d6bdafb3c07712b726bbda38;p=dpdk.git diff --git a/examples/flow_filtering/main.c b/examples/flow_filtering/main.c index fe064fa022..cc9e7e7808 100644 --- a/examples/flow_filtering/main.c +++ b/examples/flow_filtering/main.c @@ -100,15 +100,19 @@ assert_link_status(void) { struct rte_eth_link link; uint8_t rep_cnt = MAX_REPEAT_TIMES; + int link_get_err = -EINVAL; memset(&link, 0, sizeof(link)); do { - rte_eth_link_get(port_id, &link); - if (link.link_status == ETH_LINK_UP) + link_get_err = rte_eth_link_get(port_id, &link); + if (link_get_err == 0 && link.link_status == ETH_LINK_UP) break; rte_delay_ms(CHECK_INTERVAL); } while (--rep_cnt); + if (link_get_err < 0) + rte_exit(EXIT_FAILURE, ":: error: link get is failing: %s\n", + rte_strerror(-link_get_err)); if (link.link_status == ETH_LINK_DOWN) rte_exit(EXIT_FAILURE, ":: error: link is still down\n"); } @@ -180,7 +184,12 @@ init_port(void) } } - rte_eth_promiscuous_enable(port_id); + ret = rte_eth_promiscuous_enable(port_id); + if (ret != 0) + rte_exit(EXIT_FAILURE, + ":: promiscuous mode enable failed: err=%s, port=%u\n", + rte_strerror(-ret), port_id); + ret = rte_eth_dev_start(port_id); if (ret < 0) { rte_exit(EXIT_FAILURE,