test suite reviews and discussions
 help / color / mirror / Atom feed
* [dts] [PATCH] TestSuite_eventdev_pipeline_perf.py: Adding Eventdev_pipeline feature performance Testscript
@ 2019-05-31  7:31 thaq
  2019-05-31 11:28 ` [dts] [PATCH v2] " thaq
  2019-06-10 12:25 ` [dts] [PATCH v3] " thaq
  0 siblings, 2 replies; 4+ messages in thread
From: thaq @ 2019-05-31  7:31 UTC (permalink / raw)
  To: dts; +Cc: fmasood, avijay, jerinj, Thanseerulhaq

From: Thanseerulhaq <thaq@marvell.com>

Adding performance testscripts for 1/2/4 NIC ports for eventdev_pipeline features atomic, parallel, order stages.
Adding eventdev_perf testcase supports for Marvell cards in test_case_supportlist.json file.

Signed-off-by: Thanseerulhaq <thaq@marvell.com>
---
 conf/test_case_supportlist.json           | 135 +++++
 tests/TestSuite_eventdev_pipeline_perf.py | 839 ++++++++++++++++++++++++++++++
 2 files changed, 974 insertions(+)
 create mode 100644 tests/TestSuite_eventdev_pipeline_perf.py

diff --git a/conf/test_case_supportlist.json b/conf/test_case_supportlist.json
index 1886cb0..7db258e 100644
--- a/conf/test_case_supportlist.json
+++ b/conf/test_case_supportlist.json
@@ -1223,5 +1223,140 @@
             "Bug ID": "",
             "Comments": "This case currently support for cavium_a063 "
         }
+    ],
+    "perf_eventdev_pipeline_1ports_atomic_performance": [
+        {
+            "OS": [
+                "ALL"
+            ],
+            "NIC": [
+                "cavium_a063"
+            ],
+            "Target": [
+                "ALL"
+            ],
+            "Bug ID": "",
+            "Comments": "This case currently support for cavium_a063 "
+        }
+    ],
+    "perf_eventdev_pipeline_1ports_parallel_performance": [
+        {
+            "OS": [
+                "ALL"
+            ],
+            "NIC": [
+                "cavium_a063"
+            ],
+            "Target": [
+                "ALL"
+            ],
+            "Bug ID": "",
+            "Comments": "This case currently support for cavium_a063 "
+        }
+    ],    
+    "perf_eventdev_pipeline_1ports_order_performance": [
+        {
+            "OS": [
+                "ALL"
+            ],
+            "NIC": [
+                "cavium_a063"
+            ],
+            "Target": [
+                "ALL"
+            ],
+            "Bug ID": "",
+            "Comments": "This case currently support for cavium_a063 "
+        }
+    ],    
+    "perf_eventdev_pipeline_2ports_atomic_performance": [
+        {
+            "OS": [
+                "ALL"
+            ],
+            "NIC": [
+                "cavium_a063"
+            ],
+            "Target": [
+                "ALL"
+            ],
+            "Bug ID": "",
+            "Comments": "This case currently support for cavium_a063 "
+        }
+    ],
+    "perf_eventdev_pipeline_2ports_parallel_performance": [
+        {
+            "OS": [
+                "ALL"
+            ],
+            "NIC": [
+                "cavium_a063"
+            ],
+            "Target": [
+                "ALL"
+            ],
+            "Bug ID": "",
+            "Comments": "This case currently support for cavium_a063 "
+        }
+    ],    
+    "perf_eventdev_pipeline_2ports_order_performance": [
+        {
+            "OS": [
+                "ALL"
+            ],
+            "NIC": [
+                "cavium_a063"
+            ],
+            "Target": [
+                "ALL"
+            ],
+            "Bug ID": "",
+            "Comments": "This case currently support for cavium_a063 "
+        }
+    ],
+    "perf_eventdev_pipeline_4ports_atomic_performance": [
+        {
+            "OS": [
+                "ALL"
+            ],
+            "NIC": [
+                "cavium_a063"
+            ],
+            "Target": [
+                "ALL"
+            ],
+            "Bug ID": "",
+            "Comments": "This case currently support for cavium_a063 "
+        }
+    ],
+    "perf_eventdev_pipeline_4ports_parallel_performance": [
+        {
+            "OS": [
+                "ALL"
+            ],
+            "NIC": [
+                "cavium_a063"
+            ],
+            "Target": [
+                "ALL"
+            ],
+            "Bug ID": "",
+            "Comments": "This case currently support for cavium_a063 "
+        }
+    ],    
+    "perf_eventdev_pipeline_4ports_order_performance": [
+        {
+            "OS": [
+                "ALL"
+            ],
+            "NIC": [
+                "cavium_a063"
+            ],
+            "Target": [
+                "ALL"
+            ],
+            "Bug ID": "",
+            "Comments": "This case currently support for cavium_a063 "
+        }
     ]
 }
