From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lf0-f65.google.com (mail-lf0-f65.google.com [209.85.215.65]) by dpdk.org (Postfix) with ESMTP id E822B2B9E for ; Fri, 1 Dec 2017 22:22:14 +0100 (CET) Received: by mail-lf0-f65.google.com with SMTP id j124so13173483lfg.2 for ; Fri, 01 Dec 2017 13:22:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=ZiRCFttsWYVnhWsRXmuvlSnQOPNcQ1bT6rTVYbh7HY0=; b=iWwsltkMI9BBDyZqxy/F55PKxKihG5/pbMfh/w/Chahqy8/jcPid28kaDuAuV/nAIl MtbOjyM2BKQiTOc3mJcfDP86qpDpKi/wzmmK13wGsOQqUYNbO55bgEBlHuDAdbm9E/ks tATBPdfqq4xDva9T4nd46m+gD4gOULxvpk1Kc= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=ZiRCFttsWYVnhWsRXmuvlSnQOPNcQ1bT6rTVYbh7HY0=; b=YoqLJGyND5aTApUjs6J0uqRPmz8LdfhY5L5qX+lq1l07rLuCn4SkKVgx5V2xHsHoAL 8lw59O0NXXM0sxIA6PgmoH4qm6aRbeBwpE3WA0Jwt7f2ElaEPCzB2rBVg7yf9Pt/f1a1 pyHkyoSYTfGZybw9AyI5BpVuPm7PSVB8m6UUnnDhizwRvEZlDKhekAXIPIUWW2fWWvuh Q8go+7wMVF3NLVrUef2x2iVvGuSD+s0+eZmICUduBjQvNvIPrOI60azYveDQyQHKDPnV 3w2UxWqSBJ5JJTuhNvr4MJjN9Tq0LKivWHgkFWi5Et/ABwpE6KCDrOsdiXVnt+rwzKTx Hfdg== X-Gm-Message-State: AJaThX7JRjzM0NLQG0Ty84CSal7HvGmYcjQk6UTE2+2dso6TiQPinb/a BuR6h+ZbsmlyKMTG1znsR3wxD7MrN3Q= X-Google-Smtp-Source: AGs4zMYEz6yZ2H/m9pq2z6yPbY8Ka+axRilwui1F9fo7TZxn3UEs4jt6S6bsbNSVZhaKal1qVWfNzA== X-Received: by 10.25.42.201 with SMTP id q70mr4988232lfq.24.1512163334400; Fri, 01 Dec 2017 13:22:14 -0800 (PST) Received: from rad-H81M-S1.semihalf.local (31-172-191-173.noc.fibertech.net.pl. [31.172.191.173]) by smtp.gmail.com with ESMTPSA id w62sm1478571lje.59.2017.12.01.13.22.13 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 01 Dec 2017 13:22:13 -0800 (PST) From: Radoslaw Biernacki To: dts@dpdk.org, yong.liu@intel.com, aczubak@caviumnetworks.com Cc: herbert.guan@linaro.org, Radoslaw Biernacki Date: Fri, 1 Dec 2017 22:20:52 +0100 Message-Id: <1512163254-31552-3-git-send-email-radoslaw.biernacki@linaro.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1512163254-31552-1-git-send-email-radoslaw.biernacki@linaro.org> References: <1512163254-31552-1-git-send-email-radoslaw.biernacki@linaro.org> Subject: [dts] [PATCH 2/4] framework: Fixing unnamed interface detection X-BeenThere: dts@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: test suite reviews and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 01 Dec 2017 21:22:15 -0000 This patch fixes interface name detection broken in one of previous commits. With introduction of mentioned commit, when interface has no name get_interface_name() returns "N/A" instead of "No such file". Fixes: f3e7b094176d ("fix bug that unbound device then run dts will show wrong interface") Signed-off-by: Radoslaw Biernacki --- framework/dut.py | 46 +++++++++++++++++++++++----------------------- framework/tester.py | 5 ++++- 2 files changed, 27 insertions(+), 24 deletions(-) diff --git a/framework/dut.py b/framework/dut.py index 22ff0bb..c83377a 100644 --- a/framework/dut.py +++ b/framework/dut.py @@ -260,25 +260,29 @@ class Dut(Crb): pci_id = port['type'] # get device driver driver = settings.get_nic_driver(pci_id) - if driver is not None: - # unbind device driver - addr_array = pci_bus.split(':') - domain_id = addr_array[0] - bus_id = addr_array[1] - devfun_id = addr_array[2] + if driver is None: + self.logger.info("NOT FOUND DRIVER FOR PORT (%s|%s)!!!" % (pci_bus, pci_id)) + continue + # unbind device driver + 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) + port = GetNicObj(self, domain_id, bus_id, devfun_id) - self.send_expect('echo %s > /sys/bus/pci/devices/%s\:%s\:%s/driver/unbind' - % (pci_bus, domain_id, bus_id, devfun_id), '# ') - # bind to linux kernel driver - self.send_expect('modprobe %s' % driver, '# ') - self.send_expect('echo %s > /sys/bus/pci/drivers/%s/bind' - % (pci_bus, driver), '# ') - itf = port.get_interface_name() - self.send_expect("ifconfig %s up" % itf, "# ") - else: - self.logger.info("NOT FOUND DRIVER FOR PORT (%s|%s)!!!" % (pci_bus, pci_id)) + self.send_expect('echo %s > /sys/bus/pci/devices/%s\:%s\:%s/driver/unbind' + % (pci_bus, domain_id, bus_id, devfun_id), '# ') + # bind to linux kernel driver + self.send_expect('modprobe %s' % driver, '# ') + self.send_expect('echo %s > /sys/bus/pci/drivers/%s/bind' + % (pci_bus, driver), '# ') + itf = port.get_interface_name() + + if "N/A" in itf: + self.logger.warning("Cannot bring up the interface due missing inf name") + continue + self.send_expect("ifconfig %s up" % itf, "# ") def setup_memory(self, hugepages=-1): """ @@ -619,7 +623,7 @@ class Dut(Crb): for port_info in self.ports_info: port = port_info['port'] intf = port.get_interface_name() - if "No such file" in intf: + if "N/A" in intf: self.logger.info("DUT: [%s] %s" % (pci_bus, unknow_interface)) continue self.send_expect("ifconfig %s up" % intf, "# ") @@ -717,15 +721,11 @@ class Dut(Crb): port = GetNicObj(self, domain_id, bus_id, devfun_id) intf = port.get_interface_name() - if "No such file" in intf: + if "N/A" 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( diff --git a/framework/tester.py b/framework/tester.py index 1c854d7..b612cf1 100644 --- a/framework/tester.py +++ b/framework/tester.py @@ -237,6 +237,9 @@ class Tester(Crb): addr_array = pci_bus.split(':') port = GetNicObj(self, addr_array[0], addr_array[1], addr_array[2]) itf = port.get_interface_name() + if "N/A" in itf: + self.logger.warning("Cannot bring up the interface due missing inf name") + continue self.enable_ipv6(itf) self.send_expect("ifconfig %s up" % itf, "# ") if port.get_interface2_name(): @@ -340,7 +343,7 @@ class Tester(Crb): port = GetNicObj(self, domain_id, bus_id, devfun_id) intf = port.get_interface_name() - if "No such file" in intf: + if "N/A" in intf: self.logger.info("Tester: [%s %s] %s" % (pci_bus, pci_id, "unknow_interface")) continue -- 2.7.4