def restore_interfaces(self): """ Restore Linux interfaces. """ if self.skip_setup: return self.send_expect("modprobe igb", "# ", 20) self.send_expect("modprobe ixgbe", "# ", 20) self.send_expect("modprobe e1000e", "# ", 20) self.send_expect("modprobe e1000", "# ", 20) try: for (pci_bus, pci_id) in self.pci_devices_info: addr_array = pci_bus.split(':') port = GetNicObj(self, addr_array[0], addr_array[1], addr_array[2]) itf = port.get_interface_name() self.enable_ipv6(itf) self.send_expect("ifconfig %s up" % itf, "# ") if port.get_interface2_name(): itf = port.get_interface2_name() self.enable_ipv6(itf) self.send_expect("ifconfig %s up" % itf, "# ") except Exception as e: self.logger.error(" !!! Restore ITF: " + e.message) sleep(2)
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 set_promisc(self): try: for (pci_bus, pci_id) in self.pci_devices_info: addr_array = pci_bus.split(':') port = GetNicObj(self, addr_array[0], addr_array[1], addr_array[2]) itf = port.get_interface_name() self.enable_promisc(itf) if port.get_interface2_name(): itf = port.get_interface2_name() self.enable_promisc(itf) except Exception as e: pass
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 })