X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=examples%2Fipv4_multicast%2Fmain.c;h=63333b5b695b783aeb45e89946e9934ee73e22c8;hb=23d4b61fee5dc75ced7938169dc87a6174a093aa;hp=72eaadc5192a6d02720910f32b9db22c4dac99d4;hpb=0c9da7555da8c8373dfd69f798f832723ae6de71;p=dpdk.git diff --git a/examples/ipv4_multicast/main.c b/examples/ipv4_multicast/main.c index 72eaadc519..63333b5b69 100644 --- a/examples/ipv4_multicast/main.c +++ b/examples/ipv4_multicast/main.c @@ -575,6 +575,7 @@ check_all_ports_link_status(uint32_t port_mask) uint16_t portid; uint8_t count, all_ports_up, print_flag = 0; struct rte_eth_link link; + int ret; printf("\nChecking link status"); fflush(stdout); @@ -584,7 +585,14 @@ check_all_ports_link_status(uint32_t port_mask) if ((port_mask & (1 << portid)) == 0) continue; memset(&link, 0, sizeof(link)); - rte_eth_link_get_nowait(portid, &link); + ret = rte_eth_link_get_nowait(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) @@ -686,7 +694,12 @@ main(int argc, char **argv) qconf = &lcore_queue_conf[rx_lcore_id]; /* limit the frame size to the maximum supported by NIC */ - rte_eth_dev_info_get(portid, &dev_info); + ret = rte_eth_dev_info_get(portid, &dev_info); + if (ret != 0) + rte_exit(EXIT_FAILURE, + "Error during getting device (port %u) info: %s\n", + portid, strerror(-ret)); + local_port_conf.rxmode.max_rx_pkt_len = RTE_MIN( dev_info.max_rx_pktlen, local_port_conf.rxmode.max_rx_pkt_len); @@ -726,7 +739,12 @@ main(int argc, char **argv) "Cannot adjust number of descriptors: err=%d, port=%d\n", ret, portid); - rte_eth_macaddr_get(portid, &ports_eth_addr[portid]); + ret = rte_eth_macaddr_get(portid, &ports_eth_addr[portid]); + if (ret < 0) + rte_exit(EXIT_FAILURE, + "Cannot get MAC address: err=%d, port=%d\n", + ret, portid); + print_ethaddr(" Address:", &ports_eth_addr[portid]); printf(", "); @@ -765,7 +783,11 @@ main(int argc, char **argv) qconf->tx_queue_id[portid] = queueid; queueid++; } - rte_eth_allmulticast_enable(portid); + ret = rte_eth_allmulticast_enable(portid); + if (ret < 0) + rte_exit(EXIT_FAILURE, + "rte_eth_allmulticast_enable: err=%d, port=%d\n", + ret, portid); /* Start device */ ret = rte_eth_dev_start(portid); if (ret < 0)