X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=examples%2Fbbdev_app%2Fmain.c;h=6a7a03cb5c9a44dd7c6783873848d35ddd34690e;hb=61efaf5b6220e18b45ffb597923e5914847658c9;hp=2675a16f0e8bec7762cb71474447b32f3815d882;hpb=6d13ea8e8e49ab957deae2bba5ecf4a4bfe747d1;p=dpdk.git diff --git a/examples/bbdev_app/main.c b/examples/bbdev_app/main.c index 2675a16f0e..6a7a03cb5c 100644 --- a/examples/bbdev_app/main.c +++ b/examples/bbdev_app/main.c @@ -62,7 +62,7 @@ static const struct rte_eth_conf port_conf = { .rxmode = { .mq_mode = ETH_MQ_RX_NONE, - .max_rx_pkt_len = ETHER_MAX_LEN, + .max_rx_pkt_len = RTE_ETHER_MAX_LEN, .split_hdr_size = 0, }, .txmode = { @@ -312,6 +312,7 @@ check_port_link_status(uint16_t port_id) #define MAX_CHECK_TIME 90 /* 9s (90 * 100ms) in total */ uint8_t count; struct rte_eth_link link; + int link_get_err = -EINVAL; printf("\nChecking link status."); fflush(stdout); @@ -319,14 +320,16 @@ check_port_link_status(uint16_t port_id) for (count = 0; count <= MAX_CHECK_TIME && !rte_atomic16_read(&global_exit_flag); count++) { memset(&link, 0, sizeof(link)); - rte_eth_link_get_nowait(port_id, &link); + link_get_err = rte_eth_link_get_nowait(port_id, &link); - if (link.link_status) { + if (link_get_err >= 0 && link.link_status) { const char *dp = (link.link_duplex == ETH_LINK_FULL_DUPLEX) ? "full-duplex" : "half-duplex"; - printf("\nPort %u Link Up - speed %u Mbps - %s\n", - port_id, link.link_speed, dp); + printf("\nPort %u Link Up - speed %s - %s\n", + port_id, + rte_eth_link_speed_to_str(link.link_speed), + dp); return 0; } printf("."); @@ -334,7 +337,12 @@ check_port_link_status(uint16_t port_id) rte_delay_ms(CHECK_INTERVAL); } - printf("\nPort %d Link Down\n", port_id); + if (link_get_err >= 0) + printf("\nPort %d Link Down\n", port_id); + else + printf("\nGet link failed (port %d): %s\n", port_id, + rte_strerror(-link_get_err)); + return 0; } @@ -477,9 +485,20 @@ initialize_ports(struct app_config_params *app_params, } } - rte_eth_promiscuous_enable(port_id); + ret = rte_eth_promiscuous_enable(port_id); + if (ret != 0) { + printf("Cannot enable promiscuous mode: err=%s, port=%u\n", + rte_strerror(-ret), port_id); + return ret; + } + + ret = rte_eth_macaddr_get(port_id, &bbdev_port_eth_addr); + if (ret < 0) { + printf("rte_eth_macaddr_get: err=%d, queue=%u\n", + ret, q); + return -1; + } - rte_eth_macaddr_get(port_id, &bbdev_port_eth_addr); print_mac(port_id, &bbdev_port_eth_addr); return 0; @@ -642,6 +661,8 @@ print_stats(struct stats_lcore_params *stats_lcore) print_lcore_stats(stats_lcore->lconf[l_id].lcore_stats, l_id); } + fflush(stdout); + free(xstats); free(xstats_names); }