From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 92E33A0350; Wed, 1 Jul 2020 08:07:11 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 3F4BA1BFF7; Wed, 1 Jul 2020 08:07:11 +0200 (CEST) Received: from mga07.intel.com (mga07.intel.com [134.134.136.100]) by dpdk.org (Postfix) with ESMTP id 471B91BFCA for ; Wed, 1 Jul 2020 08:07:09 +0200 (CEST) IronPort-SDR: DlOaLAOuEcBK5h5H8JiAClYNhFy9FA2AC0vt/XNKEUth25Y4JJ+OpvMf6zyChbqEk/eAuBxH4X WXs0zAmJRmvQ== X-IronPort-AV: E=McAfee;i="6000,8403,9668"; a="211538732" X-IronPort-AV: E=Sophos;i="5.75,299,1589266800"; d="scan'208";a="211538732" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga008.jf.intel.com ([10.7.209.65]) by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Jun 2020 23:07:08 -0700 IronPort-SDR: DATeTnCne1L357eHfX2h0eEhqJ3ralo1z1pBuqwBEzyCiX+szvcKtrHgQU6RPHfJC8QVwe4ScU ILZuXu/tpTCA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,299,1589266800"; d="scan'208";a="312585397" Received: from fmsmsx606.amr.corp.intel.com ([10.18.126.86]) by orsmga008.jf.intel.com with ESMTP; 30 Jun 2020 23:07:08 -0700 Received: from fmsmsx606.amr.corp.intel.com (10.18.126.86) by fmsmsx606.amr.corp.intel.com (10.18.126.86) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Tue, 30 Jun 2020 23:07:04 -0700 Received: from FMSMSX109.amr.corp.intel.com (10.18.116.9) by fmsmsx606.amr.corp.intel.com (10.18.126.86) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5 via Frontend Transport; Tue, 30 Jun 2020 23:07:04 -0700 Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by fmsmsx109.amr.corp.intel.com (10.18.116.9) with Microsoft SMTP Server (TLS) id 14.3.439.0; Tue, 30 Jun 2020 23:07:03 -0700 Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.85]) by SHSMSX151.ccr.corp.intel.com ([169.254.3.174]) with mapi id 14.03.0439.000; Wed, 1 Jul 2020 14:07:03 +0800 From: "Tu, Lijuan" To: "Chen, BoX C" , "dts@dpdk.org" CC: "Chen, BoX C" Thread-Topic: [dts] [PATCH V1] test/rss_to_rte_flow: Support of network adapter for sprinville Thread-Index: AQHWTqM/ufkz8jXOyEGY0JdcGAdw6ajyPl6g Date: Wed, 1 Jul 2020 06:07:02 +0000 Message-ID: <8CE3E05A3F976642AAB0F4675D0AD20E0BC680A9@SHSMSX101.ccr.corp.intel.com> References: <20200630055457.17939-1-box.c.chen@intel.com> In-Reply-To: <20200630055457.17939-1-box.c.chen@intel.com> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.2.0.6 dlp-reaction: no-action x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="iso-2022-jp" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dts] [PATCH V1] test/rss_to_rte_flow: Support of network adapter for sprinville 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: , Errors-To: dts-bounces@dpdk.org Sender: "dts" Applied, thanks > -----Original Message----- > From: dts On Behalf Of ChenBo > Sent: 2020=1B$BG/=1B(B6=1B$B7n=1B(B30=1B$BF|=1B(B 13:55 > To: dts@dpdk.org > Cc: Chen, BoX C > Subject: [dts] [PATCH V1] test/rss_to_rte_flow: Support of network adapte= r for > sprinville >=20 > The spinville has only 4 queues, need to adapt in code >=20 > Signed-off-by: ChenBo > --- > tests/TestSuite_rss_to_rte_flow.py | 97 +++++++++++++++++++++++------- > 1 file changed, 75 insertions(+), 22 deletions(-) >=20 > diff --git a/tests/TestSuite_rss_to_rte_flow.py > b/tests/TestSuite_rss_to_rte_flow.py > index 469a271..21ba8dc 100644 > --- a/tests/TestSuite_rss_to_rte_flow.py > +++ b/tests/TestSuite_rss_to_rte_flow.py > @@ -897,18 +897,28 @@ class TestRSS_to_Rteflow(TestCase): > """ > self.verify(self.nic not in ["fortville_eagle", "fortville_spiri= t", "carlsville", > "fortville_spirit_single", "fortpark_TL= V", > "fortville_25g","fortpark_BASE-T"], "NIC Unsupported: " + str(self.nic)) > - self.pmdout.start_testpmd("%s" % self.cores, "--rxq=3D8 --txq=3D= 8 --port- > topology=3Dchained") > + if self.nic =3D=3D 'springville': > + self.pmdout.start_testpmd("%s" % self.cores, "--rxq=3D4 --tx= q=3D4 --port- > topology=3Dchained") > + else: > + self.pmdout.start_testpmd("%s" % self.cores, "--rxq=3D8 > + --txq=3D8 --port-topology=3Dchained") > self.dut.send_expect("set fwd rxonly", "testpmd> ", 120) > self.dut.send_expect("set verbose 1", "testpmd> ", 120) > self.dut.send_expect("start", "testpmd> ", 120) > time.sleep(2) >=20 > # Create a rss queue rule > - self.dut.send_expect( > - "flow create 0 ingress pattern end actions rss queues 1 4 7 = end / end", > "created") > + if self.nic =3D=3D 'springville': > + self.dut.send_expect( > + "flow create 0 ingress pattern end actions rss queues 1 = 2 end / end", > "created") > + else: > + self.dut.send_expect( > + "flow create 0 ingress pattern end actions rss queues 1 > + 4 7 end / end", "created") > # send the packets and verify the results > ptype_list1 =3D ["ipv4-other", "ipv4-frag", "ipv4-udp", "ipv4-tc= p", "ipv4-sctp", > "ipv6-other", "ipv6-frag", "ipv6-udp", "ipv6-tcp", "ipv6-sctp"] > - self.send_check_100_packet_queue(ptype_list1, ["1","4","7"], por= t_id=3D0) > + if self.nic =3D=3D 'springville': > + self.send_check_100_packet_queue(ptype_list1, ["1", "2"], po= rt_id=3D0) > + else: > + self.send_check_100_packet_queue(ptype_list1, > + ["1","4","7"], port_id=3D0) >=20 > # There can't be more than one RSS queue rule existing. > self.dut.send_expect( > @@ -930,8 +940,12 @@ class TestRSS_to_Rteflow(TestCase): > self.dut.send_expect( > "flow create 0 ingress pattern end actions rss queues 8 end = / end", > "error") > # Set all the queues to the rule > - self.dut.send_expect( > - "flow create 0 ingress pattern end actions rss queues 0 1 2 = 3 4 5 6 7 end / > end", "created") > + if self.nic =3D=3D 'springville': > + self.dut.send_expect( > + "flow create 0 ingress pattern end actions rss queues 0 = 1 2 3 end / > end", "created") > + else: > + self.dut.send_expect( > + "flow create 0 ingress pattern end actions rss queues 0 > + 1 2 3 4 5 6 7 end / end", "created") > self.send_check_100_packet_queue(ptype_list1, "all", port_id=3D0= ) >=20 > def test_different_types_ixgbe_igb(self): > @@ -940,15 +954,22 @@ class TestRSS_to_Rteflow(TestCase): > """ > self.verify(self.nic not in ["fortville_eagle", "fortville_spiri= t", "carlsville", > "fortville_spirit_single", "fortpark_TL= V", > "fortville_25g","fortpark_BASE-T"], "NIC Unsupported: " + str(self.nic)) > - self.pmdout.start_testpmd("%s" % self.cores, "--rxq=3D8 --txq=3D= 8 --port- > topology=3Dchained") > + if self.nic =3D=3D 'springville': > + self.pmdout.start_testpmd("%s" % self.cores, "--rxq=3D4 --tx= q=3D4 --port- > topology=3Dchained") > + else: > + self.pmdout.start_testpmd("%s" % self.cores, "--rxq=3D8 > + --txq=3D8 --port-topology=3Dchained") > self.dut.send_expect("set fwd rxonly", "testpmd> ", 120) > self.dut.send_expect("set verbose 1", "testpmd> ", 120) > self.dut.send_expect("start", "testpmd> ", 120) > time.sleep(2) >=20 > # Create a rss queue rule > - self.dut.send_expect( > - "flow create 0 ingress pattern end actions rss types udp ipv= 4-tcp ipv6- > sctp ipv4-other end queues 1 4 7 end / end", "created") > + if self.nic =3D=3D 'springville': > + self.dut.send_expect( > + "flow create 0 ingress pattern end actions rss types udp= ipv4-tcp ipv6- > sctp ipv4-other end queues 1 2 3 end / end","created") > + else: > + self.dut.send_expect( > + "flow create 0 ingress pattern end actions rss types > + udp ipv4-tcp ipv6-sctp ipv4-other end queues 1 4 7 end / end", > + "created") > self.dut.send_expect( > "show port 0 rss-hash", "all ipv4-tcp ipv4-udp ipv6-udp ipv6= -udp-ex udp > tcp") > ptype_list1 =3D ["ipv4-udp", "ipv4-tcp", "ipv6-udp"] @@ -957,18 = +978,29 @@ > class TestRSS_to_Rteflow(TestCase): > # send the packets and verify the results > if(self.nic in ["cavium_a063", "cavium_a064"]): > self.send_check_100_packet_queue(ptype_list1, ["1","4","7"],= port_id=3D0) > + elif self.nic =3D=3D 'springville': > + self.send_check_100_packet_queue(ptype_list1, ["1", "2", "3"= ], > port_id=3D0) > + self.send_check_100_packet_queue(ptype_list2, "0", > + port_id=3D0) > else: > self.send_check_100_packet_queue(ptype_list1, ["1","4","7"],= port_id=3D0) > self.send_check_100_packet_queue(ptype_list2, "0", port_id= =3D0) >=20 > # Create different ptype rss rule. > self.dut.send_expect("flow flush 0", "testpmd> ") > - self.dut.send_expect( > - "flow create 0 ingress pattern end actions rss types ipv4 ip= v6 end queues > 3 7 end / end", "created") > + > + if self.nic =3D=3D 'springville': > + self.dut.send_expect( > + "flow create 0 ingress pattern end actions rss types ipv= 4 ipv6 end > queues 1 3 end / end", "created") > + else: > + self.dut.send_expect( > + "flow create 0 ingress pattern end actions rss types > + ipv4 ipv6 end queues 3 7 end / end", "created") > self.dut.send_expect( > "show port 0 rss-hash", "all ipv4 ipv6 ip") > ptype_list3 =3D ["ipv4-other", "ipv4-frag", "ipv4-udp", "ipv4-tc= p", "ipv4-sctp", > "ipv6-other", "ipv6-frag", "ipv6-udp", "ipv6-tcp", "ipv6-sctp"] > - self.send_check_100_packet_queue(ptype_list3, ["3","7"], port_id= =3D0) > + if self.nic =3D=3D 'springville': > + self.send_check_100_packet_queue(ptype_list3, ["1", "3"], po= rt_id=3D0) > + else: > + self.send_check_100_packet_queue(ptype_list3, ["3","7"], > + port_id=3D0) >=20 > def test_disable_rss_in_commandline_ixgbe_igb(self): > """ > @@ -976,7 +1008,10 @@ class TestRSS_to_Rteflow(TestCase): > """ > self.verify(self.nic not in ["fortville_eagle", "fortville_spiri= t", "carlsville", > "fortville_spirit_single", "fortpark_TL= V", > "fortville_25g","fortpark_BASE-T"], "NIC Unsupported: " + str(self.nic)) > - self.pmdout.start_testpmd("%s" % self.cores, "--rxq=3D8 --txq=3D= 8 --disable-rss > --port-topology=3Dchained") > + if self.nic =3D=3D 'springville': > + self.pmdout.start_testpmd("%s" % self.cores, "--rxq=3D4 --tx= q=3D4 --disable- > rss --port-topology=3Dchained") > + else: > + self.pmdout.start_testpmd("%s" % self.cores, "--rxq=3D8 > + --txq=3D8 --disable-rss --port-topology=3Dchained") > self.dut.send_expect("set fwd rxonly", "testpmd> ", 120) > self.dut.send_expect("set verbose 1", "testpmd> ", 120) > self.dut.send_expect("start", "testpmd> ", 120) @@ -995,15 +1030= ,22 @@ > class TestRSS_to_Rteflow(TestCase): > self.send_check_100_packet_queue(ptype_list1, "0", port_id=3D0) >=20 > # Create a rss queue rule > - self.dut.send_expect( > - "flow create 0 ingress pattern end actions rss types ipv6-tc= p ipv4-udp end > queues 5 6 7 end / end", "created") > + if self.nic =3D=3D 'springville': > + self.dut.send_expect( > + "flow create 0 ingress pattern end actions rss types ipv= 6-tcp ipv4-udp > end queues 1 2 3 end / end", "created") > + else: > + self.dut.send_expect( > + "flow create 0 ingress pattern end actions rss types > + ipv6-tcp ipv4-udp end queues 5 6 7 end / end", "created") > self.dut.send_expect( > "show port 0 rss-hash", "all ipv4-udp ipv6-tcp udp tcp") >=20 > # send the packets and verify the results > ptype_list2 =3D ["ipv4-udp", "ipv6-tcp"] > ptype_list3 =3D ["ipv4-other", "ipv4-frag", "ipv4-tcp", "ipv4-sc= tp", "ipv6-other", > "ipv6-frag", "ipv6-udp", "ipv6-sctp"] > - self.send_check_100_packet_queue(ptype_list2, ["5","6","7"], por= t_id=3D0) > + if self.nic =3D=3D 'springville': > + self.send_check_100_packet_queue(ptype_list2, ["1", "2", "3"= ], > port_id=3D0) > + else: > + self.send_check_100_packet_queue(ptype_list2, > + ["5","6","7"], port_id=3D0) > self.send_check_100_packet_queue(ptype_list3, "0", port_id=3D0) >=20 > def test_flow_director_rss_rule_combination_ixgbe_igb(self): > @@ -1012,19 +1054,27 @@ class TestRSS_to_Rteflow(TestCase): > """ > self.verify(self.nic not in ["fortville_eagle", "fortville_spiri= t", "carlsville", > "fortville_spirit_single", "fortpark_TL= V", > "fortville_25g","fortpark_BASE-T"], "NIC Unsupported: " + str(self.nic)) > - self.pmdout.start_testpmd("%s" % self.cores, "--rxq=3D8 --txq=3D= 8 --pkt-filter- > mode=3Dperfect") > + if self.nic =3D=3D 'springville': > + self.pmdout.start_testpmd("%s" % self.cores, "--rxq=3D4 --tx= q=3D4 --disable- > rss --port-topology=3Dchained") > + else: > + self.pmdout.start_testpmd("%s" % self.cores, "--rxq=3D8 > + --txq=3D8 --pkt-filter-mode=3Dperfect") > self.dut.send_expect("set fwd rxonly", "testpmd> ", 120) > self.dut.send_expect("set verbose 1", "testpmd> ", 120) > self.dut.send_expect("start", "testpmd> ", 120) > time.sleep(2) >=20 > # Create a rss queue rule > - self.dut.send_expect( > - "flow create 0 ingress pattern end actions rss types ipv4-ud= p end queues > 3 4 5 end / end", "created") > - self.send_and_check(self.pkt2, ["3", "4", "5"], port_id=3D0) > + if self.nic =3D=3D 'springville': > + self.dut.send_expect( > + "flow create 0 ingress pattern end actions rss types ipv= 4-udp end > queues 2 3 end / end", "created") > + self.send_and_check(self.pkt2, ["2", "3"], port_id=3D0) > + else: > + self.dut.send_expect( > + "flow create 0 ingress pattern end actions rss types ipv= 4-udp end > queues 3 4 5 end / end", "created") > + self.send_and_check(self.pkt2, ["3", "4", "5"], port_id=3D0) >=20 > # Create a flow director rule > - if (self.nic in ["bartonhills", "powerville"]): > + if (self.nic in ["bartonhills", "powerville" , "springville"]): > self.dut.send_expect( > "flow create 0 ingress pattern eth / ipv4 proto is 17 / = udp dst is 50 / end > actions queue index 1 / end", "created") > self.send_and_check(self.pkt2, ["1"], port_id=3D0) @@ -1034,= 7 +1084,10 > @@ class TestRSS_to_Rteflow(TestCase): > self.send_and_check(self.pkt2, ["1"], port_id=3D0) > # Delete the fdir rule > self.dut.send_expect("flow destroy 0 rule 1", "testpmd> ") > - self.send_and_check(self.pkt2, ["3", "4", "5"], port_id=3D0) > + if self.nic =3D=3D 'springville': > + self.send_and_check(self.pkt2, ["2", "3"], port_id=3D0) > + else: > + self.send_and_check(self.pkt2, ["3", "4", "5"], port_id=3D0) >=20 > def tear_down(self): > """ > -- > 2.17.1