test suite reviews and discussions
 help / color / mirror / Atom feed
* [dts] [PATCH] TestSuite_tso.py: Fix some performance case issues.
@ 2015-10-30  2:49 Ding Heng
  2015-10-30  5:20 ` Liu, Yong
  2015-11-04  5:57 ` Qiu, Michael
  0 siblings, 2 replies; 3+ messages in thread
From: Ding Heng @ 2015-10-30  2:49 UTC (permalink / raw)
  To: dts; +Cc: Ding Heng

Flows will not be the same on 2 IXIA ports in performance test case in order to avoid only one port will receive packet, work around for port can't start up issues when testpmd down.

Signed-off-by: Ding Heng <hengx.ding@intel.com>

diff --git a/conf/crbs.cfg b/conf/crbs.cfg
index 81c5c29..d031fb3 100644
--- a/conf/crbs.cfg
+++ b/conf/crbs.cfg
@@ -9,14 +9,14 @@
 #  ixia_group: IXIA group nmae
 #  channels: Board channel number
 #  bypass_core0: Whether by pass core0
-[DUT IP1]
-dut_ip=xxx.xxx.xxx.xxx
+[10.239.129.182]
+dut_ip=10.239.129.182
 dut_user=root
-dut_passwd=
+dut_passwd= tester
 os=linux
-tester_ip=xxx.xxx.xxx.xxx
-tester_passwd=
-ixia_group=
+tester_ip=10.239.129.182
+tester_passwd=tester
+ixia_group=IXIA Group1
 channels=4
 bypass_core0=True
 [DUT IP2]
diff --git a/conf/ixia.cfg b/conf/ixia.cfg
index 92fd496..4c3b511 100644
--- a/conf/ixia.cfg
+++ b/conf/ixia.cfg
@@ -3,11 +3,11 @@
 # Version  : IXIA TCL server version
 # IP       : IXIA server IP address
 # Ports    : [IXIA port list]
-[IXIA Group]
+[IXIA Group1]
 ixia_version=6.62
-ixia_ip=xxx.xxx.xxx.xxx
+ixia_ip=10.239.128.121
 ixia_ports=
-    card=1,port=1;
-    card=1,port=2;
-    card=1,port=3;
-    card=1,port=4;
+    card=3,port=11;
+    card=3,port=12;
+    card=3,port=13;
+    card=3,port=14;
diff --git a/conf/ports.cfg b/conf/ports.cfg
index 27ebfe0..3b2fa68 100644
--- a/conf/ports.cfg
+++ b/conf/ports.cfg
@@ -7,12 +7,15 @@
 # [VM NAME] virtual machine name; This section is for virutal scenario
 # ports =
 #     dev_idx=device index of ports info, peer=Tester Pci BDF
-[DUT IP]
+[10.239.129.182]
 ports =
-    pci=XX:XX.X,intf=eth0;
-    pci=YY:YY.Y,mac=XX:XX:XX:XX:XX:XX,peer=ZZ:ZZ.Z,numa=0;
-    pci=ZZ:ZZ.Y,peer=IXIA:X.Y
-[VM NAME]
-ports =
-    dev_idx=0,peer=XX:XX.X;
-    dev_idx=1,peer=YY:YY.Y;
+    pci=83:00.0,peer=IXIA:3.11;
+    pci=83:00.1,peer=IXIA:3.12;
+    pci=83:00.2,peer=IXIA:3.13;
+    pci=83:00.3,peer=IXIA:3.14
+#    pci=83:00.0,intf=p6p1;
+#    pci=83:00.1,intf=p6p2;
+#    pci=83:00.2,intf=p6p3;
+#    pci=83:00.3,intf=p6p4
+#    pci=84:00.0,peer=IXIA:2.6;
+#    pci=86:00.0,peer=IXIA:2.9
diff --git a/tests/TestSuite_tso.py b/tests/TestSuite_tso.py
index 392157f..335b574 100644
--- a/tests/TestSuite_tso.py
+++ b/tests/TestSuite_tso.py
@@ -90,7 +90,7 @@ class TestTSO(TestCase):
         self.dut_ports = self.dut.get_ports(self.nic)
 
         # Verify that enough ports are available
-        self.verify(len(self.dut_ports) >= 2, "Insufficient ports for testing")
+        #self.verify(len(self.dut_ports) >= 2, "Insufficient ports for testing")
 
         # Verify that enough threads are available
         self.all_cores_mask = dts.create_mask(self.dut.get_core_list("all"))
