X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=examples%2Fserver_node_efd%2Fserver%2Finit.c;h=378a74fa5c66b4718fa9f8b5152fb0fac110e282;hb=38f8ab0bbc8d14066ebafec2b70583092328a5ab;hp=773780b4d26dfc3c49b5f4fe83894208175563ec;hpb=089e5ed727a15da2729cfee9b63533dd120bd04c;p=dpdk.git diff --git a/examples/server_node_efd/server/init.c b/examples/server_node_efd/server/init.c index 773780b4d2..378a74fa5c 100644 --- a/examples/server_node_efd/server/init.c +++ b/examples/server_node_efd/server/init.c @@ -150,7 +150,9 @@ init_port(uint16_t port_num) return retval; } - rte_eth_promiscuous_enable(port_num); + retval = rte_eth_promiscuous_enable(port_num); + if (retval != 0) + return retval; retval = rte_eth_dev_start(port_num); if (retval < 0) @@ -244,6 +246,7 @@ check_all_ports_link_status(uint16_t port_num, uint32_t port_mask) uint8_t count, all_ports_up, print_flag = 0; uint16_t portid; struct rte_eth_link link; + int ret; printf("\nChecking link status"); fflush(stdout); @@ -253,7 +256,14 @@ check_all_ports_link_status(uint16_t port_num, uint32_t port_mask) if ((port_mask & (1 << info->id[portid])) == 0) continue; memset(&link, 0, sizeof(link)); - rte_eth_link_get_nowait(info->id[portid], &link); + ret = rte_eth_link_get_nowait(info->id[portid], &link); + if (ret < 0) { + all_ports_up = 0; + if (print_flag == 1) + printf("Port %u link get failed: %s\n", + portid, rte_strerror(-ret)); + continue; + } /* print link status if flag set */ if (print_flag == 1) { if (link.link_status) @@ -262,7 +272,7 @@ check_all_ports_link_status(uint16_t port_num, uint32_t port_mask) info->id[portid], link.link_speed, (link.link_duplex == ETH_LINK_FULL_DUPLEX) ? - ("full-duplex") : ("half-duplex\n")); + ("full-duplex") : ("half-duplex")); else printf("Port %d Link Down\n", info->id[portid]);