From patchwork Wed Sep 15 05:39:54 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Jiale, SongX" X-Patchwork-Id: 98880 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 8A21DA0C45; Wed, 15 Sep 2021 07:27:40 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 80CD840E25; Wed, 15 Sep 2021 07:27:40 +0200 (CEST) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by mails.dpdk.org (Postfix) with ESMTP id 4D3884003C for ; Wed, 15 Sep 2021 07:27:38 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10107"; a="220344974" X-IronPort-AV: E=Sophos;i="5.85,294,1624345200"; d="scan'208";a="220344974" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Sep 2021 22:27:38 -0700 X-IronPort-AV: E=Sophos;i="5.85,294,1624345200"; d="scan'208";a="544475665" Received: from unknown (HELO dpdk-zhaohy-t.sh.intel.com) ([10.240.183.68]) by fmsmga003-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 14 Sep 2021 22:27:36 -0700 From: Jiale Song To: dts@dpdk.org Cc: Jiale Song Date: Wed, 15 Sep 2021 13:39:54 +0800 Message-Id: <1631684394-95135-2-git-send-email-songx.jiale@intel.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1631684394-95135-1-git-send-email-songx.jiale@intel.com> References: <1631684394-95135-1-git-send-email-songx.jiale@intel.com> Subject: [dts] [PATCH V2 2/2] tests/cvl_dcf_flow_priority: modify the script according to the testplan 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" Signed-off-by: Jiale Song --- tests/TestSuite_cvl_dcf_flow_priority.py | 48 ++++++++++++------------ 1 file changed, 25 insertions(+), 23 deletions(-) mode change 100644 => 100755 tests/TestSuite_cvl_dcf_flow_priority.py diff --git a/tests/TestSuite_cvl_dcf_flow_priority.py b/tests/TestSuite_cvl_dcf_flow_priority.py old mode 100644 new mode 100755 index 07d99d2..8e38df9 --- a/tests/TestSuite_cvl_dcf_flow_priority.py +++ b/tests/TestSuite_cvl_dcf_flow_priority.py @@ -1278,8 +1278,8 @@ class CVLDCFFlowPriorityTest(TestCase): res = filter(bool, map(p_spec.match, out_lines)) result = [i.group(1) for i in res] if need_verify: - self.verify(result == rule_list, - "the rule list is not the same. expect %s, result %s" % (rule_list, result)) + self.verify(sorted(result) == rule_list, + "the rule list is not the same. expect %s, result %s" % (rule_list, sorted(result))) else: return result @@ -1320,6 +1320,7 @@ class CVLDCFFlowPriorityTest(TestCase): rule1=rte_flow_pattern[0:14] + "priority 0" + rte_flow_pattern[13:length] rule2=rte_flow_pattern[0:14] + "priority 1" + rte_flow_pattern[13:length-7]+ "2" + rte_flow_pattern[length-6:length] rte_flow=[rule1, rule2] + #validate 2 rule self.validate_switch_filter_rule(rte_flow) #create 2 rule @@ -1327,31 +1328,34 @@ class CVLDCFFlowPriorityTest(TestCase): self.check_switch_filter_rule_list(0, rule_list) #send matched packets and check matched_dic = test_vector["matched"] - matched_dic["check_func"]["param"]["expect_port"]=2 self.send_and_check_packets(matched_dic) #send mismatched packets and check mismatched_dic = test_vector["mismatched"] mismatched_dic["check_func"]["param"]["expect_port"]=[1,2] mismatched_dic["expect_results"]["expect_pkts"]=[0,0] self.send_and_check_packets(mismatched_dic) - #destroy rule with priority 1 - self.destroy_switch_filter_rule(0, rule_list[1]) - self.check_switch_filter_rule_list(0, ['0']) - #send matched packets and check - destroy_dict1 = copy.deepcopy(matched_dic) - destroy_dict1["check_func"]["param"]["expect_port"]=1 - self.send_and_check_packets(destroy_dict1) - #recreate rule with priority 1 - self.create_switch_filter_rule(rte_flow[1]) - self.check_switch_filter_rule_list(0, rule_list) + #destroy rule with priority 0 self.destroy_switch_filter_rule(0, rule_list[0]) + rule_list.remove('0') self.check_switch_filter_rule_list(0, ['1']) #send matched packets and check + destroy_dict1 = copy.deepcopy(matched_dic) + destroy_dict1["check_func"]["param"]["expect_port"]=2 + self.send_and_check_packets(destroy_dict1) + + #recreate rule with priority 0 (rule 2) + self.create_switch_filter_rule(rte_flow[0]) + rule_list.insert(0, '2') + #destroy rule with priority 1 + self.destroy_switch_filter_rule(0, rule_list[1]) + self.check_switch_filter_rule_list(0, ['2']) + #send matched packets and check destroy_dict2 = copy.deepcopy(matched_dic) self.send_and_check_packets(destroy_dict2) - #destroy rule with priority 1 and check - self.destroy_switch_filter_rule(0, rule_list[1]) + + #destroy rule with priority 0 and check + self.destroy_switch_filter_rule(0, rule_list[0]) self.check_switch_filter_rule_list(0, []) destroy_dict3 = copy.deepcopy(matched_dic) if isinstance(destroy_dict3["expect_results"]["expect_pkts"], list): @@ -1679,7 +1683,6 @@ class CVLDCFFlowPriorityTest(TestCase): rule=["flow create 0 priority 1 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.2 / end actions vf id 2 / end", "flow create 0 priority 0 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.2 / end actions vf id 2 / end"] rule_list=self.create_switch_filter_rule(rule) - #self.check_switch_filter_rule_list(0, rule_list) matched_dic = {"scapy_str":['Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=2)/TCP()/("X"*480)'], "check_func":{"func":rfc.check_vf_rx_packets_number, "param":{"expect_port":2, "expect_queue":"null"}}, @@ -1694,7 +1697,6 @@ class CVLDCFFlowPriorityTest(TestCase): rule=["flow create 0 priority 1 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.2 / end actions vf id 1 / end", "flow create 0 priority 1 ingress pattern eth / ipv4 src is 192.168.0.1 dst is 192.168.0.2 / end actions vf id 2 / end"] rule_list=self.create_switch_filter_rule(rule) - self.check_switch_filter_rule_list(0, rule_list) matched_dic = {"scapy_str":['Ether(dst="68:05:ca:8d:ed:a8")/IP(src="192.168.0.1",dst="192.168.0.2",tos=4,ttl=2)/TCP()/("X"*480)'], "check_func":{"func":rfc.check_vf_rx_packets_number, "param":{"expect_port":[1,2], "expect_queue":"null"}}, @@ -1706,12 +1708,12 @@ class CVLDCFFlowPriorityTest(TestCase): #subcase 3: some rules overlap self.launch_testpmd() - rule=["flow create 0 priority 0 ingress pattern eth / vlan / vlan / pppoes / pppoe_proto_id is 0x21 / end actions vf id 1 / end", - "flow create 0 priority 0 ingress pattern eth / vlan / vlan tci is 2 / end actions vf id 1 / end", - "flow create 0 priority 1 ingress pattern eth / vlan / vlan / pppoes seid is 1 / ipv4 / end actions vf id 2 / end", - "flow create 0 priority 1 ingress pattern eth dst is 00:00:00:01:03:03 / vlan / vlan / end actions vf id 2 / end", - "flow create 0 priority 1 ingress pattern eth dst is 00:00:00:01:03:03 / end actions vf id 3 / end", - "flow create 0 priority 1 ingress pattern eth / vlan tci is 1 / vlan tci is 2 / end actions vf id 3 / end"] + rule=["flow create 0 priority 1 ingress pattern eth / vlan / vlan / pppoes / pppoe_proto_id is 0x21 / end actions vf id 1 / end", + "flow create 0 priority 1 ingress pattern eth / vlan / vlan tci is 2 / end actions vf id 1 / end", + "flow create 0 priority 0 ingress pattern eth / vlan / vlan / pppoes seid is 1 / ipv4 / end actions vf id 2 / end", + "flow create 0 priority 0 ingress pattern eth dst is 00:00:00:01:03:03 / vlan / vlan / end actions vf id 2 / end", + "flow create 0 priority 0 ingress pattern eth dst is 00:00:00:01:03:03 / end actions vf id 3 / end", + "flow create 0 priority 0 ingress pattern eth / vlan tci is 1 / vlan tci is 2 / end actions vf id 3 / end"] rule_list=self.create_switch_filter_rule(rule) self.check_switch_filter_rule_list(0, rule_list) matched_dic = {"scapy_str":['Ether(dst="00:00:00:01:03:03")/Dot1Q(vlan=1)/Dot1Q(vlan=2)/Raw("x"*480)'],