@@ -306,14 +306,7 @@ class TestTSO(TestCase):
 
         # prepare traffic generator input
         tgen_input = []
-        tgen_input.append((self.tester.get_local_port(self.dut_ports[0]),
-                           self.tester.get_local_port(self.dut_ports[1]),
-                           "test.pcap"))
-        tgen_input.append((self.tester.get_local_port(self.dut_ports[1]),
-                           self.tester.get_local_port(self.dut_ports[0]),
-                           "test.pcap"))
 
-        mac = self.dut.get_mac_address(self.dut_ports[0])
         # run testpmd for each core config
         for test_cycle in self.test_cycles:
             core_config = test_cycle['cores']
@@ -324,15 +317,16 @@ class TestTSO(TestCase):
             else:
                 queues = 1
 
-            command_line = "./%s/app/testpmd -c %s -n %d %s -- -i --coremask=%s --rxd=512 --txd=512 --burst=32 --rxfreet=64 --mbcache=128 --portmask=%s --txpt=36 --txht=0 --txwt=0 --txfreet=32 --txrst=32 --txqflags=0 " % (self.target, self.all_cores_mask, self.dut.get_memory_channels(), self.blacklist, self.coreMask, self.portMask)
+            command_line = "./%s/app/testpmd -c %s -n %d -- -i --coremask=%s --portmask=%s  " % (self.target, self.all_cores_mask, self.dut.get_memory_channels(), self.coreMask, self.portMask)
+            #command_line = "./%s/app/testpmd -c %s -n %d %s -- -i --coremask=%s --rxd=512 --txd=512 --burst=32 --rxfreet=64 --mbcache=128 --portmask=%s --txpt=36 --txht=0 --txwt=0 --txfreet=32 --txrst=32 --txqflags=0 " % (self.target, self.all_cores_mask, self.dut.get_memory_channels(), self.blacklist, self.coreMask, self.portMask)
 
             info = "Executing PMD using %s\n" % test_cycle['cores']
             self.logger.info(info)
             dts.report(info, annex=True)
             dts.report(command_line + "\n\n", frame=True, annex=True)
 
-            self.dut.send_expect(cmd, "testpmd> ", 120)
-            self.dut.send_expect("set verbose 1", "testpmd> ", 120)
+            self.dut.send_expect(command_line, "testpmd> ", 120)
+            #self.dut.send_expect("set verbose 1", "testpmd> ", 120)
             self.dut.send_expect("csum set ip hw %d" % self.dut_ports[0], "testpmd> ", 120)
             self.dut.send_expect("csum set udp hw %d" % self.dut_ports[0], "testpmd> ", 120)
             self.dut.send_expect("csum set tcp hw %d" % self.dut_ports[0], "testpmd> ", 120)
@@ -354,8 +348,16 @@ class TestTSO(TestCase):
                 # create pcap file
                 self.logger.info("Running with frame size %d " % frame_size)
                 payload_size = frame_size - self.headers_size
-                self.tester.scapy_append('wrpcap("test.pcap", [Ether(dst="%s",src="52:00:00:00:00:01")/IP(src="192.168.1.1",dst="192.168.1.2")/TCP(sport=1021,dport=1021)/("X"*%d)])' % (mac, payload_size))
+		for _port in range(2):
+			mac = self.dut.get_mac_address(self.dut_ports[_port])
+                	self.tester.scapy_append('wrpcap("dst%d.pcap", [Ether(dst="%s",src="52:00:00:00:00:01")/IP(src="192.168.1.1",dst="192.168.1.2")/TCP(sport=1021,dport=1021)/("X"*%d)])' % (_port, mac, payload_size))
                 self.tester.scapy_execute()
+        	tgen_input.append((self.tester.get_local_port(self.dut_ports[0]),
+                           self.tester.get_local_port(self.dut_ports[1]),
+                           "dst0.pcap"))
+        	tgen_input.append((self.tester.get_local_port(self.dut_ports[1]),
+                           self.tester.get_local_port(self.dut_ports[0]),
+                           "dst1.pcap"))
 
                 # run traffic generator
                 _, pps = self.tester.traffic_generator_throughput(tgen_input)
