From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id ED590A0C46; Tue, 31 Aug 2021 10:21:47 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E71CF40DDE; Tue, 31 Aug 2021 10:21:47 +0200 (CEST) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mails.dpdk.org (Postfix) with ESMTP id BB6FD40041 for ; Tue, 31 Aug 2021 10:21:46 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10092"; a="216576719" X-IronPort-AV: E=Sophos;i="5.84,365,1620716400"; d="scan'208";a="216576719" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 31 Aug 2021 01:21:46 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.84,365,1620716400"; d="scan'208";a="540921827" Received: from dpdk-moyufen06.sh.intel.com ([10.67.116.208]) by fmsmga002.fm.intel.com with ESMTP; 31 Aug 2021 01:21:44 -0700 From: Yufen Mo To: dts@dpdk.org, lijuan.tu@intel.com, yingyax.han@intel.com, junx.w.zhou@intel.com Cc: Yufen Mo Date: Tue, 31 Aug 2021 16:22:20 +0800 Message-Id: <20210831082220.47375-7-yufengx.mo@intel.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20210831082220.47375-1-yufengx.mo@intel.com> References: <20210831082220.47375-1-yufengx.mo@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: [dts] [PATCH V2 6/6] tests/fdir: move to pktgen from etgen X-BeenThere: dts@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: test suite reviews and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dts-bounces@dpdk.org Sender: "dts" #. remove etgen relevant source code. #. update perf test cases to pktgen. Signed-off-by: Yufen Mo --- tests/TestSuite_fdir.py | 43 ++++++++++++++--------------------------- 1 file changed, 14 insertions(+), 29 deletions(-) diff --git a/tests/TestSuite_fdir.py b/tests/TestSuite_fdir.py index 007db26d..a02255fa 100644 --- a/tests/TestSuite_fdir.py +++ b/tests/TestSuite_fdir.py @@ -42,16 +42,16 @@ from time import sleep from scapy.utils import struct, socket, PcapWriter import utils -from etgen import IxiaPacketGenerator from test_case import TestCase from settings import HEADER_SIZE from pmd_output import PmdOutput +from pktgen import PacketGeneratorHelper import sys import imp -class TestFdir(TestCase, IxiaPacketGenerator): +class TestFdir(TestCase): # # @@ -140,7 +140,6 @@ class TestFdir(TestCase, IxiaPacketGenerator): PMD prerequisites. """ - self.tester.extend_external_packet_generator(TestFdir, self) #self.verify('bsdapp' not in self.path, "FDIR not support freebsd") # this feature support Fortville, Niantic #self.verify(self.nic in ["kawela_2", "niantic", "bartonhills", "82545EM", @@ -208,6 +207,8 @@ class TestFdir(TestCase, IxiaPacketGenerator): for test_cycle in self.test_cycles: self.table_header.append("%s Mpps" % test_cycle['cores']) self.table_header.append("% linerate") + # create an instance to set stream field setting + self.pktgen_helper = PacketGeneratorHelper() def set_up(self): """ @@ -1180,7 +1181,10 @@ class TestFdir(TestCase, IxiaPacketGenerator): dst_ip_temp = self.dst_ip print("*src_ip_temp = " + src_ip_temp + "dst_ip_temp = " + dst_ip_temp) flows.append("Ether(src='52:00:00:00:00:00', dst='00:1B:21:8E:B2:30')/IP(src='%s',dst='%s')/UDP(sport=%d,dport=%d)/Raw(load='%s' + 'X'*(%d - 42 - %d))" % (src_ip_temp, dst_ip_temp, 1021, 1021, self.payload, frame_size, self.flexlength)) - self.scapyCmds.append('wrpcap("/root/test.pcap", [%s])' % string.join(flows, ',')) + self.scapyCmds.append('wrpcap("/root/test1.pcap", [%s])' % ','.join(flows)) + flows = [] + flows.append("Ether(src='52:00:00:00:00:01', dst='00:1B:21:8E:B2:31')/IP(src='%s',dst='%s')/UDP(sport=%d,dport=%d)/Raw(load='%s' + 'X'*(%d - 42 - %d))" % (src_ip_temp, dst_ip_temp, 1021, 1021, self.payload, frame_size, self.flexlength)) + self.scapyCmds.append('wrpcap("/root/test2.pcap", [%s])' % ','.join(flows)) def perf_fdir_performance_2ports(self, test_type, num_rules, num_flows): """ @@ -1191,10 +1195,10 @@ class TestFdir(TestCase, IxiaPacketGenerator): tgen_input.append((self.tester.get_local_port(self.dut_ports[0]), self.tester.get_local_port(self.dut_ports[1]), - "/root/test.pcap")) + "/root/test1.pcap")) tgen_input.append((self.tester.get_local_port(self.dut_ports[1]), self.tester.get_local_port(self.dut_ports[0]), - "/root/test.pcap")) + "/root/test2.pcap")) print("self.ports_socket=%s" % (self.ports_socket)) # run testpmd for each core config @@ -1229,7 +1233,6 @@ class TestFdir(TestCase, IxiaPacketGenerator): out = self.dut.send_expect(command_line, "testpmd> ", 100) print(out) - self.dut.send_expect("set verbose 1", "testpmd>") self.fdir_get_flexbytes() if test_type in ["fdir_noflex", "fdir_2flex", "fdir_16flex"]: @@ -1264,12 +1267,14 @@ class TestFdir(TestCase, IxiaPacketGenerator): """ # run traffic generator - _, pps = self.tester.traffic_generator_throughput(tgen_input) + streams = self.pktgen_helper.prepare_stream_from_tginput(tgen_input, 100, + None, self.tester.pktgen) + _, pps = self.tester.pktgen.measure_throughput(stream_ids=streams) """ _, pps, _ = self.throughputRate(tgen_input) """ - out = self.dut.send_expect("show port stats all", "testpmd> ") + out = self.dut.send_expect("show port stats all", "testpmd> ", timeout=60) print(out) pps /= 1000000.0 @@ -1297,26 +1302,6 @@ class TestFdir(TestCase, IxiaPacketGenerator): self.result_table_print() - def ip(self, port, frag, src, proto, tos, dst, chksum, len, version, flags, ihl, ttl, id, options=None): - """ - Configure IP protocol. - """ - self.add_tcl_cmd("protocol config -name ip") - self.add_tcl_cmd('ip config -sourceIpAddr "%s"' % src) - self.add_tcl_cmd("ip config -sourceIpAddrMode ipIncrHost") - self.add_tcl_cmd("ip config -sourceIpAddrRepeatCount 64") - self.add_tcl_cmd('ip config -destIpAddr "%s"' % dst) - self.add_tcl_cmd("ip config -destIpAddrMode ipIncrHost") - self.add_tcl_cmd("ip config -destIpAddrRepeatCount 64") - 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 %d" % proto) - 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 test_perf_fdir_performance_2ports(self): """ fdir Performance Benchmarking with 2 ports. -- 2.21.0