[dts] [PATCH V1 3/4] [next]framework/dut: add check condition for trex port

yufengmx yufengx.mo at intel.com
Mon Jul 29 03:48:40 CEST 2019


 mapping

add check condition for trex port mapping and fix indentation issue.

Signed-off-by: yufengmx <yufengx.mo at intel.com>
---
 framework/dut.py | 59 ++++++++++++++++++++++++++++++--------------------------
 1 file changed, 32 insertions(+), 27 deletions(-)

diff --git a/framework/dut.py b/framework/dut.py
index cc36f72..48a5326 100644
--- a/framework/dut.py
+++ b/framework/dut.py
@@ -937,7 +937,12 @@ class Dut(Crb):
             dutpci = self.ports_info[dutPort]['pci']
             if peer is not None:
                 for remotePort in range(len(self.tester.ports_info)):
-                    if self.tester.ports_info[remotePort]['pci'].lower() == peer.lower():
+                    if self.tester.ports_info[remotePort]['type'].lower() == 'trex':
+                        if self.tester.ports_info[remotePort]['intf'].lower() == peer.lower():
+                            hits[remotePort] = True
+                            self.ports_map[dutPort] = remotePort
+                            break
+                    elif self.tester.ports_info[remotePort]['pci'].lower() == peer.lower():
                         hits[remotePort] = True
                         self.ports_map[dutPort] = remotePort
                         break
@@ -959,34 +964,34 @@ class Dut(Crb):
                 ipv6 = self.get_ipv6_address(dutPort)
                 if ipv6 == "Not connected":
                     if self.tester.ports_info[remotePort].has_key('ipv4'):
-			out = self.tester.send_ping(
-				dutPort, self.tester.ports_info[remotePort]['ipv4'],
-				self.get_mac_address(dutPort))
-		    else:
-                    	continue
-		else:
+                        out = self.tester.send_ping(
+                            dutPort, self.tester.ports_info[remotePort]['ipv4'],
+                            self.get_mac_address(dutPort))
+                    else:
+                        continue
+                else:
                     if getattr(self, 'send_ping6', None):
-                    	out = self.send_ping6(
-                        	dutPort, self.tester.ports_info[remotePort]['ipv6'],
-                        	self.get_mac_address(dutPort))
+                        out = self.send_ping6(
+                            dutPort, self.tester.ports_info[remotePort]['ipv6'],
+                            self.get_mac_address(dutPort))
                     else:
-                    	out = self.tester.send_ping6(
-				remotePort, ipv6, self.get_mac_address(dutPort))
-
-                if ('64 bytes from' in out):
-                    self.logger.info("PORT MAP: [dut %d: tester %d]" % (dutPort, remotePort))
-                    self.ports_map[dutPort] = remotePort
-                    hits[remotePort] = True
-                    if self.crb['IP'] == self.crb['tester IP']:
-                        # remove dut port act as tester port
-                        remove_port = self.get_port_info(remotepci)
-                        if remove_port is not None:
-                            remove.append(remove_port)
-                        # skip ping from those port already act as dut port
-                        testerPort = self.tester.get_local_index(dutpci)
-                        if testerPort != -1:
-                            hits[testerPort] = True
-                    break
+                        out = self.tester.send_ping6(
+                            remotePort, ipv6, self.get_mac_address(dutPort))
+
+                    if ('64 bytes from' in out):
+                        self.logger.info("PORT MAP: [dut %d: tester %d]" % (dutPort, remotePort))
+                        self.ports_map[dutPort] = remotePort
+                        hits[remotePort] = True
+                        if self.crb['IP'] == self.crb['tester IP']:
+                            # remove dut port act as tester port
+                            remove_port = self.get_port_info(remotepci)
+                            if remove_port is not None:
+                                remove.append(remove_port)
+                            # skip ping from those port already act as dut port
+                            testerPort = self.tester.get_local_index(dutpci)
+                            if testerPort != -1:
+                                hits[testerPort] = True
+                        break
 
         for port in remove:
             self.ports_info.remove(port)
-- 
1.9.3



More information about the dts mailing list