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 A5977A04DA; Wed, 12 Aug 2020 07:37:30 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 605EC1C0AD; Wed, 12 Aug 2020 07:37:30 +0200 (CEST) Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by dpdk.org (Postfix) with ESMTP id 738E71C025 for ; Wed, 12 Aug 2020 07:37:28 +0200 (CEST) IronPort-SDR: lEVxGzRDo1lHpET3ururPCs93ooufILhnSpDVUbhONGUTyKMk/FlJLEZIzkUcVGbTFUaEHINKY UFhirtztcl2w== X-IronPort-AV: E=McAfee;i="6000,8403,9710"; a="171932642" X-IronPort-AV: E=Sophos;i="5.76,303,1592895600"; d="scan'208";a="171932642" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 11 Aug 2020 22:37:27 -0700 IronPort-SDR: /vQoYQzf7jSEgZAG0L0ICbCinhLqfqRV9X2m8DX45npeetqZsnwppG4akwuSTL7wZkOICDQBb+ rpbGD0WXkKTw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.76,303,1592895600"; d="scan'208";a="317974173" Received: from unknown (HELO fmsmsx604.amr.corp.intel.com) ([10.18.84.214]) by fmsmga004.fm.intel.com with ESMTP; 11 Aug 2020 22:37:27 -0700 Received: from fmsmsx604.amr.corp.intel.com (10.18.126.84) by fmsmsx604.amr.corp.intel.com (10.18.126.84) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Tue, 11 Aug 2020 22:37:26 -0700 Received: from fmsmsx102.amr.corp.intel.com (10.18.124.200) by fmsmsx604.amr.corp.intel.com (10.18.126.84) 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, 11 Aug 2020 22:37:26 -0700 Received: from shsmsx152.ccr.corp.intel.com (10.239.6.52) by FMSMSX102.amr.corp.intel.com (10.18.124.200) with Microsoft SMTP Server (TLS) id 14.3.439.0; Tue, 11 Aug 2020 22:37:25 -0700 Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.155]) by SHSMSX152.ccr.corp.intel.com ([169.254.6.222]) with mapi id 14.03.0439.000; Wed, 12 Aug 2020 13:37:22 +0800 From: "Tu, Lijuan" To: "Chen, BoX C" , "dts@dpdk.org" CC: "Chen, BoX C" Thread-Topic: [dts] [PATCH V2] tests/iavf_fdir: Adaptive-dpdk-RSS-algorithm-update Thread-Index: AQHWZYNA0rv2q6Nkg0G9v17UUzp086k0Cdww Date: Wed, 12 Aug 2020 05:37:21 +0000 Message-ID: <8CE3E05A3F976642AAB0F4675D0AD20E0BC9C5F2@SHSMSX101.ccr.corp.intel.com> References: <20200729082224.16609-1-box.c.chen@intel.com> In-Reply-To: <20200729082224.16609-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.5.1.3 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 V2] tests/iavf_fdir: Adaptive-dpdk-RSS-algorithm-update 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" Hi Bo, Could you please rework it, conflicts with latest DTS, thanks Applying: tests/iavf_fdir: Adaptive-dpdk-RSS-algorithm-update error: patch failed: tests/TestSuite_iavf_fdir.py:3356 error: tests/TestSuite_iavf_fdir.py: patch does not apply Patch failed at 0001 tests/iavf_fdir: Adaptive-dpdk-RSS-algorithm-update > -----Original Message----- > From: dts On Behalf Of ChenBo > Sent: 2020=1B$BG/=1B(B7=1B$B7n=1B(B29=1B$BF|=1B(B 16:22 > To: dts@dpdk.org > Cc: Chen, BoX C > Subject: [dts] [PATCH V2] tests/iavf_fdir: Adaptive-dpdk-RSS-algorithm-up= date >=20 > According to DPDK-22058, adaptive dpdk RSS algorithm update merge comment >=20 > Signed-off-by: ChenBo > --- > tests/TestSuite_iavf_fdir.py | 111 +++++++++++++++++++---------------- > 1 file changed, 62 insertions(+), 49 deletions(-) >=20 > diff --git a/tests/TestSuite_iavf_fdir.py b/tests/TestSuite_iavf_fdir.py = index > f2004c6..2e02006 100644 > --- a/tests/TestSuite_iavf_fdir.py > +++ b/tests/TestSuite_iavf_fdir.py > @@ -750,9 +750,9 @@ tv_mac_ipv6_pay_mark =3D { >=20 > tv_mac_ipv6_udp_queue_index =3D { > "name": "test_mac_ipv6_udp_queue_index", > - "rule": "flow create 0 ingress pattern eth / ipv6 dst is > CDCD:910A:2222:5498:8475:1111:3900:2020 src is 2001::2 hop is 2 tc is 1 /= udp > src is 22 dst is 23 / end actions queue index 1 / end", > + "rule": "flow create 0 ingress pattern eth / ipv6 dst is > + CDCD:910A:2222:5498:8475:1111:3900:2020 src is 2001::2 hop is 2 tc is > + 1 / udp src is 22 dst is 23 / end actions queue index 2 / end", > "scapy_str": MAC_IPV6_UDP, > - "check_param": {"port_id": 0, "queue": 1} > + "check_param": {"port_id": 0, "queue": 2} > } >=20 > tv_mac_ipv6_udp_queue_group =3D { > @@ -792,9 +792,9 @@ tv_mac_ipv6_udp_mark =3D { >=20 > tv_mac_ipv6_tcp_queue_index =3D { > "name": "test_mac_ipv6_tcp_queue_index", > - "rule": "flow create 0 ingress pattern eth / ipv6 dst is > CDCD:910A:2222:5498:8475:1111:3900:2020 src is 2001::2 hop is 2 tc is 1 /= tcp > src is 22 dst is 23 / end actions queue index 1 / mark / end", > + "rule": "flow create 0 ingress pattern eth / ipv6 dst is > + CDCD:910A:2222:5498:8475:1111:3900:2020 src is 2001::2 hop is 2 tc is > + 1 / tcp src is 22 dst is 23 / end actions queue index 2 / mark / end", > "scapy_str": MAC_IPV6_TCP, > - "check_param": {"port_id": 0, "queue": 1, "mark_id": 0} > + "check_param": {"port_id": 0, "queue": 2, "mark_id": 0} > } >=20 > tv_mac_ipv6_tcp_queue_group =3D { > @@ -1298,9 +1298,6 @@ class TestIAVFFdir(TestCase): > self.pkt =3D Packet() > self.pmd_output =3D PmdOutput(self.dut) >=20 > - self.re_load_ice_driver() > - self.setup_2pf_4vf_env() > - > self.src_file_dir =3D 'dep/' > self.dut_file_dir =3D '/tmp/' > self.cvlq_num =3D CVL_TXQ_RXQ_NUMBER @@ -1390,8 +1387,8 @@ class > TestIAVFFdir(TestCase): > self.dut.send_expect("rmmod ice", "# ", 40) > ice_driver_file_location =3D self.suite_config["ice_driver_file_= location"] > self.dut.send_expect("insmod %s" % ice_driver_file_location, "# = ") > - self.dut.send_expect("ifconfig %s up" % self.dut_ports[0], "# ",= 15) > - self.dut.send_expect("ifconfig %s up" % self.dut_ports[1], "# ",= 15) > + self.dut.send_expect("ifconfig %s up" % self.pf0_intf, "# ", 15) > + self.dut.send_expect("ifconfig %s up" % self.pf1_intf, "# ", > + 15) >=20 > def config_testpmd(self): > self.pmd_output.execute_cmd("set fwd rxonly") @@ -2135,8 +2132,8= @@ > class TestIAVFFdir(TestCase): >=20 > rules =3D [ > "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.2= 0 dst is > 192.168.0.21 / tcp src is 22 dst is 23 / end actions rss queues 2 3 end /= end", > - "flow create 1 ingress pattern eth / ipv4 src is 192.168.0.2= 2 dst is > 192.168.0.23 / udp src is 22 dst is 23 / end actions queue index 5 / mark= / end", > - "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.2= 2 dst is > 192.168.0.23 / udp src is 22 dst is 23 / end actions queue index 5 / mark= id 1 / > end", > + "flow create 1 ingress pattern eth / ipv4 src is 192.168.0.2= 2 dst is > 192.168.0.23 / udp src is 22 dst is 23 / end actions queue index 6 / mark= / end", > + "flow create 0 ingress pattern eth / ipv4 src is > + 192.168.0.22 dst is 192.168.0.23 / udp src is 22 dst is 23 / end > + actions queue index 6 / mark id 1 / end", > "flow create 1 ingress pattern eth / ipv4 src is 192.168.0.2= 2 dst is > 192.168.0.23 tos is 4 / tcp src is 22 dst is 23 / end actions drop / end"= ] > pkts =3D { > "matched": [ > @@ -2200,14 +2197,14 @@ class TestIAVFFdir(TestCase): > out_vf00 =3D self.send_pkts_getouput(pkts["matched"][0]) > rfc.check_iavf_fdir_mark(out_vf00, pkt_num=3D1, check_param=3D{"= port_id": 0, > "queue": [2, 3]}, stats=3DTrue) > out_vf01 =3D self.send_pkts_getouput(pkts["matched"][1]) > - rfc.check_iavf_fdir_mark(out_vf01, pkt_num=3D1, check_param=3D{"= port_id": > 1, "queue": 5, "mark_id": 0}, stats=3DTrue) > + rfc.check_iavf_fdir_mark(out_vf01, pkt_num=3D1, > + check_param=3D{"port_id": 1, "queue": 6, "mark_id": 0}, stats=3DTrue) >=20 > self.send_packets(pkts["matched"][2], pf_id=3D1) > out_info =3D self.session_secondary.get_session_before(timeout= =3D2) > out_pkt =3D self.session_secondary.send_expect("stop", "testpmd>= ") > out_vf10 =3D out_info + out_pkt > self.session_secondary.send_expect("start", "testpmd> ") > - rfc.check_iavf_fdir_mark(out_vf10, pkt_num=3D1, check_param=3D{"= port_id": > 0, "queue": 5, "mark_id": 1}, stats=3DTrue) > + rfc.check_iavf_fdir_mark(out_vf10, pkt_num=3D1, > + check_param=3D{"port_id": 0, "queue": 6, "mark_id": 1}, stats=3DTrue) >=20 > self.send_packets(pkts["matched"][3], pf_id=3D1) > out_info =3D self.session_secondary.get_session_before(timeout= =3D2) > @@ -2220,14 +2217,14 @@ class TestIAVFFdir(TestCase): > out_vf00 =3D self.send_pkts_getouput(pkts["mismatched"][0]) > rfc.check_iavf_fdir_mark(out_vf00, pkt_num=3D1, check_param=3D{"= port_id": 0, > "queue": [2, 3]}, stats=3DFalse) > out_vf01 =3D self.send_pkts_getouput(pkts["mismatched"][1]) > - rfc.check_iavf_fdir_mark(out_vf01, pkt_num=3D1, check_param=3D{"= port_id": > 1, "queue": 5, "mark_id": 0}, stats=3DFalse) > + rfc.check_iavf_fdir_mark(out_vf01, pkt_num=3D1, > + check_param=3D{"port_id": 1, "queue": 6, "mark_id": 0}, stats=3DFalse) >=20 > self.send_packets(pkts["mismatched"][2], pf_id=3D1) > out_info =3D self.session_secondary.get_session_before(timeout= =3D2) > out_pkt =3D self.session_secondary.send_expect("stop", "testpmd>= ") > out_vf10 =3D out_info + out_pkt > self.session_secondary.send_expect("start", "testpmd> ") > - rfc.check_iavf_fdir_mark(out_vf10, pkt_num=3D1, check_param=3D{"= port_id": > 0, "queue": 5, "mark_id": 1}, stats=3DFalse) > + rfc.check_iavf_fdir_mark(out_vf10, pkt_num=3D1, > + check_param=3D{"port_id": 0, "queue": 6, "mark_id": 1}, stats=3DFalse) >=20 > self.send_packets(pkts["mismatched"][3], pf_id=3D1) > out_info =3D self.session_secondary.get_session_before(timeout= =3D2) > @@ -2261,14 +2258,14 @@ class TestIAVFFdir(TestCase): > out_vf00 =3D self.send_pkts_getouput(pkts["matched"][0]) > rfc.check_iavf_fdir_mark(out_vf00, pkt_num=3D1, check_param=3D{"= port_id": 0, > "queue": [2, 3]}, stats=3DFalse) > out_vf01 =3D self.send_pkts_getouput(pkts["matched"][1]) > - rfc.check_iavf_fdir_mark(out_vf01, pkt_num=3D1, check_param=3D{"= port_id": > 1, "queue": 5, "mark_id": 0}, stats=3DFalse) > + rfc.check_iavf_fdir_mark(out_vf01, pkt_num=3D1, > + check_param=3D{"port_id": 1, "queue": 6, "mark_id": 0}, stats=3DFalse) >=20 > self.send_packets(pkts["matched"][2], pf_id=3D1) > out_info =3D self.session_secondary.get_session_before(timeout= =3D2) > out_pkt =3D self.session_secondary.send_expect("stop", "testpmd>= ") > out_vf10 =3D out_info + out_pkt > self.session_secondary.send_expect("start", "testpmd> ") > - rfc.check_iavf_fdir_mark(out_vf10, pkt_num=3D1, check_param=3D{"= port_id": > 0, "queue": 5, "mark_id": 1}, stats=3DFalse) > + rfc.check_iavf_fdir_mark(out_vf10, pkt_num=3D1, > + check_param=3D{"port_id": 0, "queue": 6, "mark_id": 1}, stats=3DFalse) >=20 > self.send_packets(pkts["matched"][3], pf_id=3D1) > out_info =3D self.session_secondary.get_session_before(timeout= =3D2) > @@ -2609,19 +2606,27 @@ class TestIAVFFdir(TestCase): > profile 0 and profile 1 are default profile for specific packet. > design case with 2*100G card, so only 110 profiles can be used f= or vf. > """ > + nex_cnt =3D 0 > self.destroy_env() > self.setup_npf_nvf_env(pf_num=3D1,vf_num=3D16) > - self.dut.send_expect('ip link set %s vf 10 mac 00:11:22:33:44:55= ' % > self.pf0_intf, '#') > + > + if len(self.dut_ports) =3D=3D 4: > + nex_cnt =3D 94 // 8 > + elif len(self.dut_ports) =3D=3D 2: > + nex_cnt =3D 110 // 8 > + else: > + self.verify(False, 'The number of ports is not supported') > + > + self.dut.send_expect("ip link set {} vf {} mac > + 00:11:22:33:44:55".format(self.pf0_intf, nex_cnt), '#') > command =3D "./%s/app/testpmd -c f -n 6 -- -i %s" % (self.dut.ta= rget, "--rxq=3D4 > --txq=3D4") > self.dut.send_expect(command, "testpmd> ", 360) > self.config_testpmd() > - for port_id in range(11): > + > + for port_id in range(nex_cnt): > rules =3D [ > - "flow create %d ingress pattern eth / ipv4 proto is 255 = / end actions > queue index 1 / mark / end" % port_id, > "flow create %d ingress pattern eth / ipv4 src is 192.16= 8.0.20 dst is > 192.168.0.21 / udp src is 22 dst is 23 / end actions queue index 1 / mark= / end" % > port_id, > "flow create %d ingress pattern eth / ipv4 src is 192.16= 8.0.20 dst is > 192.168.0.21 / tcp src is 22 dst is 23 / end actions queue index 1 / mark= / end" % > port_id, > "flow create %d ingress pattern eth / ipv4 src is 192.16= 8.0.20 dst is > 192.168.0.21 / sctp src is 22 dst is 23 / end actions queue index 1 / mar= k / end" % > port_id, > - "flow create %d ingress pattern eth / ipv6 proto is 0 / = end actions mark > / rss / end" % port_id, > "flow create %d ingress pattern eth / ipv6 dst is > CDCD:910A:2222:5498:8475:1111:3900:2020 src is 2001::2 / udp src is 22 ds= t is > 23 / end actions queue index 1 / mark / end" % port_id, > "flow create %d ingress pattern eth / ipv6 dst is > CDCD:910A:2222:5498:8475:1111:3900:2020 src is 2001::2 / tcp src is 22 ds= t is > 23 / end actions queue index 1 / mark / end" % port_id, > "flow create %d ingress pattern eth / ipv6 dst is > CDCD:910A:2222:5498:8475:1111:3900:2020 src is 2001::2 / sctp src is 22 d= st is > 23 / end actions queue index 1 / mark / end" % port_id, @@ -2629,17 +2634= ,25 > @@ class TestIAVFFdir(TestCase): > "flow create %d ingress pattern eth / ipv4 / udp / pfcp = s_field is 0 / end > actions queue index 2 / end" % port_id] > self.create_fdir_rule(rules, check_stats=3DTrue) >=20 > - rule =3D "flow create 11 ingress pattern eth / ipv4 src is 192.1= 68.0.20 dst is > 192.168.0.21 / udp src is 22 dst is 23 / end actions queue index 1 / mark= / end" > + rules =3D [ > + "flow create {} ingress pattern eth / ipv4 src is 192.168.0.= 20 dst is > 192.168.0.21 / udp src is 22 dst is 23 / end actions queue index 1 / mark= / > end".format(nex_cnt), > + "flow create {} ingress pattern eth / ipv4 src is 192.168.0.= 20 dst is > 192.168.0.21 / tcp src is 22 dst is 23 / end actions queue index 1 / mark= / > end".format(nex_cnt), > + "flow create {} ingress pattern eth / ipv4 src is 192.168.0.= 20 dst is > 192.168.0.21 / sctp src is 22 dst is 23 / end actions queue index 1 / mar= k / > end".format(nex_cnt), > + "flow create {} ingress pattern eth / ipv6 dst is > CDCD:910A:2222:5498:8475:1111:3900:2020 src is 2001::2 / udp src is 22 ds= t is > 23 / end actions queue index 1 / mark / end".format(nex_cnt), > + "flow create {} ingress pattern eth / ipv6 dst is > CDCD:910A:2222:5498:8475:1111:3900:2020 src is 2001::2 / tcp src is 22 ds= t is > 23 / end actions queue index 1 / mark / end".format(nex_cnt), > + "flow create {} ingress pattern eth / ipv6 dst is > CDCD:910A:2222:5498:8475:1111:3900:2020 src is 2001::2 / sctp src is 22 d= st is > 23 / end actions queue index 1 / mark / end".format(nex_cnt)] > + self.create_fdir_rule(rules, check_stats=3DTrue) > + > + rule =3D "flow create {} ingress pattern eth type is 0x8863 / en= d > + actions queue index 1 / mark id 1 / end".format(nex_cnt) > self.create_fdir_rule(rule, check_stats=3DFalse) > - self.check_fdir_rule(port_id=3D11, stats=3DFalse) > pkt =3D > 'Ether(dst=3D"00:11:22:33:44:55")/IP(src=3D"192.168.0.20",dst=3D"192.168.= 0.21")/UDP > (sport=3D22, dport=3D23)/ Raw("x" * 80)' > out =3D self.send_pkts_getouput(pkts=3Dpkt) > - rfc.check_iavf_fdir_mark(out, pkt_num=3D1, check_param=3D{"port_= id": 10, > "mark_id": 0, "queue": 1}, stats=3DTrue) > + rfc.check_iavf_fdir_mark(out, pkt_num=3D1, > + check_param=3D{"port_id": nex_cnt, "mark_id": 0, "queue": 1}, > + stats=3DTrue) >=20 > - self.dut.send_expect("flow flush 10", "testpmd> ") > - self.check_fdir_rule(port_id=3D10, stats=3DFalse) > + self.dut.send_expect("flow flush {}".format(nex_cnt), "testpmd> = ") > + self.check_fdir_rule(port_id=3D(nex_cnt), stats=3DFalse) > out =3D self.send_pkts_getouput(pkts=3Dpkt) > - rfc.check_iavf_fdir_mark(out, pkt_num=3D1, check_param=3D{"port_= id": 10, > "mark_id": 0, "queue": 1}, stats=3DFalse) > + rfc.check_iavf_fdir_mark(out, pkt_num=3D1, > + check_param=3D{"port_id": nex_cnt, "mark_id": 0, "queue": 1}, > + stats=3DFalse) >=20 > self.create_fdir_rule(rule, check_stats=3DFalse) >=20 > @@ -2665,10 +2678,10 @@ class TestIAVFFdir(TestCase): > add/delete rules 14336 times on 1 vf > """ > rules =3D [ > - "flow create 0 ingress pattern eth / ipv4 proto is 255 / end= actions queue > index 1 / mark / end", > + "flow create 0 ingress pattern eth / ipv4 src is > + 192.168.0.20 dst is 192.168.0.21 / udp src is 22 dst is 23 / end > + actions queue index 6 / mark / end", > "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.2= 0 dst is > 192.168.0.21 / tcp src is 22 dst is 23 / end actions rss queues 2 3 end /= mark id 1 / > end"] > pkts =3D [ > - > 'Ether(dst=3D"00:11:22:33:44:55")/IP(src=3D"192.168.0.20",dst=3D"192.168.= 0.21", > proto=3D255)/Raw("x" * 80)', > + > + 'Ether(dst=3D"00:11:22:33:44:55")/IP(src=3D"192.168.0.20",dst=3D"192.16= 8.0.2 > + 1")/UDP(sport=3D22,dport=3D23)/Raw("x" * 80)', >=20 > 'Ether(dst=3D"00:11:22:33:44:55")/IP(src=3D"192.168.0.20",dst=3D"192.168.= 0.21")/TCP( > sport=3D22,dport=3D23)/Raw("x" * 80)'] > self.dut.kill_all() > src_file =3D 'add_delete_rules_1vf' > @@ -2690,7 +2703,7 @@ class TestIAVFFdir(TestCase): > self.check_fdir_rule(port_id=3D0, stats=3DFalse) > self.create_fdir_rule(rules, check_stats=3DTrue) > out_0 =3D self.send_pkts_getouput(pkts=3Dpkts[0]) > - rfc.check_iavf_fdir_mark(out_0, pkt_num=3D1, check_param=3D{"por= t_id": 0, > "mark_id": 0, "queue": 1}, stats=3DTrue) > + rfc.check_iavf_fdir_mark(out_0, pkt_num=3D1, > + check_param=3D{"port_id": 0, "mark_id": 0, "queue": 6}, stats=3DTrue) > out_1 =3D self.send_pkts_getouput(pkts=3Dpkts[1]) > rfc.check_iavf_fdir_mark(out_1, pkt_num=3D1, check_param=3D{"por= t_id": 0, > "mark_id": 1, "queue": [2, 3]}, stats=3DTrue) >=20 > @@ -2841,16 +2854,16 @@ class TestIAVFFdir(TestCase): > relaunch testpmd, create same rules, can take effect. > """ > rules =3D [ > - "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.0= dst is > 192.1.0.0 tos is 4 / tcp src is 22 dst is 23 / end actions queue index 1 = / mark / > end", > - "flow create 1 ingress pattern eth / ipv4 src is 192.168.0.0= dst is > 192.1.0.0 tos is 4 / tcp src is 22 dst is 23 / end actions queue index 1 = / mark / > end"] > + "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.0= dst is > 192.1.0.0 tos is 4 / tcp src is 22 dst is 23 / end actions queue index 6 = / mark / > end", > + "flow create 1 ingress pattern eth / ipv4 src is > + 192.168.0.0 dst is 192.1.0.0 tos is 4 / tcp src is 22 dst is 23 / end > + actions queue index 6 / mark / end"] > pkts =3D [ > 'Ether(dst=3D"00:11:22:33:44:55")/IP(src=3D"192.168.0.0",dst= =3D"192.1.0.0", > tos=3D4)/TCP(sport=3D22,dport=3D23)/Raw("x" * 80)', > 'Ether(dst=3D"00:11:22:33:44:66")/IP(src=3D"192.168.0.0",dst= =3D"192.1.0.0", > tos=3D4)/TCP(sport=3D22,dport=3D23)/Raw("x" * 80)'] > rule_li =3D self.create_fdir_rule(rules, check_stats=3DTrue) > out0 =3D self.send_pkts_getouput(pkts=3Dpkts[0]) > - rfc.check_iavf_fdir_mark(out0, pkt_num=3D1, check_param=3D{"port= _id": 0, > "mark_id": 0, "queue": 1}, stats=3DTrue) > + rfc.check_iavf_fdir_mark(out0, pkt_num=3D1, > + check_param=3D{"port_id": 0, "mark_id": 0, "queue": 6}, stats=3DTrue) > out1 =3D self.send_pkts_getouput(pkts=3Dpkts[1]) > - rfc.check_iavf_fdir_mark(out1, pkt_num=3D1, check_param=3D{"port= _id": 1, > "mark_id": 0, "queue": 1}, stats=3DTrue) > + rfc.check_iavf_fdir_mark(out1, pkt_num=3D1, > + check_param=3D{"port_id": 1, "mark_id": 0, "queue": 6}, stats=3DTrue) > # reset vf > self.dut.send_expect("stop", "testpmd> ") > self.dut.send_expect("port stop 0", "testpmd> ") @@ -2863,22 +28= 76,22 > @@ class TestIAVFFdir(TestCase): > out0 =3D self.send_pkts_getouput(pkts=3Dpkts[0]) > rfc.check_iavf_fdir_mark(out0, pkt_num=3D1, check_param=3D{"port= _id": 0, > "passthru": 1}, stats=3DTrue) > out1 =3D self.send_pkts_getouput(pkts=3Dpkts[1]) > - rfc.check_iavf_fdir_mark(out1, pkt_num=3D1, check_param=3D{"port= _id": 1, > "mark_id": 0, "queue": 1}, stats=3DTrue) > + rfc.check_iavf_fdir_mark(out1, pkt_num=3D1, > + check_param=3D{"port_id": 1, "mark_id": 0, "queue": 6}, stats=3DTrue) > # delete the rules > self.dut.send_expect("flow destroy 0 rule 0", "Invalid flow dest= roy") > self.destroy_fdir_rule(rule_id=3D'0', port_id=3D1) > out0 =3D self.send_pkts_getouput(pkts=3Dpkts[0]) > - rfc.check_iavf_fdir_mark(out0, pkt_num=3D1, check_param=3D{"port= _id": 0, > "mark_id": 0, "queue": 1}, stats=3DFalse) > + rfc.check_iavf_fdir_mark(out0, pkt_num=3D1, > + check_param=3D{"port_id": 0, "mark_id": 0, "queue": 6}, stats=3DFalse) > out1 =3D self.send_pkts_getouput(pkts=3Dpkts[1]) > - rfc.check_iavf_fdir_mark(out1, pkt_num=3D1, check_param=3D{"port= _id": 1, > "mark_id": 0, "queue": 1}, stats=3DFalse) > + rfc.check_iavf_fdir_mark(out1, pkt_num=3D1, > + check_param=3D{"port_id": 1, "mark_id": 0, "queue": 6}, stats=3DFalse) > # relaunch testpmd, and create the rules, check matched packets. > self.dut.send_expect("quit", "# ") > self.launch_testpmd() > self.create_fdir_rule(rules, check_stats=3DTrue) > out0 =3D self.send_pkts_getouput(pkts=3Dpkts[0]) > - rfc.check_iavf_fdir_mark(out0, pkt_num=3D1, check_param=3D{"port= _id": 0, > "mark_id": 0, "queue": 1}, stats=3DTrue) > + rfc.check_iavf_fdir_mark(out0, pkt_num=3D1, > + check_param=3D{"port_id": 0, "mark_id": 0, "queue": 6}, stats=3DTrue) > out1 =3D self.send_pkts_getouput(pkts=3Dpkts[1]) > - rfc.check_iavf_fdir_mark(out1, pkt_num=3D1, check_param=3D{"port= _id": 1, > "mark_id": 0, "queue": 1}, stats=3DTrue) > + rfc.check_iavf_fdir_mark(out1, pkt_num=3D1, > + check_param=3D{"port_id": 1, "mark_id": 0, "queue": 6}, stats=3DTrue) >=20 > def test_stress_pf_reset_vf_add_new_rule(self): > """ > @@ -2939,17 +2952,17 @@ class TestIAVFFdir(TestCase): > """ > self.session_secondary =3D self.dut.new_session() > rules =3D [ > - "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.0= dst is > 192.1.0.0 tos is 4 / tcp src is 22 dst is 23 / end actions queue index 1 = / mark / > end", > - "flow create 1 ingress pattern eth / ipv4 src is 192.168.0.0= dst is > 192.1.0.0 tos is 4 / tcp src is 22 dst is 23 / end actions queue index 1 = / mark / > end"] > + "flow create 0 ingress pattern eth / ipv4 src is 192.168.0.0= dst is > 192.1.0.0 tos is 4 / tcp src is 22 dst is 23 / end actions queue index 6 = / mark / > end", > + "flow create 1 ingress pattern eth / ipv4 src is > + 192.168.0.0 dst is 192.1.0.0 tos is 4 / tcp src is 22 dst is 23 / end > + actions queue index 6 / mark / end"] > pkts =3D [ > 'Ether(dst=3D"00:11:22:33:44:55")/IP(src=3D"192.168.0.0",dst= =3D"192.1.0.0", > tos=3D4)/TCP(sport=3D22,dport=3D23)/Raw("x" * 80)', > 'Ether(dst=3D"00:11:22:33:44:66")/IP(src=3D"192.168.0.0",dst= =3D"192.1.0.0", > tos=3D4)/TCP(sport=3D22,dport=3D23)/Raw("x" * 80)', > 'Ether(dst=3D"00:11:22:33:44:56")/IP(src=3D"192.168.0.0",dst= =3D"192.1.0.0", > tos=3D4)/TCP(sport=3D22,dport=3D23)/Raw("x" * 80)'] > self.create_fdir_rule(rules, check_stats=3DTrue) > out0 =3D self.send_pkts_getouput(pkts=3Dpkts[0]) > - rfc.check_iavf_fdir_mark(out0, pkt_num=3D1, check_param=3D{"port= _id": 0, > "mark_id": 0, "queue": 1}, stats=3DTrue) > + rfc.check_iavf_fdir_mark(out0, pkt_num=3D1, > + check_param=3D{"port_id": 0, "mark_id": 0, "queue": 6}, stats=3DTrue) > out1 =3D self.send_pkts_getouput(pkts=3Dpkts[1]) > - rfc.check_iavf_fdir_mark(out1, pkt_num=3D1, check_param=3D{"port= _id": 1, > "mark_id": 0, "queue": 1}, stats=3DTrue) > + rfc.check_iavf_fdir_mark(out1, pkt_num=3D1, > + check_param=3D{"port_id": 1, "mark_id": 0, "queue": 6}, stats=3DTrue) >=20 > self.session_secondary.send_expect("ip link set %s vf 0 mac > 00:11:22:33:44:56" % self.pf0_intf, "# ") > out =3D self.dut.session.get_session_before(timeout=3D2) > @@ -2962,23 +2975,23 @@ class TestIAVFFdir(TestCase): > out0 =3D self.send_pkts_getouput(pkts=3Dpkts[2]) > rfc.check_iavf_fdir_mark(out0, pkt_num=3D1, check_param=3D{"port= _id": 0, > "passthru": 1}, stats=3DTrue) > out1 =3D self.send_pkts_getouput(pkts=3Dpkts[1]) > - rfc.check_iavf_fdir_mark(out1, pkt_num=3D1, check_param=3D{"port= _id": 1, > "mark_id": 0, "queue": 1}, stats=3DTrue) > + rfc.check_iavf_fdir_mark(out1, pkt_num=3D1, > + check_param=3D{"port_id": 1, "mark_id": 0, "queue": 6}, stats=3DTrue) > # delete the rules > self.dut.send_expect("flow destroy 0 rule 0", "Invalid flow dest= roy") > self.destroy_fdir_rule(rule_id=3D'0', port_id=3D1) > out0 =3D self.send_pkts_getouput(pkts=3Dpkts[2]) > - rfc.check_iavf_fdir_mark(out0, pkt_num=3D1, check_param=3D{"port= _id": 0, > "mark_id": 0, "queue": 1}, stats=3DFalse) > + rfc.check_iavf_fdir_mark(out0, pkt_num=3D1, > + check_param=3D{"port_id": 0, "mark_id": 0, "queue": 6}, stats=3DFalse) > out1 =3D self.send_pkts_getouput(pkts=3Dpkts[1]) > - rfc.check_iavf_fdir_mark(out1, pkt_num=3D1, check_param=3D{"port= _id": 1, > "mark_id": 0, "queue": 1}, stats=3DFalse) > + rfc.check_iavf_fdir_mark(out1, pkt_num=3D1, > + check_param=3D{"port_id": 1, "mark_id": 0, "queue": 6}, stats=3DFalse) >=20 > # relaunch testpmd, and create the rules, check matched packets. > self.dut.send_expect("quit", "# ") > self.launch_testpmd() > self.create_fdir_rule(rules, check_stats=3DTrue) > out0 =3D self.send_pkts_getouput(pkts=3Dpkts[2]) > - rfc.check_iavf_fdir_mark(out0, pkt_num=3D1, check_param=3D{"port= _id": 0, > "mark_id": 0, "queue": 1}, stats=3DTrue) > + rfc.check_iavf_fdir_mark(out0, pkt_num=3D1, > + check_param=3D{"port_id": 0, "mark_id": 0, "queue": 6}, stats=3DTrue) > out1 =3D self.send_pkts_getouput(pkts=3Dpkts[1]) > - rfc.check_iavf_fdir_mark(out1, pkt_num=3D1, check_param=3D{"port= _id": 1, > "mark_id": 0, "queue": 1}, stats=3DTrue) > + rfc.check_iavf_fdir_mark(out1, pkt_num=3D1, > + check_param=3D{"port_id": 1, "mark_id": 0, "queue": 6}, stats=3DTrue) > self.dut.send_expect("quit", "# ") > self.session_secondary.send_expect("ip link set %s vf 0 mac > 00:11:22:33:44:55" % self.pf0_intf, "# ") > self.dut.close_session(self.session_secondary) > @@ -3356,8 +3369,8 @@ class TestIAVFFdir(TestCase): >=20 > def tear_down(self): > # destroy all flow rule on port 0 > - self.destroy_env() > self.dut.kill_all() > # Wait for NIC to clean up resources > time.sleep(1) > + self.destroy_env() > if getattr(self, 'session_secondary', None): > self.dut.close_session(self.session_secondary) > if getattr(self, 'session_third', None): > -- > 2.17.1