def _add_speed_device_info(net_caps): """Collect and include device speed information in the report.""" timeout = 2 for devname, devattr in six.viewitems(net_caps['nics']): timeout -= _wait_for_link_up(devname, timeout) devattr['speed'] = nic.speed(devname) for devname, devattr in six.viewitems(net_caps['bondings']): timeout -= _wait_for_link_up(devname, timeout) devattr['speed'] = bond.speed(devname)
def _getLinkSpeed(dev): if dev.isNIC(): speed = nic.speed(dev.name) elif dev.isBOND(): speed = bond.speed(dev.name) elif dev.isVLAN(): speed = vlan.speed(dev.name) else: speed = 0 return speed
def speed(dev_name): """Return the vlan's underlying device speed.""" dev_speed = 0 interface = iface.iface(dev_name) iface_type = interface.type() if iface_type == iface.Type.NIC: # vlans on a nics expose the speed through sysfs dev_speed = nic.read_speed_using_sysfs(dev_name) elif iface_type == iface.Type.BOND: dev_speed = bond.speed(dev_name) return dev_speed
def speed(dev_name): """Return the vlan's underlying device speed.""" dev_speed = 0 dev_vlan = iface.iface(dev_name) dev_base_name = dev_vlan.properties()['device'] dev_base = iface.iface(dev_base_name) dev_base_type = dev_base.type() if dev_base_type == iface.Type.NIC: dev_speed = nic.speed(dev_name) elif dev_base_type == iface.Type.BOND: dev_speed = bond.speed(dev_base_name) return dev_speed
def _generate_iface_stats(interface): stats = interface.statistics() speed = 0 if interface.type() == iface.Type.NIC: speed = nic.speed(interface.device) elif interface.type() == iface.Type.BOND: speed = bond.speed(interface.device) elif interface.type() == iface.Type.VLAN: speed = vlan.speed(interface.device) stats['speed'] = speed stats['duplex'] = nic.duplex(interface.device) return stats
def report(): stats = {} for iface_properties in iface.list(): i = iface.iface(iface_properties['name']) stats[i.device] = i.statistics() speed = 0 if i.type() == iface.Type.NIC: speed = nic.speed(i.device) elif i.type() == iface.Type.BOND: speed = bond.speed(i.device) elif i.type() == iface.Type.VLAN: speed = vlan.speed(i.device) elif i.type() == iface.Type.DPDK: speed = dpdk.speed(i.device) stats[i.device]['speed'] = speed stats[i.device]['duplex'] = nic.duplex(i.device) return stats