diff --git a/tests/TestSuite_eventdev_pipeline_perf.py b/tests/TestSuite_eventdev_pipeline_perf.py
new file mode 100644
index 0000000..ac99eb1
--- /dev/null
+++ b/tests/TestSuite_eventdev_pipeline_perf.py
@@ -0,0 +1,839 @@
+# BSD LICENSE
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright (C) 2019 Marvell International Ltd.
+
+"""
+DPDK Test suite.
+Test userland 10Gb/25Gb/40Gb/100Gb
+"""
+
+import utils
+import re
+import time
+import os
+
+from test_case import TestCase
+from time import sleep
+from settings import HEADER_SIZE
+from pmd_output import PmdOutput
+from etgen import IxiaPacketGenerator
+
+from settings import FOLDERS
+from system_info import SystemInfo
+import perf_report
+from datetime import datetime
+
+class TestEventdevPipelinePerf(TestCase,IxiaPacketGenerator):
+
+    def set_up_all(self):
+        """
+        Run at the start of each test suite.
+
+        PMD prerequisites.
+        """
+        self.tester.extend_external_packet_generator(TestEventdevPipelinePerf, self)
+
+        self.frame_sizes = [64, 128, 256, 512, 1024, 1518]
+
+        self.rxfreet_values = [0, 8, 16, 32, 64, 128]
+
+        self.test_cycles = [
+                        {'cores': '1S/2C/1T', 'Mpps': {}, 'pct': {}},
+                        {'cores': '1S/3C/1T', 'Mpps': {}, 'pct': {}},
+                        {'cores': '1S/5C/1T', 'Mpps': {}, 'pct': {}},
+                        {'cores': '1S/9C/1T', 'Mpps': {}, 'pct': {}},
+                        {'cores': '1S/17C/1T', 'Mpps': {}, 'pct': {}},
+                        ]
+        self.get_cores_from_last = True
+        self.table_header = ['Frame Size']
+        for test_cycle in self.test_cycles:
+            m = re.search(r"(\d+S/)(\d+)(C/\d+T)",test_cycle['cores'])
+            cores = m.group(1) + str(int(m.group(2))-1) + m.group(3)
+            self.table_header.append("%s Mpps" % cores)
+            self.table_header.append("% linerate")
+
+        self.perf_results = {'header': [], 'data': []}
+
+        self.blacklist = ""
+
+        # Based on h/w type, choose how many ports to use
+        self.dut_ports = self.dut.get_ports()
+        if self.dut.get_os_type() == 'linux':
+            # Get dut system information
+            port_num = self.dut_ports[0]
+            pci_device_id = self.dut.ports_info[port_num]['pci']
+            ori_driver = self.dut.ports_info[port_num]['port'].get_nic_driver()
+            self.dut.ports_info[port_num]['port'].bind_driver()
+
+            self.dut.ports_info[port_num]['port'].bind_driver(ori_driver)
+
+        if self.nic == "cavium_a063":
+            self.eventdev_device_bus_id = "0002:0e:00.0"
+            self.eventdev_device_id = "a0f9" 
+
+        #### Bind evendev device ####
+            self.dut.bind_eventdev_port(port_to_bind=self.eventdev_device_bus_id)
+
+        #### Configuring evendev SS0 & SSOw limits ####
+            self.dut.set_eventdev_port_limits(self.eventdev_device_id, self.eventdev_device_bus_id)
+
+        self.headers_size = HEADER_SIZE['eth'] + HEADER_SIZE[
+            'ip'] + HEADER_SIZE['tcp']
+
+        self.ports_socket = self.dut.get_numa_id(self.dut_ports[0])
+
+        self.pmdout = PmdOutput(self.dut)
+
+    def set_up(self):
+        """
+        Run before each test case.
+        """
+        pass
+
+    def eventdev_cmd(self, stlist, nports, wmask):
+
+        self.Port_pci_ids = []
+        command_line1 = "dpdk-eventdev_pipeline -c %s -w %s"
+        for i in range(0, nports):
+            self.Port_pci_ids.append(self.dut.ports_info[i]['pci'])            
+            ## Adding core-list and pci-ids
+            command_line1 = command_line1 + " -w %s "
+        ## Adding test and stage types 
+        command_line2 = "-- -w %s -n=0 --dump %s -m 16384" % (wmask , stlist )
+        return command_line1 + command_line2          
+
+    def test_perf_eventdev_pipeline_1ports_atomic_performance(self):
+        """
+        Evendev_Pipeline Performance Benchmarking with 1 ports.
+        """
+        self.verify(len(self.dut_ports) >= 1, "Insufficient ports for 1 ports performance test")
+        self.perf_results['header'] = []
+        self.perf_results['data'] = []
+
+        all_cores_mask = utils.create_mask(self.dut.get_core_list("all"))
+
+        # 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[0]),
+                           "event_test.pcap"))
+
+        # run testpmd for each core config
+        for test_cycle in self.test_cycles:
+            core_config = test_cycle['cores']
+            
+            core_list = self.dut.get_core_list(core_config,
+                                               socket=self.ports_socket, from_last = self.get_cores_from_last)
+            core_mask = utils.create_mask(core_list)
+            core_list.remove(core_list[0])
+            worker_core_mask = utils.create_mask(core_list)
+
+            command_line = self.eventdev_cmd("", 1, worker_core_mask)
+            command_line = command_line %(core_mask, self.eventdev_device_bus_id, self.Port_pci_ids[0])
+            self.dut.send_expect(command_line,"eventdev port 0", 100)
+
+            info = "Executing Eventdev_pipeline using %s\n" % test_cycle['cores']
+            self.logger.info(info)
+            self.rst_report(info, annex=True)
+            self.rst_report(command_line + "\n\n", frame=True, annex=True)
+ 
+            for frame_size in self.frame_sizes:
+                wirespeed = self.wirespeed(self.nic, frame_size, 1)
+
+                # 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("event_test.pcap", [Ether(src="52:00:00:00:00:00")/IP(src="1.2.3.4",dst="1.1.1.1")/TCP()/("X"*%d)])' % (payload_size))
+                self.tester.scapy_execute()
+
+                # run traffic generator
+                _, pps = self.tester.traffic_generator_throughput(tgen_input, rate_percent=100, delay=60)
+                pps /= 1000000.0
+                pct = pps * 100 / wirespeed
+                test_cycle['Mpps'][frame_size] = float('%.3f' % pps)
+                test_cycle['pct'][frame_size] = float('%.3f' % pct)
+
+            self.dut.send_expect("^C", "# ", 5)
+            sleep(5)
+
+        for n in range(len(self.test_cycles)):
+            for frame_size in self.frame_sizes:
+                self.verify(self.test_cycles[n]['Mpps'][
+                            frame_size] > 0, "No traffic detected")
+
+        # Print results
+        self.result_table_create(self.table_header)
+        self.perf_results['header'] = self.table_header
+        for frame_size in self.frame_sizes:
+            table_row = [frame_size]
+            for test_cycle in self.test_cycles:
+                table_row.append(test_cycle['Mpps'][frame_size])
+                table_row.append(test_cycle['pct'][frame_size])
+
+            self.result_table_add(table_row)
+            self.perf_results['data'].append(table_row)
+
+        self.result_table_print()
+
+    def test_perf_eventdev_pipeline_1ports_parallel_performance(self):
+        """
+        Evendev_Pipeline Performance Benchmarking with 1 ports.
+        """
+        self.verify(len(self.dut_ports) >= 1, "Insufficient ports for 1 ports performance test")
+        self.perf_results['header'] = []
+        self.perf_results['data'] = []
+
+        all_cores_mask = utils.create_mask(self.dut.get_core_list("all"))
+
+        # 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[0]),
+                           "event_test.pcap"))
+
+        # run testpmd for each core config
+        for test_cycle in self.test_cycles:
+            core_config = test_cycle['cores']
+            
+            core_list = self.dut.get_core_list(core_config,
+                                               socket=self.ports_socket, from_last = self.get_cores_from_last)
+            core_mask = utils.create_mask(core_list)
+            core_list.remove(core_list[0])
+            worker_core_mask = utils.create_mask(core_list)
+
+            command_line = self.eventdev_cmd("-p", 1, worker_core_mask)
+            command_line = command_line %(core_mask, self.eventdev_device_bus_id, self.Port_pci_ids[0])
+            self.dut.send_expect(command_line,"eventdev port 0", 100)
+
+            info = "Executing Eventdev_pipeline using %s\n" % test_cycle['cores']
+            self.logger.info(info)
+            self.rst_report(info, annex=True)
+            self.rst_report(command_line + "\n\n", frame=True, annex=True)
+ 
+            for frame_size in self.frame_sizes:
+                wirespeed = self.wirespeed(self.nic, frame_size, 1)
+
+                # 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("event_test.pcap", [Ether(src="52:00:00:00:00:00")/IP(src="1.2.3.4",dst="1.1.1.1")/TCP()/("X"*%d)])' % (payload_size))
+                self.tester.scapy_execute()
+
+                # run traffic generator
+                _, pps = self.tester.traffic_generator_throughput(tgen_input, rate_percent=100, delay=60)
+                pps /= 1000000.0
+                pct = pps * 100 / wirespeed
+                test_cycle['Mpps'][frame_size] = float('%.3f' % pps)
+                test_cycle['pct'][frame_size] = float('%.3f' % pct)
+
+            self.dut.send_expect("^C", "# ", 5)
+            sleep(5)
+
+        for n in range(len(self.test_cycles)):
+            for frame_size in self.frame_sizes:
+                self.verify(self.test_cycles[n]['Mpps'][
+                            frame_size] > 0, "No traffic detected")
+
+        # Print results
+        self.result_table_create(self.table_header)
+        self.perf_results['header'] = self.table_header
+        for frame_size in self.frame_sizes:
+            table_row = [frame_size]
+            for test_cycle in self.test_cycles:
+                table_row.append(test_cycle['Mpps'][frame_size])
+                table_row.append(test_cycle['pct'][frame_size])
+
+            self.result_table_add(table_row)
+            self.perf_results['data'].append(table_row)
+
+        self.result_table_print()
+
+    def test_perf_eventdev_pipeline_1ports_order_performance(self):
+        """
+        Evendev_Pipeline Performance Benchmarking with 1 ports.
+        """
+        self.verify(len(self.dut_ports) >= 1, "Insufficient ports for 1 ports performance test")
+        self.perf_results['header'] = []
+        self.perf_results['data'] = []
+
+        all_cores_mask = utils.create_mask(self.dut.get_core_list("all"))
+
+        # 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[0]),
+                           "event_test.pcap"))
+
+        # run testpmd for each core config
+        for test_cycle in self.test_cycles:
+            core_config = test_cycle['cores']
+            
+            core_list = self.dut.get_core_list(core_config,
+                                               socket=self.ports_socket, from_last = self.get_cores_from_last)
+            core_mask = utils.create_mask(core_list)
+            core_list.remove(core_list[0])
+            worker_core_mask = utils.create_mask(core_list)
+
+            command_line = self.eventdev_cmd("-o", 1, worker_core_mask)
+            command_line = command_line %(core_mask, self.eventdev_device_bus_id, self.Port_pci_ids[0])
+            self.dut.send_expect(command_line,"eventdev port 0", 100)
+
+            info = "Executing Eventdev_pipeline using %s\n" % test_cycle['cores']
+            self.logger.info(info)
+            self.rst_report(info, annex=True)
+            self.rst_report(command_line + "\n\n", frame=True, annex=True)
+ 
+            for frame_size in self.frame_sizes:
+                wirespeed = self.wirespeed(self.nic, frame_size, 1)
+
+                # 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("event_test.pcap", [Ether(src="52:00:00:00:00:00")/IP(src="1.2.3.4",dst="1.1.1.1")/TCP()/("X"*%d)])' % (payload_size))
+
+                # run traffic generator
+                _, pps = self.tester.traffic_generator_throughput(tgen_input, rate_percent=100, delay=60)
+                pps /= 1000000.0
+                pct = pps * 100 / wirespeed
+                test_cycle['Mpps'][frame_size] = float('%.3f' % pps)
+                test_cycle['pct'][frame_size] = float('%.3f' % pct)
+
+            self.dut.send_expect("^C", "# ", 5)
+            sleep(5)
+
+        for n in range(len(self.test_cycles)):
+            for frame_size in self.frame_sizes:
+                self.verify(self.test_cycles[n]['Mpps'][
+                            frame_size] > 0, "No traffic detected")
+
+        # Print results
+        self.result_table_create(self.table_header)
+        self.perf_results['header'] = self.table_header
+        for frame_size in self.frame_sizes:
+            table_row = [frame_size]
+            for test_cycle in self.test_cycles:
+                table_row.append(test_cycle['Mpps'][frame_size])
+                table_row.append(test_cycle['pct'][frame_size])
+
+            self.result_table_add(table_row)
+            self.perf_results['data'].append(table_row)
+
+        self.result_table_print()
+
+    def test_perf_eventdev_pipeline_2ports_atomic_performance(self):
+        """
+        Evendev_Pipeline Performance Benchmarking with 2 ports.
+        """
+        self.verify(len(self.dut_ports) >= 2, "Insufficient ports for 2 ports performance test")
+        self.perf_results['header'] = []
+        self.perf_results['data'] = []
+
+        all_cores_mask = utils.create_mask(self.dut.get_core_list("all"))
+
+        # 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]),
+                           "event_test.pcap"))
+        tgen_input.append((self.tester.get_local_port(self.dut_ports[1]),
+                           self.tester.get_local_port(self.dut_ports[0]),
+                           "event_test.pcap"))
+
+        # run testpmd for each core config
+        for test_cycle in self.test_cycles:
+            core_config = test_cycle['cores']
+            
+            core_list = self.dut.get_core_list(core_config,
+                                               socket=self.ports_socket, from_last = self.get_cores_from_last)
+            core_mask = utils.create_mask(core_list)
+            core_list.remove(core_list[0])
+            worker_core_mask = utils.create_mask(core_list)
+
+            command_line = self.eventdev_cmd("", 2, worker_core_mask )
+            command_line = command_line %(core_mask, self.eventdev_device_bus_id, self.Port_pci_ids[0], self.Port_pci_ids[1])
+            self.dut.send_expect(command_line,"eventdev port 0", 100)
+
+            info = "Executing Eventdev_pipeline using %s\n" % test_cycle['cores']
+            self.logger.info(info)
+            self.rst_report(info, annex=True)
+            self.rst_report(command_line + "\n\n", frame=True, annex=True)
+ 
+            for frame_size in self.frame_sizes:
+                wirespeed = self.wirespeed(self.nic, frame_size, 2)
+
+                # 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("event_test.pcap", [Ether(src="52:00:00:00:00:00")/IP(src="1.2.3.4",dst="1.1.1.1")/TCP()/("X"*%d)])' % (payload_size))
+                self.tester.scapy_execute()
+
+                # run traffic generator
+                _, pps = self.tester.traffic_generator_throughput(tgen_input, rate_percent=100, delay=60)
+                pps /= 1000000.0
+                pct = pps * 100 / wirespeed
+                test_cycle['Mpps'][frame_size] = float('%.3f' % pps)
+                test_cycle['pct'][frame_size] = float('%.3f' % pct)
+
+            self.dut.send_expect("^C", "# ", 5)
+            sleep(5)
+
+        for n in range(len(self.test_cycles)):
+            for frame_size in self.frame_sizes:
+                self.verify(self.test_cycles[n]['Mpps'][
+                            frame_size] > 0, "No traffic detected")
+
+        # Print results
+        self.result_table_create(self.table_header)
+        self.perf_results['header'] = self.table_header
+        for frame_size in self.frame_sizes:
+            table_row = [frame_size]
+            for test_cycle in self.test_cycles:
+                table_row.append(test_cycle['Mpps'][frame_size])
+                table_row.append(test_cycle['pct'][frame_size])
+
+            self.result_table_add(table_row)
+            self.perf_results['data'].append(table_row)
+
+        self.result_table_print()
+    
+    def test_perf_eventdev_pipeline_2ports_parallel_performance(self):
+        """
+        Evendev_Pipeline parallel schedule type Performance Benchmarking with 2 ports.
+        """
+        self.verify(len(self.dut_ports) >= 2, "Insufficient ports for 2 ports performance test")
+        self.perf_results['header'] = []
+        self.perf_results['data'] = []
+
+        all_cores_mask = utils.create_mask(self.dut.get_core_list("all"))
+
+        # 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]),
+                           "event_test.pcap"))
+        tgen_input.append((self.tester.get_local_port(self.dut_ports[1]),
+                           self.tester.get_local_port(self.dut_ports[0]),
+                           "event_test.pcap"))
+
+        # run testpmd for each core config
+        for test_cycle in self.test_cycles:
+            core_config = test_cycle['cores']
+            
+            core_list = self.dut.get_core_list(core_config,
+                                               socket=self.ports_socket, from_last = self.get_cores_from_last)
+            core_mask = utils.create_mask(core_list)
+            core_list.remove(core_list[0])
+            worker_core_mask = utils.create_mask(core_list)
+
+            command_line = self.eventdev_cmd("-p", 2, worker_core_mask)
+            command_line = command_line %(core_mask, self.eventdev_device_bus_id, self.Port_pci_ids[0], self.Port_pci_ids[1])
+            self.dut.send_expect(command_line,"eventdev port 0", 100)
+
+            info = "Executing Eventdev_pipeline using %s\n" % test_cycle['cores']
+            self.logger.info(info)
+            self.rst_report(info, annex=True)
+            self.rst_report(command_line + "\n\n", frame=True, annex=True)
+ 
+            for frame_size in self.frame_sizes:
+                wirespeed = self.wirespeed(self.nic, frame_size, 2)
+
+                # 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("event_test.pcap", [Ether(src="52:00:00:00:00:00")/IP(src="1.2.3.4",dst="1.1.1.1")/TCP()/("X"*%d)])' % (payload_size))
+                self.tester.scapy_execute()
+
+                # run traffic generator
+                _, pps = self.tester.traffic_generator_throughput(tgen_input, rate_percent=100, delay=60)
+                pps /= 1000000.0
+                pct = pps * 100 / wirespeed
+                test_cycle['Mpps'][frame_size] = float('%.3f' % pps)
+                test_cycle['pct'][frame_size] = float('%.3f' % pct)
+
+            self.dut.send_expect("^C", "# ", 5)
+            sleep(5)
+
+        for n in range(len(self.test_cycles)):
+            for frame_size in self.frame_sizes:
+                self.verify(self.test_cycles[n]['Mpps'][
+                            frame_size] > 0, "No traffic detected")
+
+        # Print results
+        self.result_table_create(self.table_header)
+        self.perf_results['header'] = self.table_header
+        for frame_size in self.frame_sizes:
+            table_row = [frame_size]
+            for test_cycle in self.test_cycles:
+                table_row.append(test_cycle['Mpps'][frame_size])
+                table_row.append(test_cycle['pct'][frame_size])
+
+            self.result_table_add(table_row)
+            self.perf_results['data'].append(table_row)
+
+        self.result_table_print()
+   
+    def test_perf_eventdev_pipeline_2ports_order_performance(self):
+        """
+        Evendev_Pipeline Order schedule type Performance Benchmarking with 2 ports.
+        """
+        self.verify(len(self.dut_ports) >= 2, "Insufficient ports for 2 ports performance test")
+        self.perf_results['header'] = []
+        self.perf_results['data'] = []
+
+        all_cores_mask = utils.create_mask(self.dut.get_core_list("all"))
+
+        # 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]),
+                           "event_test.pcap"))
+        tgen_input.append((self.tester.get_local_port(self.dut_ports[1]),
+                           self.tester.get_local_port(self.dut_ports[0]),
+                           "event_test.pcap"))
+
+        # run testpmd for each core config
+        for test_cycle in self.test_cycles:
+            core_config = test_cycle['cores']
+            
+            core_list = self.dut.get_core_list(core_config,
+                                               socket=self.ports_socket, from_last = self.get_cores_from_last)
+            core_mask = utils.create_mask(core_list)
+            core_list.remove(core_list[0])
+            worker_core_mask = utils.create_mask(core_list)
+
+            command_line = self.eventdev_cmd("-o", 2, worker_core_mask)
+            command_line = command_line %(core_mask, self.eventdev_device_bus_id, self.Port_pci_ids[0], self.Port_pci_ids[1])
+            self.dut.send_expect(command_line,"eventdev port 0", 100)
+
+            info = "Executing Eventdev_pipeline using %s\n" % test_cycle['cores']
+            self.logger.info(info)
+            self.rst_report(info, annex=True)
+            self.rst_report(command_line + "\n\n", frame=True, annex=True)
+ 
+            for frame_size in self.frame_sizes:
+                wirespeed = self.wirespeed(self.nic, frame_size, 2)
+
+                # 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("event_test.pcap", [Ether(src="52:00:00:00:00:00")/IP(src="1.2.3.4",dst="1.1.1.1")/TCP()/("X"*%d)])' % (payload_size))
+                self.tester.scapy_execute()
+
+                # run traffic generator
+                _, pps = self.tester.traffic_generator_throughput(tgen_input, rate_percent=100, delay=60)
+                pps /= 1000000.0
+                pct = pps * 100 / wirespeed
+                test_cycle['Mpps'][frame_size] = float('%.3f' % pps)
+                test_cycle['pct'][frame_size] = float('%.3f' % pct)
+
+            self.dut.send_expect("^C", "# ", 5)
+            sleep(5)
+
+        for n in range(len(self.test_cycles)):
+            for frame_size in self.frame_sizes:
+                self.verify(self.test_cycles[n]['Mpps'][
+                            frame_size] > 0, "No traffic detected")
+
+        # Print results
+        self.result_table_create(self.table_header)
+        self.perf_results['header'] = self.table_header
+        for frame_size in self.frame_sizes:
+            table_row = [frame_size]
+            for test_cycle in self.test_cycles:
+                table_row.append(test_cycle['Mpps'][frame_size])
+                table_row.append(test_cycle['pct'][frame_size])
+
+            self.result_table_add(table_row)
+            self.perf_results['data'].append(table_row)
+
+        self.result_table_print()
+   
+    def test_perf_eventdev_pipeline_4ports_atomic_performance(self):
+        """
+        Evendev_Pipeline Performance Benchmarking with 4 ports.
+        """
+        self.verify(len(self.dut_ports) >= 4, "Insufficient ports for 4 ports performance test")
+        self.perf_results['header'] = []
+        self.perf_results['data'] = []
+ 
+        all_cores_mask = utils.create_mask(self.dut.get_core_list("all"))
+ 
+        # 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]),
+                           "event_test.pcap"))
+        tgen_input.append((self.tester.get_local_port(self.dut_ports[2]),
+                           self.tester.get_local_port(self.dut_ports[3]),
+                           "event_test.pcap"))
+        tgen_input.append((self.tester.get_local_port(self.dut_ports[1]),
+                           self.tester.get_local_port(self.dut_ports[0]),
+                           "event_test.pcap"))
+        tgen_input.append((self.tester.get_local_port(self.dut_ports[3]),
+                           self.tester.get_local_port(self.dut_ports[2]),
+                           "event_test.pcap"))
+ 
+        # run testpmd for each core config
+        for test_cycle in self.test_cycles:
+            core_config = test_cycle['cores']
+            
+            core_list = self.dut.get_core_list(core_config,
+                                               socket=self.ports_socket, from_last = self.get_cores_from_last)
+            core_mask = utils.create_mask(core_list)
+            core_list.remove(core_list[0])
+            worker_core_mask = utils.create_mask(core_list)
+
+            command_line = self.eventdev_cmd("", 4, worker_core_mask)
+            command_line = command_line %(core_mask, self.eventdev_device_bus_id, self.Port_pci_ids[0], self.Port_pci_ids[1], self.Port_pci_ids[2], self.Port_pci_ids[3]) 
+            self.dut.send_expect(command_line,"eventdev port 0", 100)
+ 
+            info = "Executing Eventdev_pipeline using %s\n" % test_cycle['cores']
+            self.logger.info(info)
+            self.rst_report(info, annex=True)
+            self.rst_report(command_line + "\n\n", frame=True, annex=True)
+ 
+            for frame_size in self.frame_sizes:
+                wirespeed = self.wirespeed(self.nic, frame_size, 4)
+ 
+                # 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("event_test.pcap", [Ether(src="52:00:00:00:00:00")/IP(src="1.2.3.4",dst="1.1.1.1")/TCP()/("X"*%d)])' % (payload_size))
+                self.tester.scapy_execute()
+ 
+                # run traffic generator
+                _, pps = self.tester.traffic_generator_throughput(tgen_input, rate_percent=100, delay=60)
+                pps /= 1000000.0
+                pct = pps * 100 / wirespeed
+                test_cycle['Mpps'][frame_size] = float('%.3f' % pps)
+                test_cycle['pct'][frame_size] = float('%.3f' % pct)
+ 
+            self.dut.send_expect("^C", "# ", 5)
+            sleep(5)
+ 
+        for n in range(len(self.test_cycles)):
+            for frame_size in self.frame_sizes:
+                self.verify(self.test_cycles[n]['Mpps'][
+                            frame_size] > 0, "No traffic detected")
+ 
+        # Print results
+        self.result_table_create(self.table_header)
+        self.perf_results['header'] = self.table_header
+        for frame_size in self.frame_sizes:
+            table_row = [frame_size]
+            for test_cycle in self.test_cycles:
+                table_row.append(test_cycle['Mpps'][frame_size])
+                table_row.append(test_cycle['pct'][frame_size])
+ 
+            self.result_table_add(table_row)
+            self.perf_results['data'].append(table_row)
+ 
+        self.result_table_print()
+
+    def test_perf_eventdev_pipeline_4ports_parallel_performance(self):
+        """
+        Evendev_Pipeline parallel schedule type Performance Benchmarking with 4 ports.
+        """
+        self.verify(len(self.dut_ports) >= 4, "Insufficient ports for 4 ports performance test")
+        self.perf_results['header'] = []
+        self.perf_results['data'] = []
+ 
+        all_cores_mask = utils.create_mask(self.dut.get_core_list("all"))
+ 
+        # 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]),
+                           "event_test.pcap"))
+        tgen_input.append((self.tester.get_local_port(self.dut_ports[2]),
+                           self.tester.get_local_port(self.dut_ports[3]),
+                           "event_test.pcap"))
+        tgen_input.append((self.tester.get_local_port(self.dut_ports[1]),
+                           self.tester.get_local_port(self.dut_ports[0]),
+                           "event_test.pcap"))
+        tgen_input.append((self.tester.get_local_port(self.dut_ports[3]),
+                           self.tester.get_local_port(self.dut_ports[2]),
+                           "event_test.pcap"))
+ 
+        # run testpmd for each core config
+        for test_cycle in self.test_cycles:
+            core_config = test_cycle['cores']
+            
+            core_list = self.dut.get_core_list(core_config,
+                                               socket=self.ports_socket, from_last = self.get_cores_from_last)
+            core_mask = utils.create_mask(core_list)
+            core_list.remove(core_list[0])
+            worker_core_mask = utils.create_mask(core_list)
+
+            command_line = self.eventdev_cmd("-p", 4, worker_core_mask)
+            command_line = command_line %(core_mask, self.eventdev_device_bus_id, self.Port_pci_ids[0], self.Port_pci_ids[1], self.Port_pci_ids[2], self.Port_pci_ids[3]) 
+            self.dut.send_expect(command_line,"eventdev port 0", 100)
+
+            info = "Executing Eventdev_pipeline using %s\n" % test_cycle['cores']
+            self.logger.info(info)
+            self.rst_report(info, annex=True)
+            self.rst_report(command_line + "\n\n", frame=True, annex=True)
+ 
+            for frame_size in self.frame_sizes:
+                wirespeed = self.wirespeed(self.nic, frame_size, 4)
+ 
+                # 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("event_test.pcap", [Ether(src="52:00:00:00:00:00")/IP(src="1.2.3.4",dst="1.1.1.1")/TCP()/("X"*%d)])' % (payload_size))
+                self.tester.scapy_execute()
+ 
+                # run traffic generator
+                _, pps = self.tester.traffic_generator_throughput(tgen_input, rate_percent=100, delay=60)
+                pps /= 1000000.0
+                pct = pps * 100 / wirespeed
+                test_cycle['Mpps'][frame_size] = float('%.3f' % pps)
+                test_cycle['pct'][frame_size] = float('%.3f' % pct)
+ 
+            self.dut.send_expect("^C", "# ", 5)
+            sleep(5)
+ 
+        for n in range(len(self.test_cycles)):
+            for frame_size in self.frame_sizes:
+                self.verify(self.test_cycles[n]['Mpps'][
+                            frame_size] > 0, "No traffic detected")
+ 
+        # Print results
+        self.result_table_create(self.table_header)
+        self.perf_results['header'] = self.table_header
+        for frame_size in self.frame_sizes:
+            table_row = [frame_size]
+            for test_cycle in self.test_cycles:
+                table_row.append(test_cycle['Mpps'][frame_size])
+                table_row.append(test_cycle['pct'][frame_size])
+ 
+            self.result_table_add(table_row)
+            self.perf_results['data'].append(table_row)
+ 
+        self.result_table_print()
+
+    def test_perf_eventdev_pipeline_4ports_order_performance(self):
+        """
+        Evendev_Pipeline Order schedule type Performance Benchmarking with 4 ports.
+        """
+        self.verify(len(self.dut_ports) >= 4, "Insufficient ports for 4 ports performance test")
+        self.perf_results['header'] = []
+        self.perf_results['data'] = []
+ 
+        all_cores_mask = utils.create_mask(self.dut.get_core_list("all"))
+ 
+        # 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]),
+                           "event_test.pcap"))
+        tgen_input.append((self.tester.get_local_port(self.dut_ports[2]),
+                           self.tester.get_local_port(self.dut_ports[3]),
+                           "event_test.pcap"))
+        tgen_input.append((self.tester.get_local_port(self.dut_ports[1]),
+                           self.tester.get_local_port(self.dut_ports[0]),
+                           "event_test.pcap"))
+        tgen_input.append((self.tester.get_local_port(self.dut_ports[3]),
+                           self.tester.get_local_port(self.dut_ports[2]),
+                           "event_test.pcap"))
+ 
+        # run testpmd for each core config
+        for test_cycle in self.test_cycles:
+            core_config = test_cycle['cores']
+            
+            core_list = self.dut.get_core_list(core_config,
+                                               socket=self.ports_socket, from_last = self.get_cores_from_last)
+            core_mask = utils.create_mask(core_list)
+            core_list.remove(core_list[0])
+            worker_core_mask = utils.create_mask(core_list)
+
+            command_line = self.eventdev_cmd("-o", 4, worker_core_mask)
+            command_line = command_line %(core_mask, self.eventdev_device_bus_id, self.Port_pci_ids[0], self.Port_pci_ids[1], self.Port_pci_ids[2], self.Port_pci_ids[3]) 
+            self.dut.send_expect(command_line,"eventdev port 0", 100)
+
+            info = "Executing Eventdev_pipeline using %s\n" % test_cycle['cores']
+            self.logger.info(info)
+            self.rst_report(info, annex=True)
+            self.rst_report(command_line + "\n\n", frame=True, annex=True)
+ 
+            for frame_size in self.frame_sizes:
+                wirespeed = self.wirespeed(self.nic, frame_size, 4)
+ 
+                # 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("event_test.pcap", [Ether(src="52:00:00:00:00:00")/IP(src="1.2.3.4",dst="1.1.1.1")/TCP()/("X"*%d)])' % (payload_size))
+                self.tester.scapy_execute()
+ 
+                # run traffic generator
+                _, pps = self.tester.traffic_generator_throughput(tgen_input, rate_percent=100, delay=60)
+                pps /= 1000000.0
+                pct = pps * 100 / wirespeed
+                test_cycle['Mpps'][frame_size] = float('%.3f' % pps)
+                test_cycle['pct'][frame_size] = float('%.3f' % pct)
+ 
+            self.dut.send_expect("^C", "# ", 5)
+            sleep(5)
+ 
+        for n in range(len(self.test_cycles)):
+            for frame_size in self.frame_sizes:
+                self.verify(self.test_cycles[n]['Mpps'][
+                            frame_size] > 0, "No traffic detected")
+ 
+        # Print results
+        self.result_table_create(self.table_header)
+        self.perf_results['header'] = self.table_header
+        for frame_size in self.frame_sizes:
+            table_row = [frame_size]
+            for test_cycle in self.test_cycles:
+                table_row.append(test_cycle['Mpps'][frame_size])
+                table_row.append(test_cycle['pct'][frame_size])
+ 
+            self.result_table_add(table_row)
+            self.perf_results['data'].append(table_row)
+ 
+        self.result_table_print()
+
+    def ip(self, port, frag, src, proto, tos, dst, chksum, len, options, version, flags, ihl, ttl, id):
+        self.add_tcl_cmd("protocol config -name ip")
+        self.add_tcl_cmd('ip config -sourceIpAddr "%s"' % src)
+        if self.nic !=  "cavium_a063":
+            self.add_tcl_cmd("ip config -sourceIpAddrMode ipRandom")
+        else:
+            self.add_tcl_cmd("ip config -sourceIpAddrMode ipIncrHost")
+            self.add_tcl_cmd("ip config -sourceIpAddrRepeatCount 100")
+        self.add_tcl_cmd('ip config -destIpAddr "%s"' % dst)
+        if self.nic ==  "cavium_a063":
+            self.add_tcl_cmd("ip config -destIpAddrMode ipIdle")
+        else:
+            self.add_tcl_cmd("ip config -destIpAddrMode ipIdle")
+        self.add_tcl_cmd("ip config -ttl %d" % ttl)
+        self.add_tcl_cmd("ip config -totalLength %d" % len)
+        self.add_tcl_cmd("ip config -fragment %d" % frag)
+        self.add_tcl_cmd("ip config -ipProtocol ipV4ProtocolReserved255")
+        self.add_tcl_cmd("ip config -identifier %d" % id)
+        self.add_tcl_cmd("stream config -framesize %d" % (len + 18))
+        self.add_tcl_cmd("ip set %d %d %d" % (self.chasId, port['card'], port['port']))
+
+    
+    def tear_down(self):
+        """
+        Run after each test case.
+        """
+        self.dut.send_expect("^C", "# ", 5)
+        self.dut.unbind_eventdev_port(port_to_unbind=self.eventdev_device_bus_id)
+
+    def tear_down_all(self):
+        """
+        Run after each test suite.
+        """
+        self.dut.kill_all()
-- 
1.8.3.1


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