@@ -367,6 +369,10 @@ class TestTSO(TestCase):
             self.dut.send_expect("stop", "testpmd> ")
             self.dut.send_expect("quit", "# ", 30)
             time.sleep(5)
+	    #work around for port unable to up issue.
+            command_line = "./%s/app/testpmd -c %s -n %d -- --coremask=%s --portmask=%s  " % (self.target, self.all_cores_mask, self.dut.get_memory_channels(), self.coreMask, self.portMask)
+	    self.dut.send_expect(command_line, "Press enter to exit", 30)
+	    self.dut.send_expect("^C", "#")
 
         for n in range(len(self.test_cycles)):
             for frame_size in self.frame_sizes:
-- 
1.9.3

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [dts] [PATCH] TestSuite_tso.py: Fix some performance case issues.
  2015-10-30  2:49 [dts] [PATCH] TestSuite_tso.py: Fix some performance case issues Ding Heng
@ 2015-10-30  5:20 ` Liu, Yong
  2015-11-04  5:57 ` Qiu, Michael
  1 sibling, 0 replies; 3+ messages in thread
From: Liu, Yong @ 2015-10-30  5:20 UTC (permalink / raw)
  To: Ding, HengX, dts; +Cc: Ding, HengX

Hi Heng, some comments below.

> -----Original Message-----
> From: dts [mailto:dts-bounces@dpdk.org] On Behalf Of Ding Heng
> Sent: Friday, October 30, 2015 10:50 AM
> To: dts@dpdk.org
> Cc: Ding, HengX
> Subject: [dts] [PATCH] TestSuite_tso.py: Fix some performance case issues.
> 
> Flows will not be the same on 2 IXIA ports in performance test case in
> order to avoid only one port will receive packet, work around for port
> can't start up issues when testpmd down.
> 
> Signed-off-by: Ding Heng <hengx.ding@intel.com>
> 
> diff --git a/conf/crbs.cfg b/conf/crbs.cfg
Please do not send out your own configuration files. It may be a risk to show host ip address and password.

