X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=examples%2Fethtool%2Flib%2Frte_ethtool.c;h=db8150efd554ec21e58fbd80ff758c96e3beeaf2;hb=refs%2Fheads%2Fdelay;hp=299488c1cbc01f832b67d88a638fcad7926c029a;hpb=6d13ea8e8e49ab957deae2bba5ecf4a4bfe747d1;p=dpdk.git diff --git a/examples/ethtool/lib/rte_ethtool.c b/examples/ethtool/lib/rte_ethtool.c index 299488c1cb..db8150efd5 100644 --- a/examples/ethtool/lib/rte_ethtool.c +++ b/examples/ethtool/lib/rte_ethtool.c @@ -41,8 +41,13 @@ rte_ethtool_get_drvinfo(uint16_t port_id, struct ethtool_drvinfo *drvinfo) printf("Insufficient fw version buffer size, " "the minimum size should be %d\n", ret); - memset(&dev_info, 0, sizeof(dev_info)); - rte_eth_dev_info_get(port_id, &dev_info); + ret = rte_eth_dev_info_get(port_id, &dev_info); + if (ret != 0) { + printf("Error during getting device (port %u) info: %s\n", + port_id, strerror(-ret)); + + return ret; + } strlcpy(drvinfo->driver, dev_info.driver_name, sizeof(drvinfo->driver)); @@ -119,9 +124,13 @@ int rte_ethtool_get_link(uint16_t port_id) { struct rte_eth_link link; + int ret; RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV); - rte_eth_link_get(port_id, &link); + ret = rte_eth_link_get(port_id, &link); + if (ret < 0) + return ret; + return link.link_status; } @@ -305,10 +314,15 @@ rte_ethtool_net_stop(uint16_t port_id) int rte_ethtool_net_get_mac_addr(uint16_t port_id, struct rte_ether_addr *addr) { + int ret; + RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV); if (addr == NULL) return -EINVAL; - rte_eth_macaddr_get(port_id, addr); + + ret = rte_eth_macaddr_get(port_id, addr); + if (ret != 0) + return ret; return 0; } @@ -327,7 +341,7 @@ rte_ethtool_net_validate_addr(uint16_t port_id __rte_unused, { if (addr == NULL) return -EINVAL; - return is_valid_assigned_ether_addr(addr); + return rte_is_valid_assigned_ether_addr(addr); } int @@ -371,9 +385,12 @@ rte_ethtool_net_set_rx_mode(uint16_t port_id) uint16_t num_vfs; struct rte_eth_dev_info dev_info; uint16_t vf; + int ret; + + ret = rte_eth_dev_info_get(port_id, &dev_info); + if (ret != 0) + return ret; - memset(&dev_info, 0, sizeof(dev_info)); - rte_eth_dev_info_get(port_id, &dev_info); num_vfs = dev_info.max_vfs; /* Set VF vf_rx_mode, VF unsupport status is discard */ @@ -385,7 +402,9 @@ rte_ethtool_net_set_rx_mode(uint16_t port_id) } /* Enable Rx vlan filter, VF unspport status is discard */ - rte_eth_dev_set_vlan_offload(port_id, ETH_VLAN_FILTER_MASK); + ret = rte_eth_dev_set_vlan_offload(port_id, ETH_VLAN_FILTER_MASK); + if (ret != 0) + return ret; return 0; } @@ -399,11 +418,14 @@ rte_ethtool_get_ringparam(uint16_t port_id, struct rte_eth_rxq_info rx_qinfo; struct rte_eth_txq_info tx_qinfo; int stat; + int ret; if (ring_param == NULL) return -EINVAL; - rte_eth_dev_info_get(port_id, &dev_info); + ret = rte_eth_dev_info_get(port_id, &dev_info); + if (ret != 0) + return ret; stat = rte_eth_rx_queue_info_get(port_id, 0, &rx_qinfo); if (stat != 0)