From patchwork Tue Dec 27 06:35:42 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Weiyuan Li X-Patchwork-Id: 121400 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 00FDDA04FD; Tue, 27 Dec 2022 07:35:47 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id CEADC41143; Tue, 27 Dec 2022 07:35:47 +0100 (CET) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mails.dpdk.org (Postfix) with ESMTP id DED4140E2D for ; Tue, 27 Dec 2022 07:35:45 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1672122946; x=1703658946; h=from:to:cc:subject:date:message-id:mime-version: content-transfer-encoding; bh=7J2Hjfx+9Ezaulev8ltK3WusGcTFAKE/m5CzAGXx0JU=; b=a8td3cdXrsGuUpph6fJ5gizP05gU91IhPahe6xgwoNbsGv/bqf+FkoGP pS3BqmKBoFk3R9E20V+8H1skRGpwkG6pfkU6YppfbCzYJ3Pz7NVjgx3zU g76oKwLxy6fzL1VMg1uSZNijw3cX3cxWD31mIka6Dt2Fn6O0rxFl9SCQu uIGSZ2ojgj88H7blb83TfhgVDv8LE5sUMB5awVpW7522MXcDlNVW+MOr9 7s2tWo+mGTrhtSSCtXs7vaf7teixpKWIPSOy78/GSsorVvXqqDw6XA95t UthaIH4wkX0nD6ZUvgXMlzBnaXhnGHZnhklZsoa8D9hJQWRQzhW3EMhGw A==; X-IronPort-AV: E=McAfee;i="6500,9779,10572"; a="318328400" X-IronPort-AV: E=Sophos;i="5.96,277,1665471600"; d="scan'208";a="318328400" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Dec 2022 22:35:44 -0800 X-IronPort-AV: E=McAfee;i="6500,9779,10572"; a="646334380" X-IronPort-AV: E=Sophos;i="5.96,277,1665471600"; d="scan'208";a="646334380" Received: from unknown (HELO localhost.localdomain) ([10.239.252.248]) by orsmga007-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Dec 2022 22:35:42 -0800 From: Weiyuan Li To: dts@dpdk.org Cc: Weiyuan Li , Yuan Peng Subject: [dts][PATCH V2 1/2] test_plans/ice_advanced_rss_vlan_esp_ah_l2tp_pfcp: add PF new cases according to testplan Date: Tue, 27 Dec 2022 14:35:42 +0800 Message-Id: <20221227063543.14134-1-weiyuanx.li@intel.com> X-Mailer: git-send-email 2.27.0 MIME-Version: 1.0 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 Add PF new cases according to testplan. Signed-off-by: Yuan Peng --- v2: -add signed-off-by. ...ed_rss_vlan_esp_ah_l2tp_pfcp_test_plan.rst | 523 ++++++++++++++++++ 1 file changed, 523 insertions(+) diff --git a/test_plans/ice_advanced_rss_vlan_esp_ah_l2tp_pfcp_test_plan.rst b/test_plans/ice_advanced_rss_vlan_esp_ah_l2tp_pfcp_test_plan.rst index f365784e..12322737 100644 --- a/test_plans/ice_advanced_rss_vlan_esp_ah_l2tp_pfcp_test_plan.rst +++ b/test_plans/ice_advanced_rss_vlan_esp_ah_l2tp_pfcp_test_plan.rst @@ -671,6 +671,8 @@ Test case: MAC_IPV6_AH Test case: MAC_VLAN_IPV4_PAY ============================ +Subcase: MAC_VLAN_IPV4_PAY_VLAN +------------------------------- 1. validate a rule for RSS type of MAC_VLAN_IPV4_PAY:: @@ -724,8 +726,65 @@ Test case: MAC_VLAN_IPV4_PAY check the rule not exists. send the matched packets, check the hash values of the packets are not exist. +Subcase: MAC_VLAN_IPV4_PAY_L3DST +-------------------------------- + +1. validate a rule for RSS type of MAC_VLAN_IPV4_PAY:: + + testpmd> flow validate 0 ingress pattern eth / vlan / ipv4 / end actions rss types ipv4 l3-dst-only end key_len 0 queues end / end + + get the message:: + + Flow rule validated + + check the flow list:: + + testpmd> flow list 0 + + check the rule not exists in the list. + +2. create a rule for RSS type of MAC_VLAN_IPV4_PAY:: + + testpmd> flow create 0 ingress pattern eth / vlan / ipv4 / end actions rss types ipv4 l3-dst-only end key_len 0 queues end / end + testpmd> flow list 0 + + check the rule exists in the list. + +3. send matched packets + + * MAC_VLAN_IPV4_PAY packet:: + + sendp([Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.2")/Raw("x" * 80)],iface="ens786f0",count=1) + + change the field [l3 dst address], send packets:: + + sendp([Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.3")/Raw("x" * 80)],iface="ens786f0",count=1) + + check the hash value is different from the first packet. + change other fields, send packets:: + + sendp([Ether(src="10:22:33:44:55:99", dst="00:11:22:33:44:53",type=0x8100)/Dot1Q(vlan=2,type=0x0800)/IP(src="192.168.1.3", dst="192.168.1.2")/Raw("x" * 80)],iface="ens786f0",count=1) + + check the hash values are the same as the first packet. + +4. send packets mismatched the pattern:: + + sendp([Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/Raw("x" * 80)],iface="ens786f0",count=1) + + check the hash values not exist. + +5. destroy the rule:: + + testpmd> flow destroy 0 rule 0 + testpmd> flow list 0 + + check the rule not exists. + send the matched packets, check the hash values of the packets are not exist. + Test case: MAC_VLAN_IPV4_UDP_PAY ================================ +Subcase: MAC_VLAN_IPV4_UDP_VLAN +------------------------------- 1. validate a rule for RSS type of MAC_VLAN_IPV4_UDP_PAY:: @@ -780,8 +839,122 @@ Test case: MAC_VLAN_IPV4_UDP_PAY check the rule not exists. send the matched packets, check the hash values of the packets are not exist. +Subcase: MAC_VLAN_IPV4_UDP_L3SRC +-------------------------------- + +1. validate a rule for RSS type of MAC_VLAN_IPV4_UDP_PAY:: + + testpmd> flow validate 0 ingress pattern eth / vlan / ipv4 / udp / end actions rss types ipv4 l3-src-only end key_len 0 queues end / end + + get the message:: + + Flow rule validated + + check the flow list:: + + testpmd> flow list 0 + + check the rule not exists in the list. + +2. create a rule for RSS type of MAC_VLAN_IPV4_UDP_PAY:: + + testpmd> flow create 0 ingress pattern eth / vlan / ipv4 / udp / end actions rss types ipv4 l3-src-only end key_len 0 queues end / end + testpmd> flow list 0 + + check the rule exists in the list. + +3. send matched packets + + * MAC_VLAN_IPV4_UDP_PAY packet:: + + sendp([Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.2")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1) + + change the field [l3 src address], send packets:: + + sendp([Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.3", dst="192.168.1.2")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1) + + check the hash values are different from the first packet. + change other fields, send packets:: + + sendp([Ether(src="10:22:33:44:55:99", dst="00:11:22:33:44:53",type=0x8100)/Dot1Q(vlan=2,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.4")/UDP(sport=19,dport=99)/Raw("x" * 80)],iface="ens786f0",count=1) + + check the hash values are the same as as the first packet. + +4. send packets mismatched the pattern:: + + sendp([Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.2")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1) + sendp([Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1) + + check the hash values of the packets not exist. + +5. destroy the rule:: + + testpmd> flow destroy 0 rule 0 + testpmd> flow list 0 + + check the rule not exists. + send the matched packets, check the hash values of the packets are not exist. + +Subcase: MAC_VLAN_IPV4_UDP_L4DST +-------------------------------- + +1. validate a rule for RSS type of MAC_VLAN_IPV4_UDP_PAY:: + + testpmd> flow validate 0 ingress pattern eth / vlan / ipv4 / udp / end actions rss types ipv4-udp l4-dst-only end key_len 0 queues end / end + + get the message:: + + Flow rule validated + + check the flow list:: + + testpmd> flow list 0 + + check the rule not exists in the list. + +2. create a rule for RSS type of MAC_VLAN_IPV4_UDP_PAY:: + + testpmd> flow create 0 ingress pattern eth / vlan / ipv4 / udp / end actions rss types ipv4-udp l4-dst-only end key_len 0 queues end / end + testpmd> flow list 0 + + check the rule exists in the list. + +3. send matched packets + + * MAC_VLAN_IPV4_UDP_PAY packet:: + + sendp([Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.2")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1) + + change the field [l4 dst address], send packets:: + + sendp([Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.2")/UDP(sport=25,dport=24)/Raw("x" * 80)],iface="ens786f0",count=1) + + check the hash values are different from the first packet. + change other fields, send packets:: + + sendp([Ether(src="10:22:33:44:55:99", dst="00:11:22:33:44:53",type=0x8100)/Dot1Q(vlan=2,type=0x0800)/IP(src="192.168.1.3", dst="192.168.1.4")/UDP(sport=19,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1) + + check the hash values are the same as as the first packet. + +4. send packets mismatched the pattern:: + + sendp([Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.2")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1) + sendp([Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1) + + check the hash values of the packets not exist. + +5. destroy the rule:: + + testpmd> flow destroy 0 rule 0 + testpmd> flow list 0 + + check the rule not exists. + send the matched packets, check the hash values of the packets are not exist. + Test case: MAC_VLAN_IPV4_TCP_PAY ================================ +Subcase: MAC_VLAN_IPV4_TCP_VLAN +------------------------------- 1. validate a rule for RSS type of MAC_VLAN_IPV4_TCP_PAY:: @@ -836,8 +1009,67 @@ Test case: MAC_VLAN_IPV4_TCP_PAY check the rule not exists. send the matched packets, check the hash values of the packets are not exist. +Subcase: MAC_VLAN_IPV4_TCP_l3SRC_L4SRC +-------------------------------------- + +1. validate a rule for RSS type of MAC_VLAN_IPV4_TCP_PAY:: + + testpmd> flow validate 0 ingress pattern eth / vlan / ipv4 / tcp / end actions rss types ipv4-tcp l3-src-only l4-src-only end key_len 0 queues end / end + + get the message:: + + Flow rule validated + + check the flow list:: + + testpmd> flow list 0 + + check the rule not exists in the list. + +2. create a rule for RSS type of MAC_VLAN_IPV4_TCP_PAY:: + + testpmd> flow create 0 ingress pattern eth / vlan / ipv4 / tcp / end actions rss types ipv4-tcp l3-src-only l4-src-only end key_len 0 queues end / end + testpmd> flow list 0 + + check the rule exists in the list. + +3. send matched packets + + * MAC_VLAN_IPV4_TCP_PAY packet:: + + sendp([Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.2")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1) + + change the field [l3 src address and l4 sport], send packets:: + + sendp([Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.3", dst="192.168.1.2")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1) + sendp([Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.2")/TCP(sport=22,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1) + + check the hash values are different from the first packet. + change other fields, send packets:: + + sendp([Ether(src="10:22:33:44:55:99", dst="00:11:22:33:44:53",type=0x8100)/Dot1Q(vlan=2,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.4")/TCP(sport=25,dport=99)/Raw("x" * 80)],iface="ens786f0",count=1) + + check the hash values are the same as as the first packet. + +4. send packets mismatched the pattern:: + + sendp([Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.2")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1) + sendp([Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1) + + check the hash values of the packets not exist. + +5. destroy the rule:: + + testpmd> flow destroy 0 rule 0 + testpmd> flow list 0 + + check the rule not exists. + send the matched packets, check the hash values of the packets are not exist. + Test case: MAC_VLAN_IPV4_SCTP_PAY ================================= +Subcase: MAC_VLAN_IPV4_SCTP_VLAN +-------------------------------- 1. validate a rule for RSS type of MAC_VLAN_IPV4_SCTP_PAY:: @@ -892,8 +1124,69 @@ Test case: MAC_VLAN_IPV4_SCTP_PAY check the rule not exists. send the matched packets, check the hash values of the packets are not exist. +Subcase: MAC_VLAN_IPV4_SCTP_ALL +------------------------------- + +1. validate a rule for RSS type of MAC_VLAN_IPV4_SCTP_PAY:: + + testpmd> flow validate 0 ingress pattern eth / vlan / ipv4 / sctp / end actions rss types ipv4-sctp end key_len 0 queues end / end + + get the message:: + + Flow rule validated + + check the flow list:: + + testpmd> flow list 0 + + check the rule not exists in the list. + +2. create a rule for RSS type of MAC_VLAN_IPV4_SCTP_PAY:: + + testpmd> flow create 0 ingress pattern eth / vlan / ipv4 / sctp / end actions rss types ipv4-sctp end key_len 0 queues end / end + testpmd> flow list 0 + + check the rule exists in the list. + +3. send matched packets + + * MAC_VLAN_IPV4_SCTP_PAY packet:: + + sendp([Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.2")/SCTP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1) + + change the field [ipv4-sctp], send packets:: + + sendp([Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.3", dst="192.168.1.2")/SCTP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1) + sendp([Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.4")/SCTP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1) + sendp([Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.2")/SCTP(sport=19,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1) + sendp([Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.2")/SCTP(sport=25,dport=99)/Raw("x" * 80)],iface="ens786f0",count=1) + + check the hash values are different from the first packet. + change other fields, send packets:: + + sendp([Ether(src="10:22:33:44:55:99", dst="00:11:22:33:44:53",type=0x8100)/Dot1Q(vlan=2,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.2")/SCTP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1) + + check the hash values are the same as as the first packet. + +4. send packets mismatched the pattern:: + + sendp([Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.2")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1) + sendp([Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/SCTP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1) + + check the hash values of the packets not exist. + +5. destroy the rule:: + + testpmd> flow destroy 0 rule 0 + testpmd> flow list 0 + + check the rule not exists. + send the matched packets, check the hash values of the packets are not exist. + Test case: MAC_VLAN_IPV6_PAY ============================ +Subcase: MAC_VLAN_IPV6_PAY_vlan +------------------------------- 1. validate a rule for RSS type of MAC_VLAN_IPV6_PAY:: @@ -947,8 +1240,65 @@ Test case: MAC_VLAN_IPV6_PAY check the rule not exists. send the matched packets, check the hash values of the packets are not exist. +Subcase: MAC_VLAN_IPV6_PAY_L3SRC +-------------------------------- + +1. validate a rule for RSS type of MAC_VLAN_IPV6_PAY:: + + testpmd> flow validate 0 ingress pattern eth / vlan / ipv6 / end actions rss types ipv6 l3-src-only end key_len 0 queues end / end + + get the message:: + + Flow rule validated + + check the flow list:: + + testpmd> flow list 0 + + check the rule not exists in the list. + +2. create a rule for RSS type of MAC_VLAN_IPV6_PAY:: + + testpmd> flow create 0 ingress pattern eth / vlan / ipv6 / end actions rss types ipv6 l3-src-only end key_len 0 queues end / end + testpmd> flow list 0 + + check the rule exists in the list. + +3. send matched packets + + * MAC_VLAN_IPV6_PAY packet:: + + sendp([Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/Raw("x" * 80)],iface="ens786f0",count=1) + + change the field [l3 src address], send packets:: + + sendp([Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1537", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/Raw("x" * 80)],iface="ens786f0",count=1) + + check the hash values are different from the first packet. + change other fields, send packets:: + + sendp([Ether(src="10:22:33:44:55:99", dst="00:11:22:33:44:53",type=0x8100)/Dot1Q(vlan=2,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2023")/Raw("y" * 80)],iface="ens786f0",count=1) + + check the hash values are the same as the first packet. + +4. send packets mismatched the pattern:: + + sendp([Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.2")/Raw("x" * 80)],iface="ens786f0",count=1) + + check the hash values not exist. + +5. destroy the rule:: + + testpmd> flow destroy 0 rule 0 + testpmd> flow list 0 + + check the rule not exists. + send the matched packets, check the hash values of the packets are not exist. + Test case: MAC_VLAN_IPV6_UDP_PAY ================================ +Subcase: MAC_VLAN_IPV6_UDP_VLAN +------------------------------- 1. validate a rule for RSS type of MAC_VLAN_IPV6_UDP_PAY:: @@ -1003,8 +1353,66 @@ Test case: MAC_VLAN_IPV6_UDP_PAY check the rule not exists. send the matched packets, check the hash values of the packets are not exist. +Subcase: MAC_VLAN_IPV6_UDP_L4SRC +-------------------------------- + +1. validate a rule for RSS type of MAC_VLAN_IPV6_UDP_PAY:: + + testpmd> flow validate 0 ingress pattern eth / vlan / ipv6 / udp / end actions rss types ipv6-udp l4-src-only end key_len 0 queues end / end + + get the message:: + + Flow rule validated + + check the flow list:: + + testpmd> flow list 0 + + check the rule not exists in the list. + +2. create a rule for RSS type of MAC_VLAN_IPV6_UDP_PAY:: + + testpmd> flow create 0 ingress pattern eth / vlan / ipv6 / udp / end actions rss types ipv6-udp l4-src-only end key_len 0 queues end / end + testpmd> flow list 0 + + check the rule exists in the list. + +3. send matched packets + + * MAC_VLAN_IPV6_UDP_PAY packet:: + + sendp([Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1) + + change the field [l4 src address], send packets:: + + sendp([Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/UDP(sport=19,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1) + + check the hash values are different from the first packet. + change other fields, send packets:: + + sendp([Ether(src="10:22:33:44:55:99", dst="00:11:22:33:44:53",type=0x8100)/Dot1Q(vlan=2,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1537", dst="CDCD:910A:2222:5498:8475:1111:3900:2023")/UDP(sport=25,dport=99)/Raw("x" * 80)],iface="ens786f0",count=1) + + check the hash values are the same as the first packet. + +4. send packets mismatched the pattern:: + + sendp([Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.2")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1) + sendp([Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1) + + check the hash values not exist. + +5. destroy the rule:: + + testpmd> flow destroy 0 rule 0 + testpmd> flow list 0 + + check the rule not exists. + send the matched packets, check the hash values of the packets are not exist. + Test case: MAC_VLAN_IPV6_TCP_PAY ================================ +Subcase: MAC_VLAN_IPV6_TCP_VLAN +------------------------------- 1. validate a rule for RSS type of MAC_VLAN_IPV6_TCP_PAY:: @@ -1059,8 +1467,66 @@ Test case: MAC_VLAN_IPV6_TCP_PAY check the rule not exists. send the matched packets, check the hash values of the packets are not exist. +Subcase: MAC_VLAN_IPV6_TCP_L3DST +-------------------------------- + +1. validate a rule for RSS type of MAC_VLAN_IPV6_TCP_PAY:: + + testpmd> flow validate 0 ingress pattern eth / vlan / ipv6 / tcp / end actions rss types ipv6-tcp l3-dst-only end key_len 0 queues end / end + + get the message:: + + Flow rule validated + + check the flow list:: + + testpmd> flow list 0 + + check the rule not exists in the list. + +2. create a rule for RSS type of MAC_VLAN_IPV6_TCP_PAY:: + + testpmd> flow create 0 ingress pattern eth / vlan / ipv6 / tcp / end actions rss types ipv6-tcp l3-dst-only end key_len 0 queues end / end + testpmd> flow list 0 + + check the rule exists in the list. + +3. send matched packets + + * MAC_VLAN_IPV6_TCP_PAY packet:: + + sendp([Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1) + + change the field [l3 dst address], send packets:: + + sendp([Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2023")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1) + + check the hash values are different from the first packet. + change other fields, send packets:: + + sendp([Ether(src="10:22:33:44:55:99", dst="00:11:22:33:44:53",type=0x8100)/Dot1Q(vlan=2,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1537", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/TCP(sport=19,dport=99)/Raw("x" * 80)],iface="ens786f0",count=1) + + check the hash values are the same as the first packet. + +4. send packets mismatched the pattern:: + + sendp([Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.2")/TCP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1) + sendp([Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1) + + check the hash values not exist. + +5. destroy the rule:: + + testpmd> flow destroy 0 rule 0 + testpmd> flow list 0 + + check the rule not exists. + send the matched packets, check the hash values of the packets are not exist. + Test case: MAC_VLAN_IPV6_SCTP_PAY ================================= +Subcase: MAC_VLAN_IPV6_SCTP_VLAN +-------------------------------- 1. validate a rule for RSS type of MAC_VLAN_IPV6_SCTP_PAY:: @@ -1115,6 +1581,63 @@ Test case: MAC_VLAN_IPV6_SCTP_PAY check the rule not exists. send the matched packets, check the hash values the packets are not exist. +Subcase: MAC_VLAN_IPV6_SCTP_L3DST_L4DST +--------------------------------------- + +1. validate a rule for RSS type of MAC_VLAN_IPV6_SCTP_PAY:: + + testpmd> flow validate 0 ingress pattern eth / vlan / ipv6 / sctp / end actions rss types ipv6-sctp l3-dst-only l4-dst-only end key_len 0 queues end / end + + get the message:: + + Flow rule validated + + check the flow list:: + + testpmd> flow list 0 + + check the rule not exists in the list. + +2. create a rule for RSS type of MAC_VLAN_IPV6_SCTP_PAY:: + + testpmd> flow create 0 ingress pattern eth / vlan / ipv6 / sctp / end actions rss types ipv6-sctp l3-dst-only l4-dst-only end key_len 0 queues end / end + testpmd> flow list 0 + + check the rule exists in the list. + +3. send matched packets + + * MAC_VLAN_IPV6_SCTP_PAY packet:: + + sendp([Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/SCTP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1) + + change the field [l3 dst address and l4 dport], send packets:: + + sendp([Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2023")/SCTP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1) + sendp([Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/SCTP(sport=25,dport=99)/Raw("x" * 80)],iface="ens786f0",count=1) + + check the hash values are different from the first packet. + change other fields, send packets:: + + sendp([Ether(src="10:22:33:44:55:99", dst="00:11:22:33:44:53",type=0x8100)/Dot1Q(vlan=2,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1537", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/SCTP(sport=19,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1) + + check the hash values are the same as the first packet. + +4. send packets mismatched the pattern:: + + sendp([Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.2")/SCTP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1) + sendp([Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/UDP(sport=25,dport=23)/Raw("x" * 80)],iface="ens786f0",count=1) + + check the hash values not exist. + +5. destroy the rule:: + + testpmd> flow destroy 0 rule 0 + testpmd> flow list 0 + + check the rule not exists. + send the matched packets, check the hash values the packets are not exist. + Test case: negative cases ========================= From patchwork Tue Dec 27 06:35:43 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Weiyuan Li X-Patchwork-Id: 121401 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 068A7A0540; Tue, 27 Dec 2022 07:35:49 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id EE1884114B; Tue, 27 Dec 2022 07:35:48 +0100 (CET) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mails.dpdk.org (Postfix) with ESMTP id 16D2A40E2D for ; Tue, 27 Dec 2022 07:35:46 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1672122947; x=1703658947; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=PYfaZ+kEwmohH7iwxtYgSM/x+oM36Sveesym1ZMjkgk=; b=jAHBMUDH01KzX4a8OUkc2VsKQnc2kafePfR/v2zG8DgjSF/lrYgEQtcm NW7aoX7ArXaHFDNHTf4V8dvkZm+dpuMr8BRMaurkfthjI787sl+qZ98qo HHckm67lowVyojmxcYexvgultTAvBxye+cSV0/jS3X2nznLujUKZF9COQ vBZha/3/FqYfsOhwQ3oRbzi84k0Li7WWMxY+0s0F/8vP4UWVNzc0N3QjI IVvoidndMOZJT9b3+IGphRkEn5JrjRwdcqnThGO/l4L5dsnTisArNDgh6 Tvsk8DHZOh/PWrg3B1yoJv8rCW/w7u04F0gCeWvjN+t/beh2NPGjfGHy7 w==; X-IronPort-AV: E=McAfee;i="6500,9779,10572"; a="318328402" X-IronPort-AV: E=Sophos;i="5.96,277,1665471600"; d="scan'208";a="318328402" Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Dec 2022 22:35:46 -0800 X-IronPort-AV: E=McAfee;i="6500,9779,10572"; a="646334387" X-IronPort-AV: E=Sophos;i="5.96,277,1665471600"; d="scan'208";a="646334387" Received: from unknown (HELO localhost.localdomain) ([10.239.252.248]) by orsmga007-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 26 Dec 2022 22:35:44 -0800 From: Weiyuan Li To: dts@dpdk.org Cc: Weiyuan Li Subject: [dts][PATCH V2 2/2] tests/ice_advanced_rss_vlan_esp_ah_l2tp_pfcp: add PF new cases according to testplan Date: Tue, 27 Dec 2022 14:35:43 +0800 Message-Id: <20221227063543.14134-2-weiyuanx.li@intel.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20221227063543.14134-1-weiyuanx.li@intel.com> References: <20221227063543.14134-1-weiyuanx.li@intel.com> MIME-Version: 1.0 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 Add PF new cases according to testplan. Signed-off-by: Weiyuan Li Tested-by: Song Jiale Acked-by: Yuan Peng Acked-by: Lijuan Tu --- v2: -add signed-off-by. ..._ice_advanced_rss_vlan_esp_ah_l2tp_pfcp.py | 526 +++++++++++++++++- 1 file changed, 518 insertions(+), 8 deletions(-) diff --git a/tests/TestSuite_ice_advanced_rss_vlan_esp_ah_l2tp_pfcp.py b/tests/TestSuite_ice_advanced_rss_vlan_esp_ah_l2tp_pfcp.py index dd610bc4..0a18c4b9 100644 --- a/tests/TestSuite_ice_advanced_rss_vlan_esp_ah_l2tp_pfcp.py +++ b/tests/TestSuite_ice_advanced_rss_vlan_esp_ah_l2tp_pfcp.py @@ -448,6 +448,19 @@ mac_vlan_ipv4_pay_packets = { ], } +mac_vlan_ipv4_pay_l3dst_packets = { + "match": { + "mac_vlan_ipv4_pay": [ + 'Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.2")/Raw("x" * 80)', + 'Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=2,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.3")/Raw("x" * 80)', + 'Ether(src="10:22:33:44:55:99", dst="00:11:22:33:44:53",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.3", dst="192.168.1.2")/Raw("x" * 80)', + ], + }, + "mismatch": [ + 'Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/Raw("x" * 80)' + ], +} + mac_vlan_ipv4_pay = { "sub_casename": "mac_vlan_ipv4_pay", "port_id": 0, @@ -478,6 +491,49 @@ mac_vlan_ipv4_pay = { ], } +mac_vlan_ipv4_pay_l3dst = { + "sub_casename": "mac_vlan_ipv4_pay_l3dst", + "port_id": 0, + "rule": "flow create 0 ingress pattern eth / vlan / ipv4 / end actions rss types ipv4 l3-dst-only end key_len 0 queues end / end", + "test": [ + { + "send_packet": mac_vlan_ipv4_pay_l3dst_packets["match"][ + "mac_vlan_ipv4_pay" + ][0], + "action": {"save_hash": "mac_vlan_ipv4_pay_match"}, + }, + { + "send_packet": mac_vlan_ipv4_pay_l3dst_packets["match"][ + "mac_vlan_ipv4_pay" + ][1], + "action": {"check_hash_different": "mac_vlan_ipv4_pay_match"}, + }, + { + "send_packet": mac_vlan_ipv4_pay_l3dst_packets["match"][ + "mac_vlan_ipv4_pay" + ][2], + "action": {"check_hash_same": "mac_vlan_ipv4_pay_match"}, + }, + { + "send_packet": mac_vlan_ipv4_pay_l3dst_packets["mismatch"][0], + "action": "check_no_hash", + }, + ], + "post-test": [ + { + "send_packet": mac_vlan_ipv4_pay_l3dst_packets["match"][ + "mac_vlan_ipv4_pay" + ], + "action": "check_no_hash", + }, + ], +} + +mac_vlan_ipv4_pay_list = [ + mac_vlan_ipv4_pay, + mac_vlan_ipv4_pay_l3dst, +] + mac_vlan_ipv4_udp_pay_packets = { "match": { "mac_vlan_ipv4_udp_pay": [ @@ -492,6 +548,34 @@ mac_vlan_ipv4_udp_pay_packets = { ], } +mac_vlan_ipv4_udp_l3src_packets = { + "match": { + "mac_vlan_ipv4_udp_pay": [ + 'Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.2")/UDP(sport=25,dport=23)/Raw("x" * 80)', + 'Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=2,type=0x0800)/IP(src="192.168.1.3", dst="192.168.1.2")/UDP(sport=25,dport=23)/Raw("x" * 80)', + 'Ether(src="10:22:33:44:55:99", dst="00:11:22:33:44:53",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.4")/UDP(sport=19,dport=99)/Raw("x" * 80)', + ] + }, + "mismatch": [ + 'Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.2")/TCP(sport=25,dport=23)/Raw("x" * 80)', + 'Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/UDP(sport=25,dport=23)/Raw("x" * 80)', + ], +} + +mac_vlan_ipv4_udp_l4dst_packets = { + "match": { + "mac_vlan_ipv4_udp_pay": [ + 'Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.2")/UDP(sport=25,dport=23)/Raw("x" * 80)', + 'Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=2,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.2")/UDP(sport=25,dport=24)/Raw("x" * 80)', + 'Ether(src="10:22:33:44:55:99", dst="00:11:22:33:44:53",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.3", dst="192.168.1.4")/UDP(sport=19,dport=23)/Raw("x" * 80)', + ] + }, + "mismatch": [ + 'Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.2")/TCP(sport=25,dport=23)/Raw("x" * 80)', + 'Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/UDP(sport=25,dport=23)/Raw("x" * 80)', + ], +} + mac_vlan_ipv4_udp_pay = { "sub_casename": "mac_vlan_ipv4_udp_pay", "port_id": 0, @@ -530,6 +614,88 @@ mac_vlan_ipv4_udp_pay = { ], } +mac_vlan_ipv4_udp_l3src = { + "sub_casename": "mac_vlan_ipv4_udp_l3src", + "port_id": 0, + "rule": "flow create 0 ingress pattern eth / vlan / ipv4 / udp / end actions rss types ipv4 l3-src-only end key_len 0 queues end / end", + "test": [ + { + "send_packet": mac_vlan_ipv4_udp_l3src_packets["match"][ + "mac_vlan_ipv4_udp_pay" + ][0], + "action": {"save_hash": "mac_vlan_ipv4_udp_pay_match"}, + }, + { + "send_packet": mac_vlan_ipv4_udp_l3src_packets["match"][ + "mac_vlan_ipv4_udp_pay" + ][1], + "action": {"check_hash_different": "mac_vlan_ipv4_udp_pay_match"}, + }, + { + "send_packet": mac_vlan_ipv4_udp_l3src_packets["match"][ + "mac_vlan_ipv4_udp_pay" + ][2], + "action": {"check_hash_same": "mac_vlan_ipv4_udp_pay_match"}, + }, + { + "send_packet": mac_vlan_ipv4_udp_l3src_packets["mismatch"], + "action": "check_no_hash", + }, + ], + "post-test": [ + { + "send_packet": mac_vlan_ipv4_udp_l3src_packets["match"][ + "mac_vlan_ipv4_udp_pay" + ], + "action": "check_no_hash", + }, + ], +} + +mac_vlan_ipv4_udp_l4dst = { + "sub_casename": "mac_vlan_ipv4_udp_l4dst", + "port_id": 0, + "rule": "flow create 0 ingress pattern eth / vlan / ipv4 / udp / end actions rss types ipv4-udp l4-dst-only end key_len 0 queues end / end", + "test": [ + { + "send_packet": mac_vlan_ipv4_udp_l4dst_packets["match"][ + "mac_vlan_ipv4_udp_pay" + ][0], + "action": {"save_hash": "mac_vlan_ipv4_udp_pay_match"}, + }, + { + "send_packet": mac_vlan_ipv4_udp_l4dst_packets["match"][ + "mac_vlan_ipv4_udp_pay" + ][1], + "action": {"check_hash_different": "mac_vlan_ipv4_udp_pay_match"}, + }, + { + "send_packet": mac_vlan_ipv4_udp_l4dst_packets["match"][ + "mac_vlan_ipv4_udp_pay" + ][2], + "action": {"check_hash_same": "mac_vlan_ipv4_udp_pay_match"}, + }, + { + "send_packet": mac_vlan_ipv4_udp_l4dst_packets["mismatch"], + "action": "check_no_hash", + }, + ], + "post-test": [ + { + "send_packet": mac_vlan_ipv4_udp_l4dst_packets["match"][ + "mac_vlan_ipv4_udp_pay" + ], + "action": "check_no_hash", + }, + ], +} + +mac_vlan_ipv4_udp_pay_list = [ + mac_vlan_ipv4_udp_pay, + mac_vlan_ipv4_udp_l3src, + mac_vlan_ipv4_udp_l4dst, +] + mac_vlan_ipv4_tcp_pay_packets = { "match": { "mac_vlan_ipv4_tcp_pay": [ @@ -544,6 +710,20 @@ mac_vlan_ipv4_tcp_pay_packets = { ], } +mac_vlan_ipv4_tcp_l3src_l4src_packets = { + "match": { + "mac_vlan_ipv4_tcp_pay": [ + 'Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.2")/TCP(sport=25,dport=23)/Raw("x" * 80)', + 'Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.3", dst="192.168.1.2")/TCP(sport=25,dport=23)/Raw("x" * 80)', + 'Ether(src="10:22:33:44:55:99", dst="00:11:22:33:44:53",type=0x8100)/Dot1Q(vlan=2,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.4")/TCP(sport=25,dport=99)/Raw("x" * 80)', + ] + }, + "mismatch": [ + 'Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.2")/UDP(sport=25,dport=23)/Raw("x" * 80)', + 'Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/TCP(sport=25,dport=23)/Raw("x" * 80)', + ], +} + mac_vlan_ipv4_tcp_pay = { "sub_casename": "mac_vlan_ipv4_tcp_pay", "port_id": 0, @@ -582,6 +762,49 @@ mac_vlan_ipv4_tcp_pay = { ], } +mac_vlan_ipv4_tcp_l3src_l4src = { + "sub_casename": "mac_vlan_ipv4_tcp_l3src_l4src", + "port_id": 0, + "rule": "flow create 0 ingress pattern eth / vlan / ipv4 / tcp / end actions rss types ipv4-tcp l3-src-only l4-src-only end key_len 0 queues end / end", + "test": [ + { + "send_packet": mac_vlan_ipv4_tcp_l3src_l4src_packets["match"][ + "mac_vlan_ipv4_tcp_pay" + ][0], + "action": {"save_hash": "mac_vlan_ipv4_tcp_pay_match"}, + }, + { + "send_packet": mac_vlan_ipv4_tcp_l3src_l4src_packets["match"][ + "mac_vlan_ipv4_tcp_pay" + ][1], + "action": {"check_hash_different": "mac_vlan_ipv4_tcp_pay_match"}, + }, + { + "send_packet": mac_vlan_ipv4_tcp_l3src_l4src_packets["match"][ + "mac_vlan_ipv4_tcp_pay" + ][2], + "action": {"check_hash_same": "mac_vlan_ipv4_tcp_pay_match"}, + }, + { + "send_packet": mac_vlan_ipv4_tcp_l3src_l4src_packets["mismatch"], + "action": "check_no_hash", + }, + ], + "post-test": [ + { + "send_packet": mac_vlan_ipv4_tcp_l3src_l4src_packets["match"][ + "mac_vlan_ipv4_tcp_pay" + ], + "action": "check_no_hash", + }, + ], +} + +mac_vlan_ipv4_tcp_pay_list = [ + mac_vlan_ipv4_tcp_pay, + mac_vlan_ipv4_tcp_l3src_l4src, +] + mac_vlan_ipv4_sctp_pay_packets = { "match": { "mac_vlan_ipv4_sctp_pay": [ @@ -596,6 +819,23 @@ mac_vlan_ipv4_sctp_pay_packets = { ], } +mac_vlan_ipv4_sctp_all_packets = { + "match": { + "mac_vlan_ipv4_sctp_pay": [ + 'Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.2")/SCTP(sport=25,dport=23)/Raw("x" * 80)', + 'Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.3", dst="192.168.1.2")/SCTP(sport=25,dport=23)/Raw("x" * 80)', + 'Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.4")/SCTP(sport=25,dport=23)/Raw("x" * 80)', + 'Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.2")/SCTP(sport=19,dport=23)/Raw("x" * 80)', + 'Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.2")/SCTP(sport=25,dport=99)/Raw("x" * 80)', + 'Ether(src="10:22:33:44:55:99", dst="00:11:22:33:44:53",type=0x8100)/Dot1Q(vlan=2,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.2")/SCTP(sport=25,dport=23)/Raw("x" * 80)', + ] + }, + "mismatch": [ + 'Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.2")/UDP(sport=25,dport=23)/Raw("x" * 80)', + 'Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/SCTP(sport=25,dport=23)/Raw("x" * 80)', + ], +} + mac_vlan_ipv4_sctp_pay = { "sub_casename": "mac_vlan_ipv4_sctp_pay", "port_id": 0, @@ -634,6 +874,49 @@ mac_vlan_ipv4_sctp_pay = { ], } +mac_vlan_ipv4_sctp_all = { + "sub_casename": "mac_vlan_ipv4_sctp_all", + "port_id": 0, + "rule": "flow create 0 ingress pattern eth / vlan / ipv4 / sctp / end actions rss types ipv4-sctp end key_len 0 queues end / end", + "test": [ + { + "send_packet": mac_vlan_ipv4_sctp_all_packets["match"][ + "mac_vlan_ipv4_sctp_pay" + ][0], + "action": {"save_hash": "mac_vlan_ipv4_sctp_pay_match"}, + }, + { + "send_packet": mac_vlan_ipv4_sctp_all_packets["match"][ + "mac_vlan_ipv4_sctp_pay" + ][1:5], + "action": {"check_hash_different": "mac_vlan_ipv4_sctp_pay_match"}, + }, + { + "send_packet": mac_vlan_ipv4_sctp_all_packets["match"][ + "mac_vlan_ipv4_sctp_pay" + ][5], + "action": {"check_hash_same": "mac_vlan_ipv4_sctp_pay_match"}, + }, + { + "send_packet": mac_vlan_ipv4_sctp_all_packets["mismatch"], + "action": "check_no_hash", + }, + ], + "post-test": [ + { + "send_packet": mac_vlan_ipv4_sctp_all_packets["match"][ + "mac_vlan_ipv4_sctp_pay" + ], + "action": "check_no_hash", + }, + ], +} + +mac_vlan_ipv4_sctp_list = [ + mac_vlan_ipv4_sctp_pay, + mac_vlan_ipv4_sctp_all, +] + mac_vlan_ipv6_pay_packets = { "match": { "mac_vlan_ipv6_pay": [ @@ -647,6 +930,18 @@ mac_vlan_ipv6_pay_packets = { ], } +mac_vlan_ipv6_pay_l3src_packets = { + "match": { + "mac_vlan_ipv6_pay": [ + 'Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/Raw("x" * 80)', + 'Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1537", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/Raw("x" * 80)', + 'Ether(src="10:22:33:44:55:99", dst="00:11:22:33:44:53",type=0x8100)/Dot1Q(vlan=2,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2023")/Raw("y" * 80)', + ] + }, + "mismatch": [ + 'Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.2")/Raw("x" * 80)' + ], +} mac_vlan_ipv6_pay = { "sub_casename": "mac_vlan_ipv6_pay", "port_id": 0, @@ -677,6 +972,49 @@ mac_vlan_ipv6_pay = { ], } +mac_vlan_ipv6_pay_l3src = { + "sub_casename": "mac_vlan_ipv6_pay_l3src", + "port_id": 0, + "rule": "flow create 0 ingress pattern eth / vlan / ipv6 / end actions rss types ipv6 l3-src-only end key_len 0 queues end / end", + "test": [ + { + "send_packet": mac_vlan_ipv6_pay_l3src_packets["match"][ + "mac_vlan_ipv6_pay" + ][0], + "action": {"save_hash": "mac_vlan_ipv6_pay_match"}, + }, + { + "send_packet": mac_vlan_ipv6_pay_l3src_packets["match"][ + "mac_vlan_ipv6_pay" + ][1], + "action": {"check_hash_different": "mac_vlan_ipv6_pay_match"}, + }, + { + "send_packet": mac_vlan_ipv6_pay_l3src_packets["match"][ + "mac_vlan_ipv6_pay" + ][2], + "action": {"check_hash_same": "mac_vlan_ipv6_pay_match"}, + }, + { + "send_packet": mac_vlan_ipv6_pay_l3src_packets["mismatch"], + "action": "check_no_hash", + }, + ], + "post-test": [ + { + "send_packet": mac_vlan_ipv6_pay_l3src_packets["match"][ + "mac_vlan_ipv6_pay" + ], + "action": "check_no_hash", + }, + ], +} + +mac_vlan_ipv6_pay_list = [ + mac_vlan_ipv6_pay, + mac_vlan_ipv6_pay_l3src, +] + mac_vlan_ipv6_udp_pay_packets = { "match": { "mac_vlan_ipv6_udp_pay": [ @@ -691,6 +1029,20 @@ mac_vlan_ipv6_udp_pay_packets = { ], } +mac_vlan_ipv6_udp_l4src_packets = { + "match": { + "mac_vlan_ipv6_udp_pay": [ + 'Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/UDP(sport=25,dport=23)/Raw("x" * 80)', + 'Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=2,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/UDP(sport=19,dport=23)/Raw("x" * 80)', + 'Ether(src="10:22:33:44:55:99", dst="00:11:22:33:44:53",type=0x8100)/Dot1Q(vlan=1,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1537", dst="CDCD:910A:2222:5498:8475:1111:3900:2023")/UDP(sport=25,dport=99)/Raw("x" * 80)', + ] + }, + "mismatch": [ + 'Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.2")/UDP(sport=25,dport=23)/Raw("x" * 80)', + 'Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/TCP(sport=25,dport=23)/Raw("x" * 80)', + ], +} + mac_vlan_ipv6_udp_pay = { "sub_casename": "mac_vlan_ipv6_udp_pay", "port_id": 0, @@ -729,6 +1081,49 @@ mac_vlan_ipv6_udp_pay = { ], } +mac_vlan_ipv6_udp_l4src = { + "sub_casename": "mac_vlan_ipv6_udp_l4src", + "port_id": 0, + "rule": "flow create 0 ingress pattern eth / vlan / ipv6 / udp / end actions rss types ipv6-udp l4-src-only end key_len 0 queues end / end", + "test": [ + { + "send_packet": mac_vlan_ipv6_udp_l4src_packets["match"][ + "mac_vlan_ipv6_udp_pay" + ][0], + "action": {"save_hash": "mac_vlan_ipv6_udp_pay_match"}, + }, + { + "send_packet": mac_vlan_ipv6_udp_l4src_packets["match"][ + "mac_vlan_ipv6_udp_pay" + ][1], + "action": {"check_hash_different": "mac_vlan_ipv6_udp_pay_match"}, + }, + { + "send_packet": mac_vlan_ipv6_udp_l4src_packets["match"][ + "mac_vlan_ipv6_udp_pay" + ][2], + "action": {"check_hash_same": "mac_vlan_ipv6_udp_pay_match"}, + }, + { + "send_packet": mac_vlan_ipv6_udp_l4src_packets["mismatch"], + "action": "check_no_hash", + }, + ], + "post-test": [ + { + "send_packet": mac_vlan_ipv6_udp_l4src_packets["match"][ + "mac_vlan_ipv6_udp_pay" + ], + "action": "check_no_hash", + }, + ], +} + +mac_vlan_ipv6_udp_pay_list = [ + mac_vlan_ipv6_udp_pay, + mac_vlan_ipv6_udp_l4src, +] + mac_vlan_ipv6_tcp_pay_packets = { "match": { "mac_vlan_ipv6_tcp_pay": [ @@ -743,6 +1138,20 @@ mac_vlan_ipv6_tcp_pay_packets = { ], } +mac_vlan_ipv6_tcp_l3dst_packets = { + "match": { + "mac_vlan_ipv6_tcp_pay": [ + 'Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/TCP(sport=25,dport=23)/Raw("x" * 80)', + 'Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=2,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2023")/TCP(sport=25,dport=23)/Raw("x" * 80)', + 'Ether(src="10:22:33:44:55:99", dst="00:11:22:33:44:53",type=0x8100)/Dot1Q(vlan=1,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1537", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/TCP(sport=19,dport=99)/Raw("x" * 80)', + ] + }, + "mismatch": [ + 'Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.2")/TCP(sport=25,dport=23)/Raw("x" * 80)', + 'Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/UDP(sport=25,dport=23)/Raw("x" * 80)', + ], +} + mac_vlan_ipv6_tcp_pay = { "sub_casename": "mac_vlan_ipv6_tcp_pay", "port_id": 0, @@ -781,6 +1190,49 @@ mac_vlan_ipv6_tcp_pay = { ], } +mac_vlan_ipv6_tcp_l3dst = { + "sub_casename": "mac_vlan_ipv6_tcp_l3dst", + "port_id": 0, + "rule": "flow create 0 ingress pattern eth / vlan / ipv6 / tcp / end actions rss types ipv6-tcp l3-dst-only end key_len 0 queues end / end", + "test": [ + { + "send_packet": mac_vlan_ipv6_tcp_l3dst_packets["match"][ + "mac_vlan_ipv6_tcp_pay" + ][0], + "action": {"save_hash": "mac_vlan_ipv6_tcp_pay_match"}, + }, + { + "send_packet": mac_vlan_ipv6_tcp_l3dst_packets["match"][ + "mac_vlan_ipv6_tcp_pay" + ][1], + "action": {"check_hash_different": "mac_vlan_ipv6_tcp_pay_match"}, + }, + { + "send_packet": mac_vlan_ipv6_tcp_l3dst_packets["match"][ + "mac_vlan_ipv6_tcp_pay" + ][2], + "action": {"check_hash_same": "mac_vlan_ipv6_tcp_pay_match"}, + }, + { + "send_packet": mac_vlan_ipv6_tcp_l3dst_packets["mismatch"], + "action": "check_no_hash", + }, + ], + "post-test": [ + { + "send_packet": mac_vlan_ipv6_tcp_l3dst_packets["match"][ + "mac_vlan_ipv6_tcp_pay" + ], + "action": "check_no_hash", + }, + ], +} + +mac_vlan_ipv6_tcp_pay_list = [ + mac_vlan_ipv6_tcp_pay, + mac_vlan_ipv6_tcp_l3dst, +] + mac_vlan_ipv6_sctp_pay_packets = { "match": { "mac_vlan_ipv6_sctp_pay": [ @@ -795,6 +1247,21 @@ mac_vlan_ipv6_sctp_pay_packets = { ], } +mac_vlan_ipv6_sctp_l3dst_l4dst_packets = { + "match": { + "mac_vlan_ipv6_sctp_pay": [ + 'Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/SCTP(sport=25,dport=23)/Raw("x" * 80)', + 'Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2023")/SCTP(sport=25,dport=23)/Raw("x" * 80)', + 'Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/SCTP(sport=25,dport=99)/Raw("x" * 80)', + 'Ether(src="10:22:33:44:55:99", dst="00:11:22:33:44:53",type=0x8100)/Dot1Q(vlan=2,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1537", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/SCTP(sport=19,dport=23)/Raw("x" * 80)', + ] + }, + "mismatch": [ + 'Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x0800)/IP(src="192.168.1.1", dst="192.168.1.2")/SCTP(sport=25,dport=23)/Raw("x" * 80)', + 'Ether(src="10:22:33:44:55:66", dst="00:11:22:33:44:55",type=0x8100)/Dot1Q(vlan=1,type=0x86dd)/IPv6(src="CDCD:910A:2222:5498:8475:1111:3900:1536", dst="CDCD:910A:2222:5498:8475:1111:3900:2022")/UDP(sport=25,dport=23)/Raw("x" * 80)', + ], +} + mac_vlan_ipv6_sctp_pay = { "sub_casename": "mac_vlan_ipv6_sctp_pay", "port_id": 0, @@ -833,6 +1300,49 @@ mac_vlan_ipv6_sctp_pay = { ], } +mac_vlan_ipv6_sctp_l3dst_l4dst = { + "sub_casename": "mac_vlan_ipv6_sctp_l3dst_l4dst", + "port_id": 0, + "rule": "flow create 0 ingress pattern eth / vlan / ipv6 / sctp / end actions rss types ipv6-sctp l3-dst-only l4-dst-only end key_len 0 queues end / end", + "test": [ + { + "send_packet": mac_vlan_ipv6_sctp_l3dst_l4dst_packets["match"][ + "mac_vlan_ipv6_sctp_pay" + ][0], + "action": {"save_hash": "mac_vlan_ipv6_sctp_pay_match"}, + }, + { + "send_packet": mac_vlan_ipv6_sctp_l3dst_l4dst_packets["match"][ + "mac_vlan_ipv6_sctp_pay" + ][1:3], + "action": {"check_hash_different": "mac_vlan_ipv6_sctp_pay_match"}, + }, + { + "send_packet": mac_vlan_ipv6_sctp_l3dst_l4dst_packets["match"][ + "mac_vlan_ipv6_sctp_pay" + ][3], + "action": {"check_hash_same": "mac_vlan_ipv6_sctp_pay_match"}, + }, + { + "send_packet": mac_vlan_ipv6_sctp_l3dst_l4dst_packets["mismatch"], + "action": "check_no_hash", + }, + ], + "post-test": [ + { + "send_packet": mac_vlan_ipv6_sctp_l3dst_l4dst_packets["match"][ + "mac_vlan_ipv6_sctp_pay" + ], + "action": "check_no_hash", + }, + ], +} + +mac_vlan_ipv6_sctp_pay_list = [ + mac_vlan_ipv6_sctp_pay, + mac_vlan_ipv6_sctp_l3dst_l4dst, +] + class Advanced_rss_vlan_ah_l2tp_pfcp(TestCase): def set_up_all(self): @@ -1027,32 +1537,32 @@ class Advanced_rss_vlan_ah_l2tp_pfcp(TestCase): def test_mac_vlan_ipv4_pay(self): self.switch_testpmd(symmetric=False) - self.rsspro.handle_rss_distribute_cases(cases_info=mac_vlan_ipv4_pay) + self.rsspro.handle_rss_distribute_cases(cases_info=mac_vlan_ipv4_pay_list) def test_mac_vlan_ipv4_udp_pay(self): self.switch_testpmd(symmetric=False) - self.rsspro.handle_rss_distribute_cases(cases_info=mac_vlan_ipv4_udp_pay) + self.rsspro.handle_rss_distribute_cases(cases_info=mac_vlan_ipv4_udp_pay_list) def test_mac_vlan_ipv4_tcp_pay(self): self.switch_testpmd(symmetric=False) - self.rsspro.handle_rss_distribute_cases(cases_info=mac_vlan_ipv4_tcp_pay) + self.rsspro.handle_rss_distribute_cases(cases_info=mac_vlan_ipv4_tcp_pay_list) def test_mac_vlan_ipv4_sctp_pay(self): self.switch_testpmd(symmetric=False) - self.rsspro.handle_rss_distribute_cases(cases_info=mac_vlan_ipv4_sctp_pay) + self.rsspro.handle_rss_distribute_cases(cases_info=mac_vlan_ipv4_sctp_list) def test_mac_vlan_ipv6_pay(self): self.switch_testpmd(symmetric=False) - self.rsspro.handle_rss_distribute_cases(cases_info=mac_vlan_ipv6_pay) + self.rsspro.handle_rss_distribute_cases(cases_info=mac_vlan_ipv6_pay_list) def test_mac_vlan_ipv6_udp_pay(self): self.switch_testpmd(symmetric=False) - self.rsspro.handle_rss_distribute_cases(cases_info=mac_vlan_ipv6_udp_pay) + self.rsspro.handle_rss_distribute_cases(cases_info=mac_vlan_ipv6_udp_pay_list) def test_mac_vlan_ipv6_tcp_pay(self): self.switch_testpmd(symmetric=False) - self.rsspro.handle_rss_distribute_cases(cases_info=mac_vlan_ipv6_tcp_pay) + self.rsspro.handle_rss_distribute_cases(cases_info=mac_vlan_ipv6_tcp_pay_list) def test_mac_vlan_ipv6_sctp_pay(self): self.switch_testpmd(symmetric=False) - self.rsspro.handle_rss_distribute_cases(cases_info=mac_vlan_ipv6_sctp_pay) + self.rsspro.handle_rss_distribute_cases(cases_info=mac_vlan_ipv6_sctp_pay_list)