> index 81c5c29..d031fb3 100644
> --- a/conf/crbs.cfg
> +++ b/conf/crbs.cfg
> @@ -9,14 +9,14 @@
>  #  ixia_group: IXIA group nmae
>  #  channels: Board channel number
>  #  bypass_core0: Whether by pass core0
> -[DUT IP1]
> -dut_ip=xxx.xxx.xxx.xxx
> +[10.239.129.182]
> +dut_ip=10.239.129.182
>  dut_user=root
> -dut_passwd=
> +dut_passwd= tester
>  os=linux
> -tester_ip=xxx.xxx.xxx.xxx
> -tester_passwd=
> -ixia_group=
> +tester_ip=10.239.129.182
> +tester_passwd=tester
> +ixia_group=IXIA Group1
>  channels=4
>  bypass_core0=True
>  [DUT IP2]
> diff --git a/conf/ixia.cfg b/conf/ixia.cfg
> index 92fd496..4c3b511 100644
> --- a/conf/ixia.cfg
> +++ b/conf/ixia.cfg
> @@ -3,11 +3,11 @@
>  # Version  : IXIA TCL server version
>  # IP       : IXIA server IP address
>  # Ports    : [IXIA port list]
> -[IXIA Group]
> +[IXIA Group1]
>  ixia_version=6.62
> -ixia_ip=xxx.xxx.xxx.xxx
> +ixia_ip=10.239.128.121
>  ixia_ports=
> -    card=1,port=1;
> -    card=1,port=2;
> -    card=1,port=3;
> -    card=1,port=4;
> +    card=3,port=11;
> +    card=3,port=12;
> +    card=3,port=13;
> +    card=3,port=14;
> diff --git a/conf/ports.cfg b/conf/ports.cfg
> index 27ebfe0..3b2fa68 100644
> --- a/conf/ports.cfg
> +++ b/conf/ports.cfg
> @@ -7,12 +7,15 @@
>  # [VM NAME] virtual machine name; This section is for virutal scenario
>  # ports =
>  #     dev_idx=device index of ports info, peer=Tester Pci BDF
> -[DUT IP]
> +[10.239.129.182]
>  ports =
> -    pci=XX:XX.X,intf=eth0;
> -    pci=YY:YY.Y,mac=XX:XX:XX:XX:XX:XX,peer=ZZ:ZZ.Z,numa=0;
> -    pci=ZZ:ZZ.Y,peer=IXIA:X.Y
> -[VM NAME]
> -ports =
> -    dev_idx=0,peer=XX:XX.X;
> -    dev_idx=1,peer=YY:YY.Y;
> +    pci=83:00.0,peer=IXIA:3.11;
> +    pci=83:00.1,peer=IXIA:3.12;
> +    pci=83:00.2,peer=IXIA:3.13;
> +    pci=83:00.3,peer=IXIA:3.14
> +#    pci=83:00.0,intf=p6p1;
> +#    pci=83:00.1,intf=p6p2;
> +#    pci=83:00.2,intf=p6p3;
> +#    pci=83:00.3,intf=p6p4
> +#    pci=84:00.0,peer=IXIA:2.6;
> +#    pci=86:00.0,peer=IXIA:2.9
> diff --git a/tests/TestSuite_tso.py b/tests/TestSuite_tso.py
> index 392157f..335b574 100644
> --- a/tests/TestSuite_tso.py
> +++ b/tests/TestSuite_tso.py
> @@ -90,7 +90,7 @@ class TestTSO(TestCase):
>          self.dut_ports = self.dut.get_ports(self.nic)
> 
>          # Verify that enough ports are available
> -        self.verify(len(self.dut_ports) >= 2, "Insufficient ports for
> testing")
> +        #self.verify(len(self.dut_ports) >= 2, "Insufficient ports for
> testing")
> 
I think this case required two ports at least, why you comment this line?

>          # Verify that enough threads are available
>          self.all_cores_mask =
> dts.create_mask(self.dut.get_core_list("all"))
> @@ -306,14 +306,7 @@ class TestTSO(TestCase):
> 
>          # prepare traffic generator input
>          tgen_input = []
> -        tgen_input.append((self.tester.get_local_port(self.dut_ports[0]),
> -                           self.tester.get_local_port(self.dut_ports[1]),
> -                           "test.pcap"))
> -        tgen_input.append((self.tester.get_local_port(self.dut_ports[1]),
> -                           self.tester.get_local_port(self.dut_ports[0]),
> -                           "test.pcap"))
> 
> -        mac = self.dut.get_mac_address(self.dut_ports[0])
>          # run testpmd for each core config
>          for test_cycle in self.test_cycles:
>              core_config = test_cycle['cores']
> @@ -324,15 +317,16 @@ class TestTSO(TestCase):
>              else:
>                  queues = 1
> 
> -            command_line = "./%s/app/testpmd -c %s -n %d %s -- -i --
> coremask=%s --rxd=512 --txd=512 --burst=32 --rxfreet=64 --mbcache=128 --
> portmask=%s --txpt=36 --txht=0 --txwt=0 --txfreet=32 --txrst=32 --
> txqflags=0 " % (self.target, self.all_cores_mask,
> self.dut.get_memory_channels(), self.blacklist, self.coreMask,
> self.portMask)
> +            command_line = "./%s/app/testpmd -c %s -n %d -- -i --
> coremask=%s --portmask=%s  " % (self.target, self.all_cores_mask,
> self.dut.get_memory_channels(), self.coreMask, self.portMask)

I remembered that txqflags must be 0 for TSO feature, can you explain that why it not need now? 

> +            #command_line = "./%s/app/testpmd -c %s -n %d %s -- -i --
> coremask=%s --rxd=512 --txd=512 --burst=32 --rxfreet=64 --mbcache=128 --
> portmask=%s --txpt=36 --txht=0 --txwt=0 --txfreet=32 --txrst=32 --
> txqflags=0 " % (self.target, self.all_cores_mask,
> self.dut.get_memory_channels(), self.blacklist, self.coreMask,
> self.portMask)

