From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id 50DF15697 for ; Wed, 14 Oct 2015 10:31:18 +0200 (CEST) Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga101.jf.intel.com with ESMTP; 14 Oct 2015 01:31:17 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.17,681,1437462000"; d="scan'208";a="580433534" Received: from fmsmsx105.amr.corp.intel.com ([10.18.124.203]) by FMSMGA003.fm.intel.com with ESMTP; 14 Oct 2015 01:31:18 -0700 Received: from fmsmsx124.amr.corp.intel.com (10.18.125.39) by FMSMSX105.amr.corp.intel.com (10.18.124.203) with Microsoft SMTP Server (TLS) id 14.3.248.2; Wed, 14 Oct 2015 01:31:16 -0700 Received: from shsmsx101.ccr.corp.intel.com (10.239.4.153) by fmsmsx124.amr.corp.intel.com (10.18.125.39) with Microsoft SMTP Server (TLS) id 14.3.248.2; Wed, 14 Oct 2015 01:31:15 -0700 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.204]) by SHSMSX101.ccr.corp.intel.com ([169.254.1.96]) with mapi id 14.03.0248.002; Wed, 14 Oct 2015 16:30:37 +0800 From: "Liu, Yong" To: "Qiu, Michael" , "dts@dpdk.org" Thread-Topic: [dts] [PATCH] TSO: Add RRC support and some bug fix Thread-Index: AQHRBlkbFGd2X2WwL0eeiMkjHffC8Z5qpuzg Date: Wed, 14 Oct 2015 08:30:36 +0000 Message-ID: <86228AFD5BCD8E4EBFD2B90117B5E81E10F2A9FE@SHSMSX103.ccr.corp.intel.com> References: <1444810688-19256-1-git-send-email-michael.qiu@intel.com> In-Reply-To: <1444810688-19256-1-git-send-email-michael.qiu@intel.com> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dts] [PATCH] TSO: Add RRC support and some bug fix 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: Wed, 14 Oct 2015 08:31:19 -0000 Hi Michael, For those case not supported RRC, you can add them into dpdk_test_case_chec= klist.xls just in conf folder. > -----Original Message----- > From: dts [mailto:dts-bounces@dpdk.org] On Behalf Of Michael Qiu > Sent: Wednesday, October 14, 2015 9:18 AM > To: dts@dpdk.org > Subject: [dts] [PATCH] TSO: Add RRC support and some bug fix >=20 > Add RRC support and some bug fix. >=20 > Signed-off-by: Mihcael Qiu > --- > tests/TestSuite_tso.py | 37 +++++++++++++++++++++---------------- > 1 file changed, 21 insertions(+), 16 deletions(-) >=20 > diff --git a/tests/TestSuite_tso.py b/tests/TestSuite_tso.py > index 392157f..c3a13ee 100644 > --- a/tests/TestSuite_tso.py > +++ b/tests/TestSuite_tso.py > @@ -83,7 +83,8 @@ class TestTSO(TestCase): > # this feature support Fortville, Niantic > self.verify(self.nic in ["kawela_2", "niantic", "bartonhills", > "82545EM", > "82540EM", "springfountain", > "fortville_eagle", > - "fortville_spirit", > "fortville_spirit_single"], > + "fortville_spirit", > "fortville_spirit_single", > + "redrockcanyou"], > "NIC Unsupported: " + str(self.nic)) >=20 > # Based on h/w type, choose how many ports to use > @@ -138,7 +139,7 @@ class TestTSO(TestCase): >=20 > for iface in ifaces: > command =3D ('tcpdump -w tcpdump_{0}.pcap -i {0} > 2>tcpdump_{0}.out &').format(iface) > - self.tester.send_expect('rm -f tcpdump_{0}.pcap', > '#').format(iface) > + self.tester.send_expect(('rm -f > tcpdump_{0}.pcap').format(iface), '#') > self.tester.send_expect(command, '#') >=20 > def tcpdump_stop_sniff(self): > @@ -182,7 +183,7 @@ class TestTSO(TestCase): > self.verify(cores is not None, "Insufficient cores for speed > testing") > self.coreMask =3D dts.create_mask(cores) >=20 > - padding =3D self.frame_sizes[0] - self.headers_size > + padding =3D [self.frame_sizes[0] - self.headers_size, > self.frame_sizes[1] - self.headers_size] >=20 > self.tester.send_expect("ethtool -K %s rx off tx off tso off gso > off gro off lro off" % tx_interface, "# ") > self.tester.send_expect("ip l set %s up" % tx_interface, "# ") > @@ -206,6 +207,7 @@ class TestTSO(TestCase): >=20 > self.dut.send_expect("tso set 800 %d" % self.dut_ports[1], > "testpmd> ", 120) > self.dut.send_expect("set fwd csum", "testpmd> ", 120) > + self.dut.send_expect("set promisc all off", "testpmd> ", 120) > self.dut.send_expect("start", "testpmd> ") >=20 > self.tester.scapy_foreground() > @@ -214,31 +216,34 @@ class TestTSO(TestCase): > # IPv4 tcp test >=20 > self.tcpdump_start_sniffing([tx_interface, rx_interface]) > - > self.tester.scapy_append('sendp([Ether(dst=3D"%s",src=3D"52:00:00:00:00:0= 0")/I > P(src=3D"192.168.1.1",dst=3D"192.168.1.2")/TCP(sport=3D1021,dport=3D1021)= /("X"*%s) > ], iface=3D"%s")' % (mac, padding, tx_interface)) > + > self.tester.scapy_append('sendp([Ether(dst=3D"%s",src=3D"52:00:00:00:00:0= 0")/I > P(src=3D"192.168.1.1",dst=3D"192.168.1.2")/TCP(sport=3D1021,dport=3D1021)= /("X"*%s) > ], iface=3D"%s")' % (mac, padding[0], tx_interface)) > out =3D self.tester.scapy_execute() > out =3D self.dut.send_expect("show port stats all", "testpmd> ", > 120) > print out > self.tcpdump_stop_sniff() > rx_stats =3D self.number_of_packets(rx_interface) > - if (rx_stats =3D=3D 2): > - self.verify(1, "Pass") > + self.verify(rx_stats =3D=3D 1, "FAIL") >=20 > # IPv6 tcp test >=20 > self.tcpdump_start_sniffing([tx_interface, rx_interface]) > - self.tester.scapy_append('sendp([Ether(dst=3D"%s", > src=3D"52:00:00:00:00:00")/IPv6(src=3D"FE80:0:0:0:200:1FF:FE00:200", > dst=3D"3555:5555:6666:6666:7777:7777:8888:8888")/TCP(sport=3D1021,dport= =3D1021)/ > ("X"*%s)], iface=3D"%s")' % (mac, padding, tx_interface)) > + self.tester.scapy_append('sendp([Ether(dst=3D"%s", > src=3D"52:00:00:00:00:00")/IPv6(src=3D"FE80:0:0:0:200:1FF:FE00:200", > dst=3D"3555:5555:6666:6666:7777:7777:8888:8888")/TCP(sport=3D1021,dport= =3D1021)/ > ("X"*%s)], iface=3D"%s")' % (mac, padding[1], tx_interface)) > out =3D self.tester.scapy_execute() > out =3D self.dut.send_expect("show port stats all", "testpmd> ", > 120) > print out > self.tcpdump_stop_sniff() > rx_stats =3D self.number_of_packets(rx_interface) > - if (rx_stats =3D=3D 2): > - self.verify(1, "Pass") > + self.verify(rx_stats =3D=3D 2, "FAIL") >=20 > def test_tso_tunneling(self): > """ > TSO IPv4 TCP, IPv6 TCP, VXLan testing > """ > + # RedRockCanyou does not support Tunneling in DPDK yet. > + if self.nic =3D=3D "redrockcanyou": > + print dts.RED("fm10k not support this case\n") > + return > + > tx_interface =3D > self.tester.get_interface(self.tester.get_local_port(self.dut_ports[0])) > rx_interface =3D > self.tester.get_interface(self.tester.get_local_port(self.dut_ports[1])) >=20 > @@ -248,7 +253,7 @@ class TestTSO(TestCase): > self.verify(cores is not None, "Insufficient cores for speed > testing") > self.coreMask =3D dts.create_mask(cores) >=20 > - padding =3D self.frame_sizes[0] - self.headers_size > + padding =3D [self.frame_sizes[0] - self.headers_size, > self.frame_sizes[1] - self.headers_size] >=20 > self.tester.send_expect("ethtool -K %s rx off tx off tso off gso > off gro off lro off" % tx_interface, "# ") > self.tester.send_expect("ip l set %s up" % tx_interface, "# ") > @@ -272,6 +277,7 @@ class TestTSO(TestCase): >=20 > self.dut.send_expect("tso set 800 %d" % self.dut_ports[1], > "testpmd> ", 120) > self.dut.send_expect("set fwd csum", "testpmd> ", 120) > + self.dut.send_expect("set promisc all off", "testpmd> ", 120) > self.dut.send_expect("start", "testpmd> ") >=20 > self.tester.scapy_foreground() > @@ -279,25 +285,23 @@ class TestTSO(TestCase): >=20 > # Vxlan test > self.tcpdump_start_sniffing([tx_interface, rx_interface]) > - > self.tester.scapy_append('sendp([Ether(dst=3D"%s",src=3D"52:00:00:00:00:0= 0")/I > P(src=3D"192.168.1.1",dst=3D"192.168.1.2")/UDP(sport=3D"1021",dport=3D"47= 89")/VXLA > N()/Ether(dst=3D%s,src=3D"52:00:00:00:00:00")/IP(src=3D"192.168.1.1",dst= =3D"192.16 > 8.1.2")/TCP(sport=3D"1021",dport=3D"1021")/("X"*%s)], iface=3D"%s")' % (m= ac, mac, > padding, tx_interface)) > + > self.tester.scapy_append('sendp([Ether(dst=3D"%s",src=3D"52:00:00:00:00:0= 0")/I > P(src=3D"192.168.1.1",dst=3D"192.168.1.2")/UDP(sport=3D"1021",dport=3D"47= 89")/VXLA > N()/Ether(dst=3D%s,src=3D"52:00:00:00:00:00")/IP(src=3D"192.168.1.1",dst= =3D"192.16 > 8.1.2")/TCP(sport=3D"1021",dport=3D"1021")/("X"*%s)], iface=3D"%s")' % (m= ac, mac, > padding[0], tx_interface)) > out =3D self.tester.scapy_execute() > out =3D self.dut.send_expect("show port stats all", "testpmd> ", > 120) > print out > self.tcpdump_stop_sniff() > rx_stats =3D self.number_of_packets(rx_interface) > - if (rx_stats =3D=3D 2): > - self.verify(1, "Pass") > + self.verify(rx_stats =3D=3D 1, "FAIL") >=20 > # Nvgre test > self.tcpdump_start_sniffing([tx_interface, rx_interface]) > - > self.tester.scapy_append('sendp([Ether(dst=3D"%s",src=3D"52:00:00:00:00:0= 0")/I > P(src=3D"192.168.1.1",dst=3D"192.168.1.2",proto=3D47)/NVGRE()/Ether(dst= =3D%s,src=3D" > 52:00:00:00:00:00")/IP(src=3D"192.168.1.1",dst=3D"192.168.1.2")/TCP(sport= =3D"102 > 1",dport=3D"1021")/("X"*%s)], iface=3D"%s")' % (mac, mac, padding, > tx_interface)) > + > self.tester.scapy_append('sendp([Ether(dst=3D"%s",src=3D"52:00:00:00:00:0= 0")/I > P(src=3D"192.168.1.1",dst=3D"192.168.1.2",proto=3D47)/NVGRE()/Ether(dst= =3D%s,src=3D" > 52:00:00:00:00:00")/IP(src=3D"192.168.1.1",dst=3D"192.168.1.2")/TCP(sport= =3D"102 > 1",dport=3D"1021")/("X"*%s)], iface=3D"%s")' % (mac, mac, padding[1], > tx_interface)) > out =3D self.tester.scapy_execute() > out =3D self.dut.send_expect("show port stats all", "testpmd> ", > 120) > print out > self.tcpdump_stop_sniff() > rx_stats =3D self.number_of_packets(rx_interface) > - if (rx_stats =3D=3D 2): > - self.verify(1, "Pass") > + self.verify(rx_stats =3D=3D 2, "Pass") >=20 > def test_perf_TSO_2ports(self): > """ > @@ -347,6 +351,7 @@ class TestTSO(TestCase): > self.dut.send_expect("csum parse_tunnel on %d" % > self.dut_ports[1], "testpmd> ", 120) > self.dut.send_expect("tso set 800 %d" % self.dut_ports[1], > "testpmd> ", 120) > self.dut.send_expect("set fwd csum", "testpmd> ", 120) > + self.dut.send_expect("set promisc all off", "testpmd> ", 120= ) > self.dut.send_expect("start", "testpmd> ") > for frame_size in self.frame_sizes: > wirespeed =3D self.wirespeed(self.nic, frame_size, 2) > -- > 1.9.3