* [dts] [PATCH v2] TestSuite_eventdev_pipeline_perf.py: Adding Eventdev_pipeline feature performance Testscript
  2019-05-31  7:31 [dts] [PATCH] TestSuite_eventdev_pipeline_perf.py: Adding Eventdev_pipeline feature performance Testscript thaq
@ 2019-05-31 11:28 ` thaq
  2019-06-10 12:25 ` [dts] [PATCH v3] " thaq
  1 sibling, 0 replies; 4+ messages in thread
From: thaq @ 2019-05-31 11:28 UTC (permalink / raw)
  To: dts; +Cc: fmasood, avijay, jerinj, Thanseerulhaq

From: Thanseerulhaq <thaq@marvell.com>

Adding performance testscripts for 1/2/4 NIC ports for eventdev_pipeline features atomic, parallel, order stages.
Adding eventdev_perf testcase supports for Marvell cards in test_case_supportlist.json file.

Signed-off-by: Thanseerulhaq <thaq@marvell.com>
---
 tests/TestSuite_eventdev_pipeline_perf.py | 12 +++---------
 1 file changed, 3 insertions(+), 9 deletions(-)

diff --git a/tests/TestSuite_eventdev_pipeline_perf.py b/tests/TestSuite_eventdev_pipeline_perf.py
index ac99eb1..1c23859 100644
--- a/tests/TestSuite_eventdev_pipeline_perf.py
+++ b/tests/TestSuite_eventdev_pipeline_perf.py
@@ -806,16 +806,10 @@ class TestEventdevPipelinePerf(TestCase,IxiaPacketGenerator):
     def ip(self, port, frag, src, proto, tos, dst, chksum, len, options, version, flags, ihl, ttl, id):
         self.add_tcl_cmd("protocol config -name ip")
         self.add_tcl_cmd('ip config -sourceIpAddr "%s"' % src)
