def scan_ports_uncached(self): """ Return tester port pci/mac/interface information. """ self.ports_info = [] for (pci_bus, pci_id) in self.pci_devices_info: # ignore unknown card types if pci_id not in NICS.values(): self.logger.info("Tester: [%s %s] %s" % (pci_bus, pci_id, "unknow_nic")) continue addr_array = pci_bus.split(':') domain_id = addr_array[0] bus_id = addr_array[1] devfun_id = addr_array[2] port = GetNicObj(self, domain_id, bus_id, devfun_id) intf = port.get_interface_name() if "No such file" in intf: self.logger.info("Tester: [%s %s] %s" % (pci_bus, pci_id, "unknow_interface")) continue self.logger.info("Tester: [%s %s] %s" % (pci_bus, pci_id, intf)) macaddr = port.get_mac_addr() ipv6 = port.get_ipv6_addr() ipv4 = port.get_ipv4_addr() # store the port info to port mapping self.ports_info.append({'port': port, 'pci': pci_bus, 'type': pci_id, 'intf': intf, 'mac': macaddr, 'ipv4': ipv4, 'ipv6': ipv6}) # return if port is not connect x3 if not port.get_interface2_name(): continue intf = port.get_interface2_name() self.logger.info("Tester: [%s %s] %s" % (pci_bus, pci_id, intf)) macaddr = port.get_intf2_mac_addr() ipv6 = port.get_ipv6_addr() # store the port info to port mapping self.ports_info.append({'port': port, 'pci': pci_bus, 'type': pci_id, 'intf': intf, 'mac': macaddr, 'ipv6': ipv6})
def scan_ports_uncached_linux(self): """ Scan Linux ports and collect port's pci id, mac adress, ipv6 address. """ self.ports_info = [] skipped = RED('Skipped: Unknown/not selected') unknow_interface = RED('Skipped: unknow_interface') for (pci_bus, pci_id) in self.pci_devices_info: if self.check_ports_available(pci_bus, pci_id) is False: self.logger.info("DUT: [%s %s] %s" % (pci_bus, pci_id, skipped)) continue addr_array = pci_bus.split(':') domain_id = addr_array[0] bus_id = addr_array[1] devfun_id = addr_array[2] port = GetNicObj(self, domain_id, bus_id, devfun_id) intf = port.get_interface_name() if "No such file" in intf: self.logger.info("DUT: [%s] %s" % (pci_bus, unknow_interface)) continue macaddr = port.get_mac_addr() if "No such file" in intf: self.logger.info("DUT: [%s] %s" % (pci_bus, unknow_interface)) continue numa = port.socket # store the port info to port mapping self.ports_info.append({ 'port': port, 'pci': pci_bus, 'type': pci_id, 'numa': numa, 'intf': intf, 'mac': macaddr }) if not port.get_interface2_name(): continue intf = port.get_interface2_name() macaddr = port.get_intf2_mac_addr() numa = port.socket # store the port info to port mapping self.ports_info.append({ 'port': port, 'pci': pci_bus, 'type': pci_id, 'numa': numa, 'intf': intf, 'mac': macaddr })
def scan_ports_uncached_freebsd(self): """ Scan Freebsd ports and collect port's pci id, mac adress, ipv6 address. """ self.ports_info = [] skipped = RED('Skipped: Unknown/not selected') for (pci_bus, pci_id) in self.pci_devices_info: if not settings.accepted_nic(pci_id): self.logger.info("DUT: [%s %s] %s" % (pci_bus, pci_id, skipped)) continue addr_array = pci_bus.split(':') domain_id = addr_array[0] bus_id = addr_array[1] devfun_id = addr_array[2] port = GetNicObj(self, domain_id, bus_id, devfun_id) intf = port.get_interface_name() macaddr = port.get_mac_addr() ipv6 = port.get_ipv6_addr() if ipv6 is None: ipv6 = "Not available" self.logger.warning("NUMA not available on FreeBSD") self.logger.info("DUT: [%s %s] %s %s" % (pci_bus, pci_id, intf, ipv6)) # convert bsd format to linux format pci_split = pci_bus.split(':') pci_bus_id = hex(int(pci_split[0]))[2:] if len(pci_split[1]) == 1: pci_dev_str = "0" + pci_split[1] else: pci_dev_str = pci_split[1] pci_str = "%s:%s.%s" % (pci_bus_id, pci_dev_str, pci_split[2]) # store the port info to port mapping self.ports_info.append({ 'port': port, 'pci': pci_str, 'type': pci_id, 'intf': intf, 'mac': macaddr, 'ipv6': ipv6, 'numa': -1 })
def scan_ports_uncached_linux(self): """ Scan Linux ports and collect port's pci id, mac address, ipv6 address. """ self.ports_info = [] skipped = RED('Skipped: Unknown/not selected') unknow_interface = RED('Skipped: unknow_interface') domain_id = "0000" bus_id = "01" devfun_id = "00.0" port = GetNicObj(self, domain_id, bus_id, devfun_id) port.socket = 0 # set to 0 as numa node in ls2088 is returning -1 self.ports_info = [{ 'intf': 'eth0', 'source': 'dpaa2', 'mac': 'b2:c8:30:9e:a6:0b', 'pci': 'nxp_NA', 'numa': 1, 'peer': '0001:00:00.0', 'type': 'nxp:NA', 'port': port }, { 'intf': 'eth1', 'source': 'dpaa2', 'mac': 'b2:c8:30:9e:a6:0c', 'pci': 'nxp_NA', 'numa': 1, 'peer': '0001:01:00.0', 'type': 'nxp:NA', 'port': port }] for (pci_bus, pci_id) in self.pci_devices_info: if self.check_ports_available(pci_bus, pci_id) is False: self.logger.info("DUT: [%s %s] %s" % (pci_bus, pci_id, skipped)) continue addr_array = pci_bus.split(':') domain_id = addr_array[0] bus_id = addr_array[1] devfun_id = addr_array[2] port = GetNicObj(self, domain_id, bus_id, devfun_id) intf = port.get_interface_name() if "No such file" in intf: self.logger.info("DUT: [%s] %s" % (pci_bus, unknow_interface)) continue macaddr = port.get_mac_addr() if "No such file" in intf: self.logger.info("DUT: [%s] %s" % (pci_bus, unknow_interface)) continue numa = port.socket # store the port info to port mapping self.ports_info.append({ 'port': port, 'pci': pci_bus, 'type': pci_id, 'numa': numa, 'intf': intf, 'mac': macaddr }) if not port.get_interface2_name(): continue intf = port.get_interface2_name() macaddr = port.get_intf2_mac_addr() numa = port.socket # store the port info to port mapping self.ports_info.append({ 'port': port, 'pci': pci_bus, 'type': pci_id, 'numa': numa, 'intf': intf, 'mac': macaddr })