Please remove useless code.
> 
>              info = "Executing PMD using %s\n" % test_cycle['cores']
>              self.logger.info(info)
>              dts.report(info, annex=True)
>              dts.report(command_line + "\n\n", frame=True, annex=True)
> 
> -            self.dut.send_expect(cmd, "testpmd> ", 120)
> -            self.dut.send_expect("set verbose 1", "testpmd> ", 120)
> +            self.dut.send_expect(command_line, "testpmd> ", 120)
> +            #self.dut.send_expect("set verbose 1", "testpmd> ", 120)
>              self.dut.send_expect("csum set ip hw %d" % self.dut_ports[0],
> "testpmd> ", 120)
>              self.dut.send_expect("csum set udp hw %d" % self.dut_ports[0],
> "testpmd> ", 120)
>              self.dut.send_expect("csum set tcp hw %d" % self.dut_ports[0],
> "testpmd> ", 120)
> @@ -354,8 +348,16 @@ class TestTSO(TestCase):
>                  # create pcap file
>                  self.logger.info("Running with frame size %d " %
> frame_size)
>                  payload_size = frame_size - self.headers_size
> -                self.tester.scapy_append('wrpcap("test.pcap",
> [Ether(dst="%s",src="52:00:00:00:00:01")/IP(src="192.168.1.1",dst="192.168
> .1.2")/TCP(sport=1021,dport=1021)/("X"*%d)])' % (mac, payload_size))
> +		for _port in range(2):
> +			mac = self.dut.get_mac_address(self.dut_ports[_port])
> +                	self.tester.scapy_append('wrpcap("dst%d.pcap",
> [Ether(dst="%s",src="52:00:00:00:00:01")/IP(src="192.168.1.1",dst="192.168
> .1.2")/TCP(sport=1021,dport=1021)/("X"*%d)])' % (_port, mac, payload_size))
>                  self.tester.scapy_execute()
> +
> 	tgen_input.append((self.tester.get_local_port(self.dut_ports[0]),
> +                           self.tester.get_local_port(self.dut_ports[1]),
> +                           "dst0.pcap"))
> +
> 	tgen_input.append((self.tester.get_local_port(self.dut_ports[1]),
> +                           self.tester.get_local_port(self.dut_ports[0]),
> +                           "dst1.pcap"))
> 
You can just use one function in the loop like below.
tgen_input.append((self.tester.get_local_port(self.dut_ports[_port],
                    self.tester.get_local_port(self.dut_ports[1-port]),
                    "dst%d.pcap" %port)) 

>                  # run traffic generator
>                  _, pps =
> self.tester.traffic_generator_throughput(tgen_input)
> @@ -367,6 +369,10 @@ class TestTSO(TestCase):
>              self.dut.send_expect("stop", "testpmd> ")
>              self.dut.send_expect("quit", "# ", 30)
>              time.sleep(5)
> +	    #work around for port unable to up issue.
> +            command_line = "./%s/app/testpmd -c %s -n %d -- --coremask=%s
> --portmask=%s  " % (self.target, self.all_cores_mask,
> self.dut.get_memory_channels(), self.coreMask, self.portMask)
> +	    self.dut.send_expect(command_line, "Press enter to exit", 30)
> +	    self.dut.send_expect("^C", "#")
> 
This is not good for work around for existing issue. We could submit a bug for this issue. 

>          for n in range(len(self.test_cycles)):
>              for frame_size in self.frame_sizes:
> --
> 1.9.3

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [dts] [PATCH] TestSuite_tso.py: Fix some performance case issues.
  2015-10-30  2:49 [dts] [PATCH] TestSuite_tso.py: Fix some performance case issues Ding Heng
  2015-10-30  5:20 ` Liu, Yong
@ 2015-11-04  5:57 ` Qiu, Michael
  1 sibling, 0 replies; 3+ messages in thread
From: Qiu, Michael @ 2015-11-04  5:57 UTC (permalink / raw)
  To: Ding, HengX, dts

Hi, Heng

Good to see your patch to DTS.

Some comment below:

1. Reformat your commit log, make it to several lines.

2. Only add the file you need to change into the patch, the cfg file
should not be include.

Thanks,
Michael

On 2015/10/30 10:50, Ding Heng wrote:
> Flows will not be the same on 2 IXIA ports in performance test case in order to avoid only one port will receive packet, work around for port can't start up issues when testpmd down.
>
> Signed-off-by: Ding Heng <hengx.ding@intel.com>
>
> diff --git a/conf/crbs.cfg b/conf/crbs.cfg
> index 81c5c29..d031fb3 100644
> --- a/conf/crbs.cfg
> +++ b/conf/crbs.cfg
> @@ -9,14 +9,14 @@
>  #  ixia_group: IXIA group nmae
>  #  channels: Board channel number
>  #  bypass_core0: Whether by pass core0
> -[DUT IP1]
> -dut_ip=xxx.xxx.xxx.xxx
> +[10.239.129.182]
> +dut_ip=10.239.129.182
>  dut_user=root
> -dut_passwd=
> +dut_passwd= tester
>  os=linux
> -tester_ip=xxx.xxx.xxx.xxx
> -tester_passwd=
> -ixia_group=
> +tester_ip=10.239.129.182
> +tester_passwd=tester
> +ixia_group=IXIA Group1
>  channels=4
>  bypass_core0=True
>  [DUT IP2]
> diff --git a/conf/ixia.cfg b/conf/ixia.cfg
> index 92fd496..4c3b511 100644
> --- a/conf/ixia.cfg
> +++ b/conf/ixia.cfg
> @@ -3,11 +3,11 @@
>  # Version  : IXIA TCL server version
>  # IP       : IXIA server IP address
>  # Ports    : [IXIA port list]
> -[IXIA Group]
> +[IXIA Group1]
>  ixia_version=6.62
> -ixia_ip=xxx.xxx.xxx.xxx
> +ixia_ip=10.239.128.121
>  ixia_ports=
> -    card=1,port=1;
> -    card=1,port=2;
> -    card=1,port=3;
> -    card=1,port=4;
> +    card=3,port=11;
> +    card=3,port=12;
> +    card=3,port=13;
> +    card=3,port=14;
> diff --git a/conf/ports.cfg b/conf/ports.cfg
> index 27ebfe0..3b2fa68 100644
> --- a/conf/ports.cfg
> +++ b/conf/ports.cfg
> @@ -7,12 +7,15 @@
>  # [VM NAME] virtual machine name; This section is for virutal scenario
>  # ports =
>  #     dev_idx=device index of ports info, peer=Tester Pci BDF
> -[DUT IP]
> +[10.239.129.182]
>  ports =
> -    pci=XX:XX.X,intf=eth0;
> -    pci=YY:YY.Y,mac=XX:XX:XX:XX:XX:XX,peer=ZZ:ZZ.Z,numa=0;
> -    pci=ZZ:ZZ.Y,peer=IXIA:X.Y
> -[VM NAME]
> -ports =
> -    dev_idx=0,peer=XX:XX.X;
> -    dev_idx=1,peer=YY:YY.Y;
> +    pci=83:00.0,peer=IXIA:3.11;
> +    pci=83:00.1,peer=IXIA:3.12;
> +    pci=83:00.2,peer=IXIA:3.13;
> +    pci=83:00.3,peer=IXIA:3.14
> +#    pci=83:00.0,intf=p6p1;
> +#    pci=83:00.1,intf=p6p2;
> +#    pci=83:00.2,intf=p6p3;
> +#    pci=83:00.3,intf=p6p4
> +#    pci=84:00.0,peer=IXIA:2.6;
> +#    pci=86:00.0,peer=IXIA:2.9
> diff --git a/tests/TestSuite_tso.py b/tests/TestSuite_tso.py
> index 392157f..335b574 100644
> --- a/tests/TestSuite_tso.py
> +++ b/tests/TestSuite_tso.py
> @@ -90,7 +90,7 @@ class TestTSO(TestCase):
>          self.dut_ports = self.dut.get_ports(self.nic)
>  
>          # Verify that enough ports are available
> -        self.verify(len(self.dut_ports) >= 2, "Insufficient ports for testing")
> +        #self.verify(len(self.dut_ports) >= 2, "Insufficient ports for testing")
>  
>          # Verify that enough threads are available
>          self.all_cores_mask = dts.create_mask(self.dut.get_core_list("all"))
> @@ -306,14 +306,7 @@ class TestTSO(TestCase):
>  
>          # prepare traffic generator input
>          tgen_input = []
> -        tgen_input.append((self.tester.get_local_port(self.dut_ports[0]),
> -                           self.tester.get_local_port(self.dut_ports[1]),
> -                           "test.pcap"))
> -        tgen_input.append((self.tester.get_local_port(self.dut_ports[1]),
> -                           self.tester.get_local_port(self.dut_ports[0]),
> -                           "test.pcap"))
>  
> -        mac = self.dut.get_mac_address(self.dut_ports[0])
>          # run testpmd for each core config
>          for test_cycle in self.test_cycles:
>              core_config = test_cycle['cores']
> @@ -324,15 +317,16 @@ class TestTSO(TestCase):
>              else:
>                  queues = 1
>  
> -            command_line = "./%s/app/testpmd -c %s -n %d %s -- -i --coremask=%s --rxd=512 --txd=512 --burst=32 --rxfreet=64 --mbcache=128 --portmask=%s --txpt=36 --txht=0 --txwt=0 --txfreet=32 --txrst=32 --txqflags=0 " % (self.target, self.all_cores_mask, self.dut.get_memory_channels(), self.blacklist, self.coreMask, self.portMask)
> +            command_line = "./%s/app/testpmd -c %s -n %d -- -i --coremask=%s --portmask=%s  " % (self.target, self.all_cores_mask, self.dut.get_memory_channels(), self.coreMask, self.portMask)
> +            #command_line = "./%s/app/testpmd -c %s -n %d %s -- -i --coremask=%s --rxd=512 --txd=512 --burst=32 --rxfreet=64 --mbcache=128 --portmask=%s --txpt=36 --txht=0 --txwt=0 --txfreet=32 --txrst=32 --txqflags=0 " % (self.target, self.all_cores_mask, self.dut.get_memory_channels(), self.blacklist, self.coreMask, self.portMask)
>  
>              info = "Executing PMD using %s\n" % test_cycle['cores']
>              self.logger.info(info)
>              dts.report(info, annex=True)
>              dts.report(command_line + "\n\n", frame=True, annex=True)
>  
> -            self.dut.send_expect(cmd, "testpmd> ", 120)
> -            self.dut.send_expect("set verbose 1", "testpmd> ", 120)
> +            self.dut.send_expect(command_line, "testpmd> ", 120)
> +            #self.dut.send_expect("set verbose 1", "testpmd> ", 120)
>              self.dut.send_expect("csum set ip hw %d" % self.dut_ports[0], "testpmd> ", 120)
>              self.dut.send_expect("csum set udp hw %d" % self.dut_ports[0], "testpmd> ", 120)
>              self.dut.send_expect("csum set tcp hw %d" % self.dut_ports[0], "testpmd> ", 120)
> @@ -354,8 +348,16 @@ class TestTSO(TestCase):
>                  # create pcap file
>                  self.logger.info("Running with frame size %d " % frame_size)
>                  payload_size = frame_size - self.headers_size
> -                self.tester.scapy_append('wrpcap("test.pcap", [Ether(dst="%s",src="52:00:00:00:00:01")/IP(src="192.168.1.1",dst="192.168.1.2")/TCP(sport=1021,dport=1021)/("X"*%d)])' % (mac, payload_size))
> +		for _port in range(2):
> +			mac = self.dut.get_mac_address(self.dut_ports[_port])
> +                	self.tester.scapy_append('wrpcap("dst%d.pcap", [Ether(dst="%s",src="52:00:00:00:00:01")/IP(src="192.168.1.1",dst="192.168.1.2")/TCP(sport=1021,dport=1021)/("X"*%d)])' % (_port, mac, payload_size))
>                  self.tester.scapy_execute()
> +        	tgen_input.append((self.tester.get_local_port(self.dut_ports[0]),
> +                           self.tester.get_local_port(self.dut_ports[1]),
> +                           "dst0.pcap"))
> +        	tgen_input.append((self.tester.get_local_port(self.dut_ports[1]),
> +                           self.tester.get_local_port(self.dut_ports[0]),
> +                           "dst1.pcap"))
>  
>                  # run traffic generator
>                  _, pps = self.tester.traffic_generator_throughput(tgen_input)
> @@ -367,6 +369,10 @@ class TestTSO(TestCase):
>              self.dut.send_expect("stop", "testpmd> ")
>              self.dut.send_expect("quit", "# ", 30)
>              time.sleep(5)
> +	    #work around for port unable to up issue.
> +            command_line = "./%s/app/testpmd -c %s -n %d -- --coremask=%s --portmask=%s  " % (self.target, self.all_cores_mask, self.dut.get_memory_channels(), self.coreMask, self.portMask)
> +	    self.dut.send_expect(command_line, "Press enter to exit", 30)
> +	    self.dut.send_expect("^C", "#")
>  
>          for n in range(len(self.test_cycles)):
>              for frame_size in self.frame_sizes:


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-11-04  5:57 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-10-30  2:49 [dts] [PATCH] TestSuite_tso.py: Fix some performance case issues Ding Heng
2015-10-30  5:20 ` Liu, Yong
2015-11-04  5:57 ` Qiu, Michael

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).