-        if self.nic !=  "cavium_a063":
-            self.add_tcl_cmd("ip config -sourceIpAddrMode ipRandom")
-        else:
-            self.add_tcl_cmd("ip config -sourceIpAddrMode ipIncrHost")
-            self.add_tcl_cmd("ip config -sourceIpAddrRepeatCount 100")
+        self.add_tcl_cmd("ip config -sourceIpAddrMode ipIncrHost")
+        self.add_tcl_cmd("ip config -sourceIpAddrRepeatCount 100")
         self.add_tcl_cmd('ip config -destIpAddr "%s"' % dst)
-        if self.nic ==  "cavium_a063":
-            self.add_tcl_cmd("ip config -destIpAddrMode ipIdle")
-        else:
-            self.add_tcl_cmd("ip config -destIpAddrMode ipIdle")
+        self.add_tcl_cmd("ip config -destIpAddrMode ipIdle")
         self.add_tcl_cmd("ip config -ttl %d" % ttl)
         self.add_tcl_cmd("ip config -totalLength %d" % len)
         self.add_tcl_cmd("ip config -fragment %d" % frag)
-- 
1.8.3.1


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

* [dts] [PATCH v3] Adding Eventdev_pipeline feature performance Testscript
  2019-05-31  7:31 [dts] [PATCH] TestSuite_eventdev_pipeline_perf.py: Adding Eventdev_pipeline feature performance Testscript thaq
  2019-05-31 11:28 ` [dts] [PATCH v2] " thaq
@ 2019-06-10 12:25 ` thaq
  2019-06-12  3:13   ` Tu, Lijuan
  1 sibling, 1 reply; 4+ messages in thread
From: thaq @ 2019-06-10 12:25 UTC (permalink / raw)
  To: dts; +Cc: fmasood, avijay, jerinj, Thanseerulhaq

From: Thanseerulhaq <thaq@marvell.com>

TestSuite_eventdev_pipeline_perf.py: Adding performance testscripts for 1/2/4 NIC ports for eventdev_pipeline features atomic, parallel, order stages.

Signed-off-by: Thanseerulhaq <thaq@marvell.com>
---
 tests/TestSuite_eventdev_pipeline_perf.py | 1 +
 1 file changed, 1 insertion(+)

diff --git a/tests/TestSuite_eventdev_pipeline_perf.py b/tests/TestSuite_eventdev_pipeline_perf.py
index 1c23859..54c8381 100644
--- a/tests/TestSuite_eventdev_pipeline_perf.py
+++ b/tests/TestSuite_eventdev_pipeline_perf.py
@@ -293,6 +293,7 @@ class TestEventdevPipelinePerf(TestCase,IxiaPacketGenerator):
                 payload_size = frame_size - self.headers_size
                 self.tester.scapy_append(
                     'wrpcap("event_test.pcap", [Ether(src="52:00:00:00:00:00")/IP(src="1.2.3.4",dst="1.1.1.1")/TCP()/("X"*%d)])' % (payload_size))
+                self.tester.scapy_execute()
 
                 # run traffic generator
                 _, pps = self.tester.traffic_generator_throughput(tgen_input, rate_percent=100, delay=60)
-- 
1.8.3.1


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

* Re: [dts] [PATCH v3] Adding Eventdev_pipeline feature performance Testscript
  2019-06-10 12:25 ` [dts] [PATCH v3] " thaq
@ 2019-06-12  3:13   ` Tu, Lijuan
  0 siblings, 0 replies; 4+ messages in thread
From: Tu, Lijuan @ 2019-06-12  3:13 UTC (permalink / raw)
  To: thaq, dts; +Cc: fmasood, avijay, jerinj

Just to clarify DTS work mode:
1, I will apply test plan firstly, then apply test script. Test script will be considered until teat plan merged.
2, I will deal with patch weekly, usually on Wednesday  at PRC time.
3, If the patch are not applied, and you want to change something, you could sent V2, V3, if you patch based on your own patch which not applied, will cause failure.

According to above, so this patch can't be merged because of applying failure.

Thanks
Lijuan

> -----Original Message-----
> From: dts [mailto:dts-bounces@dpdk.org] On Behalf Of thaq@marvell.com
> Sent: Monday, June 10, 2019 8:25 PM
> To: dts@dpdk.org
> Cc: fmasood@marvell.com; avijay@marvell.com; jerinj@marvell.com;
> Thanseerulhaq <thaq@marvell.com>
> Subject: [dts] [PATCH v3] Adding Eventdev_pipeline feature performance
> Testscript
> 
> From: Thanseerulhaq <thaq@marvell.com>
> 
> TestSuite_eventdev_pipeline_perf.py: Adding performance testscripts for
> 1/2/4 NIC ports for eventdev_pipeline features atomic, parallel, order stages.
> 
> Signed-off-by: Thanseerulhaq <thaq@marvell.com>
> ---
>  tests/TestSuite_eventdev_pipeline_perf.py | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/tests/TestSuite_eventdev_pipeline_perf.py
> b/tests/TestSuite_eventdev_pipeline_perf.py
> index 1c23859..54c8381 100644
> --- a/tests/TestSuite_eventdev_pipeline_perf.py
> +++ b/tests/TestSuite_eventdev_pipeline_perf.py
> @@ -293,6 +293,7 @@ class
> TestEventdevPipelinePerf(TestCase,IxiaPacketGenerator):
>                  payload_size = frame_size - self.headers_size
>                  self.tester.scapy_append(
>                      'wrpcap("event_test.pcap",
> [Ether(src="52:00:00:00:00:00")/IP(src="1.2.3.4",dst="1.1.1.1")/TCP()/("X"*%d)]
> )' % (payload_size))
> +                self.tester.scapy_execute()
> 
>                  # run traffic generator
>                  _, pps = self.tester.traffic_generator_throughput(tgen_input,
> rate_percent=100, delay=60)
> --
> 1.8.3.1


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

end of thread, other threads:[~2019-06-12  3:14 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-05-31  7:31 [dts] [PATCH] TestSuite_eventdev_pipeline_perf.py: Adding Eventdev_pipeline feature performance Testscript thaq
2019-05-31 11:28 ` [dts] [PATCH v2] " thaq
2019-06-10 12:25 ` [dts] [PATCH v3] " thaq
2019-06-12  3:13   ` Tu, Lijuan

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).