From patchwork Wed Aug 25 19:18:59 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Huang, ZhiminX" X-Patchwork-Id: 97330 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 C8EA4A0C57; Wed, 25 Aug 2021 12:47:43 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5823B411DE; Wed, 25 Aug 2021 12:47:43 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mails.dpdk.org (Postfix) with ESMTP id 9FC674003D for ; Wed, 25 Aug 2021 12:47:41 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10086"; a="217502098" X-IronPort-AV: E=Sophos;i="5.84,350,1620716400"; d="scan'208";a="217502098" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Aug 2021 03:47:41 -0700 X-IronPort-AV: E=Sophos;i="5.84,350,1620716400"; d="scan'208";a="527211593" Received: from unknown (HELO cvl_100g_103.icx.intel.com) ([10.240.183.103]) by fmsmga003-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Aug 2021 03:47:39 -0700 From: Zhimin Huang To: dts@dpdk.org Cc: Zhimin Huang Date: Thu, 26 Aug 2021 03:18:59 +0800 Message-Id: <20210825191900.8040-2-zhiminx.huang@intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210825191900.8040-1-zhiminx.huang@intel.com> References: <20210825191900.8040-1-zhiminx.huang@intel.com> Subject: [dts] [PATCH V1 1/2] test_plans/cvl_advanced_rss_gtpu_test_plan:sync testplan with vf 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" according to b83d270dff3852f1df0ea9bea5a8740378db0c7c, pf gtpu should be kept vf in sync,so modify test plan. Signed-off-by: Zhimin Huang --- .../cvl_advanced_rss_gtpu_test_plan.rst | 49 ++++++------------- 1 file changed, 16 insertions(+), 33 deletions(-) diff --git a/test_plans/cvl_advanced_rss_gtpu_test_plan.rst b/test_plans/cvl_advanced_rss_gtpu_test_plan.rst index d63df8f4..db406413 100644 --- a/test_plans/cvl_advanced_rss_gtpu_test_plan.rst +++ b/test_plans/cvl_advanced_rss_gtpu_test_plan.rst @@ -1738,7 +1738,7 @@ default pattern supported case sendp([Ether(dst="68:05:CA:BB:26:E0")/IPv6()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/TCP(sport=22,dport=23)/("X"*480)],iface="enp216s0f0") sendp([Ether(dst="68:05:CA:BB:26:E0")/IPv6()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IPv6(dst="ABAB:910B:6666:3457:8295:3333:1800:2929",src="CDCD:910A:2222:5498:8475:1111:3900:2020")/TCP(sport=22,dport=23)/("X"*480)],iface="enp216s0f0") -3. check all the packets with symmetric L3 address have different hash value and distributed to queues by RSS. +3. check all the packets with symmetric L3 address have same hash value and distributed to queues by RSS. inner L4 protocal hash case =========================== @@ -2042,20 +2042,15 @@ Subcase: IPV4_GTPU_EH_IPV4 and IPV4_GTPU_EH_IPV4_UDP/TCP sendp([Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34)/IP(dst="192.168.0.1",src="192.168.1.2")/("X"*480)],iface="enp216s0f0") sendp([Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34)/IP(dst="192.168.1.1",src="192.168.0.2")/("X"*480)],iface="enp216s0f0") - check packet 2 has same hash value with packet 1, packet 3 has different hash value with packet 1. - check packet 5 has same hash value with packet 4, packet 6 has different hash value with packet 4. - check packet 8 has different hash value to packet 7, packet 9 have different hash value to packet 7 and 8. - check packet 11 has different hash value to packet 10, packet 12 have different hash value to packet 10 and 11. - 3. create IPV4_GTPU_DL_IPV4_UDP rule:: flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc pdu_t is 0 / ipv4 / udp / end actions rss types ipv4-udp l4-dst-only end key_len 0 queues end / end 4. send same packets with step 2, - check packet 2 has same hash value with packet 1, packet 3 has different hash value with packet 1. + check packet 2 has same hash value with packet 1, packet 3 has same hash value with packet 1. check packet 5 has different hash value with packet 4, packet 6 has same hash value with packet 4. - check packet 8 has different hash value to packet 7, packet 9 have different hash value to packet 7 and 8. - check packet 11 has different hash value to packet 10, packet 12 have different hash value to packet 10 and 11. + check packet 8 has same hash value to packet 7, packet 9 have same hash value to packet 7 and 8. + check packet 11 has same hash value to packet 10, packet 12 have same hash value to packet 10 and 11. 5. create IPV4_GTPU_UL_IPV4:: @@ -2064,7 +2059,7 @@ Subcase: IPV4_GTPU_EH_IPV4 and IPV4_GTPU_EH_IPV4_UDP/TCP 6. send same packets with step 2, check packet 2 has same hash value with packet 1, packet 3 has same hash value with packet 1. check packet 5 has different hash value with packet 4, packet 6 has same hash value with packet 4. - check packet 8 has different hash value to packet 7, packet 9 have different hash value to packet 7 and 8. + check packet 8 has same hash value to packet 7, packet 9 have same hash value to packet 7 and 8. check packet 11 has different hash value to packet 10, packet 12 have same hash value to packet 10. Note: the action after deleting rule is not guaranteed so far. @@ -2112,19 +2107,14 @@ Subcase: IPV6_GTPU_EH_IPV6 and IPV6_GTPU_EH_IPV6_UDP/TCP sendp([Ether(dst="68:05:CA:BB:26:E0")/IPv6()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34)/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/("X"*480)],iface="enp216s0f0") sendp([Ether(dst="68:05:CA:BB:26:E0")/IPv6()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34)/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/("X"*480)],iface="enp216s0f0") - check packet 2 has same hash value with packet 1, packet 3 has different hash value with packet 1. - check packet 5 has same hash value with packet 4, packet 6 has different hash value with packet 4. - check packet 8 has different hash value to packet 7, packet 9 have different hash value to packet 7 and 8. - check packet 11 has different hash value to packet 10, packet 12 have different hash value to packet 10 and 11. - 3. create rule 0:: flow create 0 ingress pattern eth / ipv6 / udp / gtpu / gtp_psc pdu_t is 0 / ipv6 / tcp / end actions rss types ipv6-tcp l4-dst-only end key_len 0 queues end / end 4. send same packets with step 2, check packet 2 has different hash value with packet 1, packet 3 has same hash value with packet 1. - check packet 5 has same hash value with packet 4, packet 6 has different hash value with packet 4. - check packet 8 has different hash value to packet 7, packet 9 have different hash value to packet 7 and 8. + check packet 5 has same hash value with packet 4, packet 6 has same hash value with packet 4. + check packet 8 has same hash value to packet 7, packet 9 have same hash value to packet 7 and 8. check packet 11 has different hash value to packet 10, packet 12 have different hash value to packet 10 and 11. 5. create rule 1:: @@ -2132,10 +2122,10 @@ Subcase: IPV6_GTPU_EH_IPV6 and IPV6_GTPU_EH_IPV6_UDP/TCP flow create 0 ingress pattern eth / ipv6 / udp / gtpu / gtp_psc pdu_t is 0 / ipv6 / end actions rss types ipv6 l3-dst-only end key_len 0 queues end / end 6. send same packets with step 2, - check packet 2 has same hash value with packet 1, packet 3 has different hash value with packet 1. - check packet 5 has same hash value with packet 4, packet 6 has different hash value with packet 4. + check packet 2 has same hash value with packet 1, packet 3 has same hash value with packet 1. + check packet 5 has same hash value with packet 4, packet 6 has same hash value with packet 4. check packet 8 has same hash value to packet 7, packet 9 have different hash value to packet 7. - check packet 11 has different hash value to packet 10, packet 12 have different hash value to packet 10 and 11. + check packet 11 has same hash value to packet 10, packet 12 have same hash value to packet 10 and 11. Note: the action after deleting rule is not guaranteed so far. so the following step don't need to be run. @@ -2214,10 +2204,6 @@ Subcase: IPV6_GTPU_IPV4 and IPV6_GTPU_IPV4_UDP/TCP sendp([Ether(dst="68:05:CA:BB:26:E0")/IPv6()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(dst="192.168.0.1",src="192.168.1.2")/("X"*480)],iface="enp216s0f0") sendp([Ether(dst="68:05:CA:BB:26:E0")/IPv6()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(dst="192.168.1.1",src="192.168.0.2")/("X"*480)],iface="enp216s0f0") - check packet 2 has same hash value to packet 1. - check packet 3 and packet 4 have different hash value to packet 1. - check packet 5 and packet 6 and packet 7 have different hash value. - 3. create rule 0:: flow create 0 ingress pattern eth / ipv6 / udp / gtpu / ipv4 / udp / end actions rss types ipv4-udp l4-dst-only end key_len 0 queues end / end @@ -2225,7 +2211,7 @@ Subcase: IPV6_GTPU_IPV4 and IPV6_GTPU_IPV4_UDP/TCP 4. send same packets with step 2, check packet 2 has different hash value to packet 1. check packet 3 and packet 4 have same hash value to packet 1. - check packet 5 and packet 6 and packet 7 have different hash value. + check packet 5 and packet 6 and packet 7 have same hash value. 5. create rule 1:: @@ -2578,20 +2564,17 @@ all the test cases run the same test steps as below: 1. validate rule. 2. if the rule inner protocol is IPV4_UDP/TCP or IPV6_UDP/TCP, set "port config all rss all". -3. send a basic hit pattern packet,record the hash value. +3. create rule and list rule. +4. send a basic hit pattern packet,record the hash value. then send a hit pattern packet with switched value of input set in the rule. - check the two received packets have different hash value. - check both the packets are distributed to queues by rss. -4. create rule and list rule. -5. send same packets with step 2. check the received packets have same hash value. check both the packets are distributed to queues by rss. -6. send two not hit pattern packets with switched value of input set in the rule. +5. send two not hit pattern packets with switched value of input set in the rule. check the received packets have different hash value. check both the packets are distributed to queues by rss. note: if there is not this type packet in the case, omit this step. -7. distroy the rule and list rule. -8. send the same packets in step3, only switch ip address. +6. distroy the rule and list rule. +7. send the same packets in step4, only switch ip address. check the received packets which switched ip address have different hash value. Pattern: symmetric outer ipv4 + inner ipv4 From patchwork Wed Aug 25 19:19:00 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Huang, ZhiminX" X-Patchwork-Id: 97331 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 82A5BA0C53; Wed, 25 Aug 2021 12:47:46 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 7C976411DB; Wed, 25 Aug 2021 12:47:46 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by mails.dpdk.org (Postfix) with ESMTP id E355D4003D for ; Wed, 25 Aug 2021 12:47:43 +0200 (CEST) X-IronPort-AV: E=McAfee;i="6200,9189,10086"; a="217502102" X-IronPort-AV: E=Sophos;i="5.84,350,1620716400"; d="scan'208";a="217502102" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Aug 2021 03:47:42 -0700 X-IronPort-AV: E=Sophos;i="5.84,350,1620716400"; d="scan'208";a="527211602" Received: from unknown (HELO cvl_100g_103.icx.intel.com) ([10.240.183.103]) by fmsmga003-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 25 Aug 2021 03:47:41 -0700 From: Zhimin Huang To: dts@dpdk.org Cc: Zhimin Huang Date: Thu, 26 Aug 2021 03:19:00 +0800 Message-Id: <20210825191900.8040-3-zhiminx.huang@intel.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20210825191900.8040-1-zhiminx.huang@intel.com> References: <20210825191900.8040-1-zhiminx.huang@intel.com> Subject: [dts] [PATCH V1 2/2] tests/cvl_advanced_rss_gtpu:sync testcase with vf 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" according to b83d270dff3852f1df0ea9bea5a8740378db0c7c, pf gtpu should be kept vf in sync,so modify test case. Signed-off-by: Zhimin Huang Tested-by: Zhimin Huang --- tests/TestSuite_cvl_advanced_rss_gtpu.py | 399 +++++------------------ 1 file changed, 75 insertions(+), 324 deletions(-) diff --git a/tests/TestSuite_cvl_advanced_rss_gtpu.py b/tests/TestSuite_cvl_advanced_rss_gtpu.py index f1f4fe43..37be57f7 100755 --- a/tests/TestSuite_cvl_advanced_rss_gtpu.py +++ b/tests/TestSuite_cvl_advanced_rss_gtpu.py @@ -294,32 +294,6 @@ mac_ipv4_gtpu_ipv4_symmetric = { 'sub_casename': 'mac_ipv4_gtpu_ipv4_symmetric', 'port_id': 0, 'rule': 'flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 / end actions rss func symmetric_toeplitz types ipv4 end key_len 0 queues end / end', - 'pre-test': [ - { - 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(dst="192.168.0.1",src="192.168.0.2")/("X"*480)', - 'action': 'save_hash', - }, - { - 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(dst="192.168.0.2",src="192.168.0.1")/("X"*480)', - 'action': 'check_hash_different', - }, - { - 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(dst="192.168.0.1",src="192.168.0.2", frag=6)/("X"*480)', - 'action': 'save_hash', - }, - { - 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(dst="192.168.0.2",src="192.168.0.1", frag=6)/("X"*480)', - 'action': 'check_hash_different', - }, - { - 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(dst="192.168.0.1",src="192.168.0.2")/ICMP()/("X"*480)', - 'action': 'save_hash', - }, - { - 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(dst="192.168.0.2",src="192.168.0.1")/ICMP()/("X"*480)', - 'action': 'check_hash_different', - }, - ], 'test': [ { 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(dst="192.168.0.1",src="192.168.0.2")/("X"*480)', @@ -351,7 +325,7 @@ mac_ipv4_gtpu_ipv4_symmetric = { }, { 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/("X"*480)', - 'action': 'check_hash_different', + 'action': 'check_hash_same', }, { # unmatch MAC_IPV4_GTPU_EH_IPV4 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34) /IP(dst="192.168.0.1",src="192.168.0.2")/("X"*480)', @@ -359,7 +333,7 @@ mac_ipv4_gtpu_ipv4_symmetric = { }, { # unmatch MAC_IPV4_GTPU_EH_IPV4 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34) /IP(dst="192.168.0.2",src="192.168.0.1")/("X"*480)', - 'action': 'check_hash_different', + 'action': 'check_hash_same', }, ], 'post-test': [ @@ -369,7 +343,7 @@ mac_ipv4_gtpu_ipv4_symmetric = { }, { 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(dst="192.168.0.2",src="192.168.0.1")/("X"*480)', - 'action': {'check_hash_different': 'nonfrag'}, + 'action': {'check_hash_same': 'nonfrag'}, }, { 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(dst="192.168.0.1",src="192.168.0.2", frag=6)/("X"*480)', @@ -377,7 +351,7 @@ mac_ipv4_gtpu_ipv4_symmetric = { }, { 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(dst="192.168.0.2",src="192.168.0.1", frag=6)/("X"*480)', - 'action': {'check_hash_different': 'frag'}, + 'action': {'check_hash_same': 'frag'}, }, { 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(dst="192.168.0.1",src="192.168.0.2")/ICMP()/("X"*480)', @@ -385,7 +359,7 @@ mac_ipv4_gtpu_ipv4_symmetric = { }, { 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(dst="192.168.0.2",src="192.168.0.1")/ICMP()/("X"*480)', - 'action': {'check_hash_different': 'icmp'}, + 'action': {'check_hash_same': 'icmp'}, }, ], } @@ -403,24 +377,6 @@ mac_ipv4_gtpu_ipv4_udp_symmetric = { 'sub_casename': 'mac_ipv4_gtpu_ipv4_udp_symmetric', 'port_id': 0, 'rule': 'flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 / udp / end actions rss func symmetric_toeplitz types ipv4-udp end key_len 0 queues end / end', - 'pre-test': [ - { - 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(dst="192.168.0.1",src="192.168.0.2")/UDP(sport=22, dport=23)/("X"*480)', - 'action': 'save_hash', - }, - { - 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(dst="192.168.0.1",src="192.168.0.2")/UDP(sport=23, dport=22)/("X"*480)', - 'action': 'check_hash_different', - }, - { - 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(dst="192.168.0.2",src="192.168.0.1")/UDP(sport=22, dport=23)/("X"*480)', - 'action': 'check_hash_different', - }, - { - 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(dst="192.168.0.2",src="192.168.0.1")/UDP(sport=23, dport=22)/("X"*480)', - 'action': 'check_hash_different', - }, - ], 'test': [ { 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(dst="192.168.0.1",src="192.168.0.2")/UDP(sport=22, dport=23)/("X"*480)', @@ -444,7 +400,7 @@ mac_ipv4_gtpu_ipv4_udp_symmetric = { }, { 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34) /IP(dst="192.168.0.2",src="192.168.0.1")/UDP(sport=22, dport=23)/("X"*480)', - 'action': 'check_hash_different', + 'action': 'check_hash_same', }, { 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(dst="192.168.0.2",src="192.168.0.1")/TCP(sport=22, dport=23)/("X"*480)', @@ -460,7 +416,7 @@ mac_ipv4_gtpu_ipv4_udp_symmetric = { }, { 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(sport=22, dport=23)/("X"*480)', - 'action': 'check_hash_different', + 'action': 'check_hash_same', }, ], 'post-test': [ @@ -508,40 +464,6 @@ mac_ipv4_gtpu_eh_dl_ipv4_symmetric = { 'sub_casename': 'mac_ipv4_gtpu_eh_dl_ipv4_symmetric', 'port_id': 0, 'rule': 'flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc pdu_t is 0 / ipv4 / end actions rss func symmetric_toeplitz types ipv4 end key_len 0 queues end / end', - 'pre-test': [ - { - 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34) /IP(dst="192.168.0.1",src="192.168.0.2")/("X"*480)', - 'action': 'save_hash', - }, - { - 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34) /IP(dst="192.168.0.2",src="192.168.0.1")/("X"*480)', - 'action': 'check_hash_different', - }, - { - 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34) /IP(dst="192.168.0.1",src="192.168.0.2", frag=6)/("X"*480)', - 'action': 'save_hash', - }, - { - 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34) /IP(dst="192.168.0.2",src="192.168.0.1", frag=6)/("X"*480)', - 'action': 'check_hash_different', - }, - { - 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34) /IP(dst="192.168.0.1",src="192.168.0.2")/ICMP()/("X"*480)', - 'action': 'save_hash', - }, - { - 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34) /IP(dst="192.168.0.2",src="192.168.0.1")/ICMP()/("X"*480)', - 'action': 'check_hash_different', - }, - { - 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34) /IP(dst="192.168.0.1",src="192.168.0.2")/UDP()/("X"*480)', - 'action': 'save_hash', - }, - { - 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34) /IP(dst="192.168.0.2",src="192.168.0.1")/UDP()/("X"*480)', - 'action': 'check_hash_different', - }, - ], 'test': [ { 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34) /IP(dst="192.168.0.1",src="192.168.0.2")/("X"*480)', @@ -581,7 +503,7 @@ mac_ipv4_gtpu_eh_dl_ipv4_symmetric = { }, { 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34) /IP(dst="192.168.0.2",src="192.168.0.1")/("X"*480)', - 'action': 'check_hash_different', + 'action': 'check_hash_same', }, { 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34) /IP(dst="192.168.0.1",src="192.168.0.2", frag=6)/("X"*480)', @@ -589,7 +511,7 @@ mac_ipv4_gtpu_eh_dl_ipv4_symmetric = { }, { 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34) /IP(dst="192.168.0.2",src="192.168.0.1", frag=6)/("X"*480)', - 'action': 'check_hash_different', + 'action': 'check_hash_same', }, { 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34) /IP(dst="192.168.0.1",src="192.168.0.2")/ICMP()/("X"*480)', @@ -597,7 +519,7 @@ mac_ipv4_gtpu_eh_dl_ipv4_symmetric = { }, { 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34) /IP(dst="192.168.0.2",src="192.168.0.1")/ICMP()/("X"*480)', - 'action': 'check_hash_different', + 'action': 'check_hash_same', }, { 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34) /IP(dst="192.168.0.1",src="192.168.0.2")/UDP()/("X"*480)', @@ -605,7 +527,7 @@ mac_ipv4_gtpu_eh_dl_ipv4_symmetric = { }, { 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34) /IP(dst="192.168.0.2",src="192.168.0.1")/UDP()/("X"*480)', - 'action': 'check_hash_different', + 'action': 'check_hash_same', }, ], 'post-test': [ @@ -615,7 +537,7 @@ mac_ipv4_gtpu_eh_dl_ipv4_symmetric = { }, { 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34) /IP(dst="192.168.0.2",src="192.168.0.1")/("X"*480)', - 'action': 'check_hash_different', + 'action': 'check_hash_same', }, { 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34) /IP(dst="192.168.0.1",src="192.168.0.2", frag=6)/("X"*480)', @@ -623,7 +545,7 @@ mac_ipv4_gtpu_eh_dl_ipv4_symmetric = { }, { 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34) /IP(dst="192.168.0.2",src="192.168.0.1", frag=6)/("X"*480)', - 'action': 'check_hash_different', + 'action': 'check_hash_same', }, { 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34) /IP(dst="192.168.0.1",src="192.168.0.2")/ICMP()/("X"*480)', @@ -631,7 +553,7 @@ mac_ipv4_gtpu_eh_dl_ipv4_symmetric = { }, { 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34) /IP(dst="192.168.0.2",src="192.168.0.1")/ICMP()/("X"*480)', - 'action': 'check_hash_different', + 'action': 'check_hash_same', }, { 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34) /IP(dst="192.168.0.1",src="192.168.0.2")/UDP()/("X"*480)', @@ -639,7 +561,7 @@ mac_ipv4_gtpu_eh_dl_ipv4_symmetric = { }, { 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34) /IP(dst="192.168.0.2",src="192.168.0.1")/UDP()/("X"*480)', - 'action': 'check_hash_different', + 'action': 'check_hash_same', }, ], } @@ -657,24 +579,6 @@ mac_ipv4_gtpu_eh_dl_ipv4_udp_symmetric = { 'sub_casename': 'mac_ipv4_gtpu_eh_dl_ipv4_udp_symmetric', 'port_id': 0, 'rule': 'flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc pdu_t is 0 / ipv4 / udp / end actions rss func symmetric_toeplitz types ipv4-udp end key_len 0 queues end / end', - 'pre-test': [ - { - 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34) /IP(dst="192.168.0.1",src="192.168.0.2")/UDP(sport=22, dport=23)/("X"*480)', - 'action': 'save_hash', - }, - { - 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34) /IP(dst="192.168.0.1",src="192.168.0.2")/UDP(sport=23, dport=22)/("X"*480)', - 'action': 'check_hash_different', - }, - { - 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34) /IP(dst="192.168.0.2",src="192.168.0.1")/UDP(sport=22, dport=23)/("X"*480)', - 'action': 'check_hash_different', - }, - { - 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34) /IP(dst="192.168.0.2",src="192.168.0.1")/UDP(sport=23, dport=22)/("X"*480)', - 'action': 'check_hash_different', - }, - ], 'test': [ { 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34) /IP(dst="192.168.0.1",src="192.168.0.2")/UDP(sport=22, dport=23)/("X"*480)', @@ -698,7 +602,7 @@ mac_ipv4_gtpu_eh_dl_ipv4_udp_symmetric = { }, { 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34) /IP(dst="192.168.0.2",src="192.168.0.1")/UDP(sport=22, dport=23)/("X"*480)', - 'action': 'check_hash_different', + 'action': 'check_hash_same', }, { 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(dst="192.168.0.1",src="192.168.0.2")/UDP(sport=22, dport=23)/("X"*480)', @@ -706,7 +610,7 @@ mac_ipv4_gtpu_eh_dl_ipv4_udp_symmetric = { }, { 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(dst="192.168.0.2",src="192.168.0.1")/UDP(sport=22, dport=23)/("X"*480)', - 'action': 'check_hash_different', + 'action': 'check_hash_same', }, ], 'post-test': [ @@ -720,7 +624,7 @@ mac_ipv4_gtpu_eh_dl_ipv4_udp_symmetric = { }, { 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34) /IP(dst="192.168.0.2",src="192.168.0.1")/UDP(sport=22, dport=23)/("X"*480)', - 'action': 'check_hash_different', + 'action': 'check_hash_same', }, { 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34) /IP(dst="192.168.0.2",src="192.168.0.1")/UDP(sport=23, dport=22)/("X"*480)', @@ -3787,7 +3691,7 @@ default_pattern_support_ipv4 = { }, { 'send_packet': default_pattern_ipv4_gtpu_eh_dl_ipv4_dst, - 'action': 'check_hash_different', + 'action': 'check_hash_same', }, { 'send_packet': default_pattern_ipv4_gtpu_eh_dl_ipv4_src.replace('(type=0', '(type=1'), @@ -3795,7 +3699,7 @@ default_pattern_support_ipv4 = { }, { 'send_packet': default_pattern_ipv4_gtpu_eh_dl_ipv4_dst.replace('(type=0', '(type=1'), - 'action': 'check_hash_different', + 'action': 'check_hash_same', }, { 'send_packet': default_pattern_ipv4_gtpu_eh_dl_ipv4_src.replace('/("X"', '/UDP(sport=22,dport=23)/("X"'), @@ -3803,7 +3707,7 @@ default_pattern_support_ipv4 = { }, { 'send_packet': default_pattern_ipv4_gtpu_eh_dl_ipv4_dst.replace('/("X"', '/UDP(sport=22,dport=23)/("X"'), - 'action': 'check_hash_different', + 'action': 'check_hash_same', }, { 'send_packet': default_pattern_ipv4_gtpu_eh_dl_ipv4_src @@ -3815,7 +3719,7 @@ default_pattern_support_ipv4 = { 'send_packet': default_pattern_ipv4_gtpu_eh_dl_ipv4_dst .replace('/("X"', '/UDP(sport=22,dport=23)/("X"') .replace('(type=0', '(type=1'), - 'action': 'check_hash_different', + 'action': 'check_hash_same', }, { 'send_packet': default_pattern_ipv4_gtpu_eh_dl_ipv4_src.replace('/("X"', '/TCP(sport=22,dport=23)/("X"'), @@ -3823,7 +3727,7 @@ default_pattern_support_ipv4 = { }, { 'send_packet': default_pattern_ipv4_gtpu_eh_dl_ipv4_dst.replace('/("X"', '/TCP(sport=22,dport=23)/("X"'), - 'action': 'check_hash_different', + 'action': 'check_hash_same', }, { 'send_packet': default_pattern_ipv4_gtpu_eh_dl_ipv4_src @@ -3835,7 +3739,7 @@ default_pattern_support_ipv4 = { 'send_packet': default_pattern_ipv4_gtpu_eh_dl_ipv4_dst .replace('/("X"', '/TCP(sport=22,dport=23)/("X"') .replace('(type=0', '(type=1'), - 'action': 'check_hash_different', + 'action': 'check_hash_same', }, { 'send_packet': default_pattern_ipv4_gtpu_eh_dl_ipv4_src @@ -3845,7 +3749,7 @@ default_pattern_support_ipv4 = { { 'send_packet': default_pattern_ipv4_gtpu_eh_dl_ipv4_dst .replace('/GTPPDUSessionContainer(type=0, P=1, QFI=0x34) ', ''), - 'action': 'check_hash_different', + 'action': 'check_hash_same', }, { 'send_packet': default_pattern_ipv4_gtpu_eh_dl_ipv4_src @@ -3857,7 +3761,7 @@ default_pattern_support_ipv4 = { 'send_packet': default_pattern_ipv4_gtpu_eh_dl_ipv4_dst .replace('/("X"', '/UDP(sport=22,dport=23)/("X"') .replace('/GTPPDUSessionContainer(type=0, P=1, QFI=0x34) ', ''), - 'action': 'check_hash_different', + 'action': 'check_hash_same', }, { 'send_packet': default_pattern_ipv4_gtpu_eh_dl_ipv4_src @@ -3869,7 +3773,7 @@ default_pattern_support_ipv4 = { 'send_packet': default_pattern_ipv4_gtpu_eh_dl_ipv4_dst .replace('/("X"', '/TCP(sport=22,dport=23)/("X"') .replace('/GTPPDUSessionContainer(type=0, P=1, QFI=0x34) ', ''), - 'action': 'check_hash_different', + 'action': 'check_hash_same', }, { 'send_packet': default_pattern_ipv4_gtpu_eh_dl_ipv6_src, @@ -3877,7 +3781,7 @@ default_pattern_support_ipv4 = { }, { 'send_packet': default_pattern_ipv4_gtpu_eh_dl_ipv4_dst, - 'action': 'check_hash_different', + 'action': 'check_hash_same', }, { 'send_packet': default_pattern_ipv4_gtpu_eh_dl_ipv6_src.replace('(type=0', '(type=1'), @@ -3885,7 +3789,7 @@ default_pattern_support_ipv4 = { }, { 'send_packet': default_pattern_ipv4_gtpu_eh_dl_ipv4_dst.replace('(type=0', '(type=1'), - 'action': 'check_hash_different', + 'action': 'check_hash_same', }, { 'send_packet': default_pattern_ipv4_gtpu_eh_dl_ipv6_src.replace('/("X"', '/UDP(sport=22,dport=23)/("X"'), @@ -3893,7 +3797,7 @@ default_pattern_support_ipv4 = { }, { 'send_packet': default_pattern_ipv4_gtpu_eh_dl_ipv4_dst.replace('/("X"', '/UDP(sport=22,dport=23)/("X"'), - 'action': 'check_hash_different', + 'action': 'check_hash_same', }, { 'send_packet': default_pattern_ipv4_gtpu_eh_dl_ipv6_src @@ -3905,7 +3809,7 @@ default_pattern_support_ipv4 = { 'send_packet': default_pattern_ipv4_gtpu_eh_dl_ipv4_dst .replace('/("X"', '/UDP(sport=22,dport=23)/("X"') .replace('(type=0', '(type=1'), - 'action': 'check_hash_different', + 'action': 'check_hash_same', }, { 'send_packet': default_pattern_ipv4_gtpu_eh_dl_ipv6_src.replace('/("X"', '/TCP(sport=22,dport=23)/("X"'), @@ -3913,7 +3817,7 @@ default_pattern_support_ipv4 = { }, { 'send_packet': default_pattern_ipv4_gtpu_eh_dl_ipv4_dst.replace('/("X"', '/TCP(sport=22,dport=23)/("X"'), - 'action': 'check_hash_different', + 'action': 'check_hash_same', }, { 'send_packet': default_pattern_ipv4_gtpu_eh_dl_ipv6_src @@ -3925,7 +3829,7 @@ default_pattern_support_ipv4 = { 'send_packet': default_pattern_ipv4_gtpu_eh_dl_ipv4_dst .replace('/("X"', '/TCP(sport=22,dport=23)/("X"') .replace('(type=0', '(type=1'), - 'action': 'check_hash_different', + 'action': 'check_hash_same', }, { 'send_packet': default_pattern_ipv4_gtpu_eh_dl_ipv6_src @@ -3935,7 +3839,7 @@ default_pattern_support_ipv4 = { { 'send_packet': default_pattern_ipv4_gtpu_eh_dl_ipv4_dst .replace('/GTPPDUSessionContainer(type=0, P=1, QFI=0x34) ', ''), - 'action': 'check_hash_different', + 'action': 'check_hash_same', }, { 'send_packet': default_pattern_ipv4_gtpu_eh_dl_ipv6_src @@ -3947,7 +3851,7 @@ default_pattern_support_ipv4 = { 'send_packet': default_pattern_ipv4_gtpu_eh_dl_ipv4_dst .replace('/("X"', '/UDP(sport=22,dport=23)/("X"') .replace('/GTPPDUSessionContainer(type=0, P=1, QFI=0x34) ', ''), - 'action': 'check_hash_different', + 'action': 'check_hash_same', }, { 'send_packet': default_pattern_ipv4_gtpu_eh_dl_ipv6_src @@ -3959,7 +3863,7 @@ default_pattern_support_ipv4 = { 'send_packet': default_pattern_ipv4_gtpu_eh_dl_ipv4_dst .replace('/("X"', '/TCP(sport=22,dport=23)/("X"') .replace('/GTPPDUSessionContainer(type=0, P=1, QFI=0x34) ', ''), - 'action': 'check_hash_different', + 'action': 'check_hash_same', }, ], } @@ -4040,32 +3944,6 @@ mac_ipv4_gtpu_eh_ipv4_without_ul_dl_symmetric = { 'sub_casename': 'mac_ipv4_gtpu_eh_ipv4_without_ul_dl_symmetric', 'port_id': 0, 'rule': 'flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 / end actions rss func symmetric_toeplitz types ipv4 end key_len 0 queues end / end', - 'pre-test': [ - { - 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34) /IP(dst="192.168.0.1",src="192.168.0.2")/("X"*480)', - 'action': 'save_hash', - }, - { - 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34) /IP(dst="192.168.0.2",src="192.168.0.1")/("X"*480)', - 'action': 'check_hash_different', - }, - { - 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34) /IP(dst="192.168.0.1",src="192.168.0.2",frag=6)/("X"*480)', - 'action': 'save_hash', - }, - { - 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34) /IP(dst="192.168.0.2",src="192.168.0.1",frag=6)/("X"*480)', - 'action': 'check_hash_different', - }, - { - 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34) /IP(dst="192.168.0.1",src="192.168.0.2")/ICMP()/("X"*480)', - 'action': 'save_hash', - }, - { - 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34) /IP(dst="192.168.0.2",src="192.168.0.1")/ICMP()/("X"*480)', - 'action': 'check_hash_different', - }, - ], 'test': [ { 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34) /IP(dst="192.168.0.1",src="192.168.0.2")/("X"*480)', @@ -4097,7 +3975,7 @@ mac_ipv4_gtpu_eh_ipv4_without_ul_dl_symmetric = { }, { 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34) /IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/("X"*480)', - 'action': 'check_hash_different', + 'action': 'check_hash_same', }, { 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(dst="192.168.0.1",src="192.168.0.2")/("X"*480)', @@ -4105,7 +3983,7 @@ mac_ipv4_gtpu_eh_ipv4_without_ul_dl_symmetric = { }, { 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(dst="192.168.0.2",src="192.168.0.1")/("X"*480)', - 'action': 'check_hash_different', + 'action': 'check_hash_same', }, ], 'post-test': [ @@ -4115,7 +3993,7 @@ mac_ipv4_gtpu_eh_ipv4_without_ul_dl_symmetric = { }, { 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34) /IP(dst="192.168.0.2",src="192.168.0.1")/("X"*480)', - 'action': 'check_hash_different', + 'action': 'check_hash_same', }, { 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34) /IP(dst="192.168.0.1",src="192.168.0.2",frag=6)/("X"*480)', @@ -4123,7 +4001,7 @@ mac_ipv4_gtpu_eh_ipv4_without_ul_dl_symmetric = { }, { 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34) /IP(dst="192.168.0.2",src="192.168.0.1",frag=6)/("X"*480)', - 'action': 'check_hash_different', + 'action': 'check_hash_same', }, { 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34) /IP(dst="192.168.0.1",src="192.168.0.2")/ICMP()/("X"*480)', @@ -4131,7 +4009,7 @@ mac_ipv4_gtpu_eh_ipv4_without_ul_dl_symmetric = { }, { 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34) /IP(dst="192.168.0.2",src="192.168.0.1")/ICMP()/("X"*480)', - 'action': 'check_hash_different', + 'action': 'check_hash_same', }, ], } @@ -4151,40 +4029,6 @@ mac_ipv4_gtpu_eh_ipv4_udp_without_ul_dl_symmetric = { 'sub_casename': 'mac_ipv4_gtpu_eh_ipv4_udp_without_ul_dl_symmetric', 'port_id': 0, 'rule': 'flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 / udp / end actions rss func symmetric_toeplitz types ipv4-udp end key_len 0 queues end / end', - 'pre-test': [ - { - 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34) /IP(dst="192.168.0.1",src="192.168.0.2")/UDP(sport=22, dport=23)/("X"*480)', - 'action': {'save_hash', 'udp-dl'}, - }, - { - 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34) /IP(dst="192.168.0.1",src="192.168.0.2")/UDP(sport=23, dport=22)/("X"*480)', - 'action': 'check_hash_different', - }, - { - 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34) /IP(dst="192.168.0.2",src="192.168.0.1")/UDP(sport=22, dport=23)/("X"*480)', - 'action': 'check_hash_different', - }, - { - 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34) /IP(dst="192.168.0.2",src="192.168.0.1")/UDP(sport=23, dport=22)/("X"*480)', - 'action': 'check_hash_different', - }, - { - 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34) /IP(dst="192.168.0.1",src="192.168.0.2")/UDP(sport=22, dport=23)/("X"*480)', - 'action': {'save_hash', 'udp-ul'}, - }, - { - 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34) /IP(dst="192.168.0.1",src="192.168.0.2")/UDP(sport=23, dport=22)/("X"*480)', - 'action': 'check_hash_different', - }, - { - 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34) /IP(dst="192.168.0.2",src="192.168.0.1")/UDP(sport=22, dport=23)/("X"*480)', - 'action': 'check_hash_different', - }, - { - 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34) /IP(dst="192.168.0.2",src="192.168.0.1")/UDP(sport=23, dport=22)/("X"*480)', - 'action': 'check_hash_different', - }, - ], 'test': [ { 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34) /IP(dst="192.168.0.1",src="192.168.0.2")/UDP(sport=22, dport=23)/("X"*480)', @@ -4224,7 +4068,7 @@ mac_ipv4_gtpu_eh_ipv4_udp_without_ul_dl_symmetric = { }, { 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34) /IP(dst="192.168.0.2",src="192.168.0.1")/TCP(sport=22, dport=23)/("X"*480)', - 'action': 'check_hash_different', + 'action': 'check_hash_same', }, { 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34) /IPv6(dst="ABAB:910B:6666:3457:8295:3333:1800:2929",src="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(sport=22, dport=23)/("X"*480)', @@ -4232,7 +4076,7 @@ mac_ipv4_gtpu_eh_ipv4_udp_without_ul_dl_symmetric = { }, { 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34) /IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(sport=22, dport=23)/("X"*480)', - 'action': 'check_hash_different', + 'action': 'check_hash_same', }, { 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(dst="192.168.0.1",src="192.168.0.2")/UDP(sport=22, dport=23)/("X"*480)', @@ -4250,7 +4094,7 @@ mac_ipv4_gtpu_eh_ipv4_udp_without_ul_dl_symmetric = { }, { 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34) /IP(dst="192.168.0.2",src="192.168.0.1")/UDP(sport=22, dport=23)/("X"*480)', - 'action': 'check_hash_different', + 'action': 'check_hash_same', }, { 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34) /IP(dst="192.168.0.1",src="192.168.0.2")/UDP(sport=22, dport=23)/("X"*480)', @@ -4258,7 +4102,7 @@ mac_ipv4_gtpu_eh_ipv4_udp_without_ul_dl_symmetric = { }, { 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34) /IP(dst="192.168.0.2",src="192.168.0.1")/UDP(sport=22, dport=23)/("X"*480)', - 'action': 'check_hash_different', + 'action': 'check_hash_same', }, ], } @@ -4276,40 +4120,6 @@ mac_ipv4_gtpu_eh_ipv4_tcp_without_ul_dl_symmetric = { 'sub_casename': 'mac_ipv4_gtpu_eh_ipv4_tcp_without_ul_dl_symmetric', 'port_id': 0, 'rule': 'flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 / tcp / end actions rss func symmetric_toeplitz types ipv4-tcp end key_len 0 queues end / end', - 'pre-test': [ - { - 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34) /IP(dst="192.168.0.1",src="192.168.0.2")/TCP(sport=22, dport=23)/("X"*480)', - 'action': {'save_hash', 'udp-dl'}, - }, - { - 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34) /IP(dst="192.168.0.1",src="192.168.0.2")/TCP(sport=23, dport=22)/("X"*480)', - 'action': 'check_hash_different', - }, - { - 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34) /IP(dst="192.168.0.2",src="192.168.0.1")/TCP(sport=22, dport=23)/("X"*480)', - 'action': 'check_hash_different', - }, - { - 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34) /IP(dst="192.168.0.2",src="192.168.0.1")/TCP(sport=23, dport=22)/("X"*480)', - 'action': 'check_hash_different', - }, - { - 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34) /IP(dst="192.168.0.1",src="192.168.0.2")/TCP(sport=22, dport=23)/("X"*480)', - 'action': {'save_hash', 'udp-ul'}, - }, - { - 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34) /IP(dst="192.168.0.1",src="192.168.0.2")/TCP(sport=23, dport=22)/("X"*480)', - 'action': 'check_hash_different', - }, - { - 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34) /IP(dst="192.168.0.2",src="192.168.0.1")/TCP(sport=22, dport=23)/("X"*480)', - 'action': 'check_hash_different', - }, - { - 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34) /IP(dst="192.168.0.2",src="192.168.0.1")/TCP(sport=23, dport=22)/("X"*480)', - 'action': 'check_hash_different', - }, - ], 'test': [ { 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34) /IP(dst="192.168.0.1",src="192.168.0.2")/TCP(sport=22, dport=23)/("X"*480)', @@ -4349,7 +4159,7 @@ mac_ipv4_gtpu_eh_ipv4_tcp_without_ul_dl_symmetric = { }, { 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34) /IP(dst="192.168.0.2",src="192.168.0.1")/UDP(sport=22, dport=23)/("X"*480)', - 'action': 'check_hash_different', + 'action': 'check_hash_same', }, { 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34) /IPv6(dst="ABAB:910B:6666:3457:8295:3333:1800:2929",src="CDCD:910A:2222:5498:8475:1111:3900:2020")/TCP(sport=22, dport=23)/("X"*480)', @@ -4357,7 +4167,7 @@ mac_ipv4_gtpu_eh_ipv4_tcp_without_ul_dl_symmetric = { }, { 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34) /IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/TCP(sport=22, dport=23)/("X"*480)', - 'action': 'check_hash_different', + 'action': 'check_hash_same', }, { 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(dst="192.168.0.1",src="192.168.0.2")/TCP(sport=22, dport=23)/("X"*480)', @@ -4375,7 +4185,7 @@ mac_ipv4_gtpu_eh_ipv4_tcp_without_ul_dl_symmetric = { }, { 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34) /IP(dst="192.168.0.2",src="192.168.0.1")/TCP(sport=22, dport=23)/("X"*480)', - 'action': 'check_hash_different', + 'action': 'check_hash_same', }, { 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34) /IP(dst="192.168.0.1",src="192.168.0.2")/TCP(sport=22, dport=23)/("X"*480)', @@ -4383,7 +4193,7 @@ mac_ipv4_gtpu_eh_ipv4_tcp_without_ul_dl_symmetric = { }, { 'send_packet': 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34) /IP(dst="192.168.0.2",src="192.168.0.1")/TCP(sport=22, dport=23)/("X"*480)', - 'action': 'check_hash_different', + 'action': 'check_hash_same', }, ], } @@ -4883,28 +4693,6 @@ class TestCVLAdvancedRSSGTPU(TestCase): for i in range(0, len(hash_values), 2): self.verify(hash_values[i] != hash_values[i + 1], 'the packets with switched l4 port should have different hash values.') - self.pmd_output.execute_cmd('flow destroy 0 rule 0') - output = self.rssprocess.send_pkt_get_output(pkts=pkts1) - hash_values, rss_distribute = self.rssprocess.get_hash_verify_rss_distribute(output) - for i in range(0, len(hash_values), 2): - self.verify(hash_values[i] != hash_values[i + 1], - 'the pair of packets with switched l3 address should have defferent hash value') - output = self.rssprocess.send_pkt_get_output(pkts=pkts2) - hash_values, rss_distribute = self.rssprocess.get_hash_verify_rss_distribute(output) - for i in range(0, len(hash_values), 2): - self.verify(hash_values[i] != hash_values[i + 1], - 'the packets with switched l4 port should have different hash values.') - self.pmd_output.execute_cmd('flow flush 0') - output = self.rssprocess.send_pkt_get_output(pkts=pkts1) - hash_values, rss_distribute = self.rssprocess.get_hash_verify_rss_distribute(output) - for i in range(0, len(hash_values), 2): - self.verify(hash_values[i] != hash_values[i + 1], - 'the pair of packets with switched l3 address should have defferent hash value') - output = self.rssprocess.send_pkt_get_output(pkts=pkts2) - hash_values, rss_distribute = self.rssprocess.get_hash_verify_rss_distribute(output) - for i in range(0, len(hash_values), 2): - self.verify(hash_values[i] == hash_values[i + 1], - 'the packets with switched l4 port should have same hash values.') def test_rss_function_when_disable_rss(self): self.switch_testpmd(False) @@ -5002,10 +4790,6 @@ class TestCVLAdvancedRSSGTPU(TestCase): hash_value1, queues = self.rssprocess.send_pkt_get_hash_queues(pkts=pkts1[0]) self.verify(hash_value1[0] == hash_value1[1] and hash_value1[0] != hash_value1[2], 'got wrong hash, expect 1st hash equal to 2nd and different with 3rd') - hash_value2, queues = self.rssprocess.send_pkt_get_hash_queues(pkts=pkts1[1]) - self.verify(len(set(hash_value2)) == len(pkts1[1]), 'hash wrong, expect all hash value are different') - hash_value3, queues = self.rssprocess.send_pkt_get_hash_queues(pkts=pkts1[2]) - self.verify(len(set(hash_value3)) == len(pkts1[2]), 'hash wrong, expect all hash value are different') rule_li2 = self.rssprocess.create_rule(rule=rules[1]) hash_value1, queues = self.rssprocess.send_pkt_get_hash_queues(pkts=pkts2[0]) @@ -5050,8 +4834,6 @@ class TestCVLAdvancedRSSGTPU(TestCase): hash_value1, queues = self.rssprocess.send_pkt_get_hash_queues(pkts=pkts1[0]) self.verify(hash_value1[0] == hash_value1[1] and hash_value1[0] != hash_value1[2], 'got wrong hash, expect 1st hash equal to 2nd and different with 3rd') - hash_value2, queues = self.rssprocess.send_pkt_get_hash_queues(pkts1[1]) - self.verify(len(set(hash_value2)) == len(pkts1[1]), 'hash wrong, expect all hash value are different') rule_li2 = self.rssprocess.create_rule(rule=rules[1]) hash_value1, queues = self.rssprocess.send_pkt_get_hash_queues(pkts=pkts2[0]) @@ -5103,30 +4885,20 @@ class TestCVLAdvancedRSSGTPU(TestCase): 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34) /IP(dst="192.168.0.1",src="192.168.0.2")/("X"*480)', 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34) /IP(dst="192.168.0.1",src="192.168.1.2")/("X"*480)', 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34) /IP(dst="192.168.1.1",src="192.168.0.2")/("X"*480)', ] - hash_values, queues = self.rssprocess.send_pkt_get_hash_queues(pkts=pkts1) - self.verify(hash_values[1] == hash_values[0], 'packet 2 should has same hash value with packet 1') - self.verify(hash_values[2] != hash_values[0], 'packet 3 should has different hash value with packet 1') - self.verify(hash_values[4] == hash_values[3], 'packet 5 should has same hash value with packet 4') - self.verify(hash_values[5] != hash_values[3], 'packet 6 should has different hash value with packet 4') - self.verify(hash_values[7] != hash_values[6], 'packet 8 should has different hash value to packet 7') - self.verify(hash_values[8] != hash_values[6] and hash_values[8] != hash_values[7], - 'packet 9 should have different hash value to packet 7 and 8') - self.verify(hash_values[10] != hash_values[9], 'packet 11 should has different hash value to packet 10') - self.verify(hash_values[11] != hash_values[9] and hash_values[11] != hash_values[10], - 'packet 12 have different hash value to packet 10 and 11') + rule1 = 'flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc pdu_t is 0 / ipv4 / udp / end actions rss types ipv4-udp l4-dst-only end key_len 0 queues end / end' rule_li1 = self.rssprocess.create_rule(rule=rule1) hash_values, queues = self.rssprocess.send_pkt_get_hash_queues(pkts=pkts1) self.verify(hash_values[1] == hash_values[0], 'packet 2 should has same hash value with packet 1') - self.verify(hash_values[2] != hash_values[0], 'packet 3 should has different hash value with packet 1') + self.verify(hash_values[2] == hash_values[0], 'packet 3 should has same hash value with packet 1') self.verify(hash_values[4] != hash_values[3], 'packet 5 should has different hash value with packet 4') self.verify(hash_values[5] == hash_values[3], 'packet 6 should has same hash value with packet 4') - self.verify(hash_values[7] != hash_values[6], 'packet 8 should has different hash value to packet 7') - self.verify(hash_values[8] != hash_values[6] and hash_values[8] != hash_values[7], - 'packet 9 should have different hash value to packet 7 and 8') - self.verify(hash_values[10] != hash_values[9], 'packet 11 should has different hash value to packet 10') - self.verify(hash_values[11] != hash_values[9] and hash_values[11] != hash_values[10], - 'packet 12 have different hash value to packet 10 and 11') + self.verify(hash_values[7] == hash_values[6], 'packet 8 should has same hash value to packet 7') + self.verify(hash_values[8] == hash_values[6] and hash_values[8] == hash_values[7], + 'packet 9 should have same hash value to packet 7 and 8') + self.verify(hash_values[10] == hash_values[9], 'packet 11 should has same hash value to packet 10') + self.verify(hash_values[11] == hash_values[9] and hash_values[11] == hash_values[10], + 'packet 12 have same hash value to packet 10 and 11') rule2 = 'flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc pdu_t is 1 / ipv4 / end actions rss types ipv4 l3-src-only end key_len 0 queues end / end' rule_li2 = self.rssprocess.create_rule(rule=rule2) hash_values, queues = self.rssprocess.send_pkt_get_hash_queues(pkts=pkts1) @@ -5134,9 +4906,9 @@ class TestCVLAdvancedRSSGTPU(TestCase): self.verify(hash_values[2] == hash_values[0], 'packet 3 should has same hash value with packet 1') self.verify(hash_values[4] != hash_values[3], 'packet 5 should has different hash value with packet 4') self.verify(hash_values[5] == hash_values[3], 'packet 6 should has same hash value with packet 4') - self.verify(hash_values[7] != hash_values[6], 'packet 8 should has different hash value to packet 7') - self.verify(hash_values[8] != hash_values[6] and hash_values[8] != hash_values[7], - 'packet 9 should have different hash value to packet 7 and 8') + self.verify(hash_values[7] == hash_values[6], 'packet 8 should has same hash value to packet 7') + self.verify(hash_values[8] == hash_values[6] and hash_values[8] == hash_values[7], + 'packet 9 should have same hash value to packet 7 and 8') self.verify(hash_values[10] != hash_values[9], 'packet 11 should has different hash value to packet 10') self.verify(hash_values[11] == hash_values[9], 'packet 12 have same hash value to packet 10') @@ -5156,43 +4928,33 @@ class TestCVLAdvancedRSSGTPU(TestCase): 'Ether(dst="68:05:CA:BB:26:E0")/IPv6()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34) /IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/("X"*480)', 'Ether(dst="68:05:CA:BB:26:E0")/IPv6()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34) /IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/("X"*480)', 'Ether(dst="68:05:CA:BB:26:E0")/IPv6()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34) /IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/("X"*480)', ] - hash_values, queues = self.rssprocess.send_pkt_get_hash_queues(pkts=pkts1) - self.verify(hash_values[1] == hash_values[0], 'packet 2 should has same hash value with packet 1') - self.verify(hash_values[2] != hash_values[0], 'packet 3 should has different hash value with packet 1') - self.verify(hash_values[4] == hash_values[3], 'packet 5 should has same hash value with packet 4') - self.verify(hash_values[5] != hash_values[3], 'packet 6 should has different hash value with packet 4') - self.verify(hash_values[7] != hash_values[6], 'packet 8 should has different hash value to packet 7') - self.verify(hash_values[8] != hash_values[6] and hash_values[8] != hash_values[7], - 'packet 9 should have different hash value to packet 7 and 8') - self.verify(hash_values[10] != hash_values[9], 'packet 11 should has different hash value to packet 10') - self.verify(hash_values[11] != hash_values[9] and hash_values[11] != hash_values[10], - 'packet 12 have different hash value to packet 10 and 11') + rule1 = 'flow create 0 ingress pattern eth / ipv6 / udp / gtpu / gtp_psc pdu_t is 0 / ipv6 / tcp / end actions rss types ipv6-tcp l4-dst-only end key_len 0 queues end / end' rule_li1 = self.rssprocess.create_rule(rule=rule1) hash_values, queues = self.rssprocess.send_pkt_get_hash_queues(pkts=pkts1) self.verify(hash_values[1] != hash_values[0], 'packet 2 should has different hash value with packet 1') self.verify(hash_values[2] == hash_values[0], 'packet 3 should has same hash value with packet 1') self.verify(hash_values[4] == hash_values[3], 'packet 5 should has same hash value with packet 4') - self.verify(hash_values[5] != hash_values[3], 'packet 6 should has different hash value with packet 4') - self.verify(hash_values[7] != hash_values[6], 'packet 8 should has different hash value to packet 7') - self.verify(hash_values[8] != hash_values[6] and hash_values[8] != hash_values[7], + self.verify(hash_values[5] == hash_values[3], 'packet 6 should has same hash value with packet 4') + self.verify(hash_values[7] == hash_values[6], 'packet 8 should has same hash value to packet 7') + self.verify(hash_values[8] == hash_values[6] and hash_values[8] == hash_values[7], 'packet 9 should have different hash value to packet 7 and 8') - self.verify(hash_values[10] != hash_values[9], 'packet 11 should has different hash value to packet 10') - self.verify(hash_values[11] != hash_values[9] and hash_values[11] != hash_values[10], + self.verify(hash_values[10] == hash_values[9], 'packet 11 should has different hash value to packet 10') + self.verify(hash_values[11] == hash_values[9] and hash_values[11] == hash_values[10], 'packet 12 have different hash value to packet 10 and 11') rule2 = 'flow create 0 ingress pattern eth / ipv6 / udp / gtpu / gtp_psc pdu_t is 0 / ipv6 / end actions rss types ipv6 l3-dst-only end key_len 0 queues end / end' rule_li2 = self.rssprocess.create_rule(rule=rule2) hash_values, queues = self.rssprocess.send_pkt_get_hash_queues(pkts=pkts1) self.verify(hash_values[1] == hash_values[0], 'packet 2 should has same hash value with packet 1') - self.verify(hash_values[2] != hash_values[0], 'packet 3 should has different hash value with packet 1') + self.verify(hash_values[2] != hash_values[0], 'packet 3 should has same hash value with packet 1') self.verify(hash_values[4] == hash_values[3], 'packet 5 should has same hash value with packet 4') - self.verify(hash_values[5] != hash_values[3], 'packet 6 should has different hash value with packet 4') + self.verify(hash_values[5] == hash_values[3], 'packet 6 should has same hash value with packet 4') self.verify(hash_values[7] == hash_values[6], 'packet 8 should has same hash value to packet 7') self.verify(hash_values[8] != hash_values[6], 'packet 9 should have different hash value to packet 7') - self.verify(hash_values[10] != hash_values[9], 'packet 11 should has different hash value to packet 10') - self.verify(hash_values[11] != hash_values[9] and hash_values[11] != hash_values[10], - 'packet 12 have different hash value to packet 10 and 11') + self.verify(hash_values[10] == hash_values[9], 'packet 11 should has same hash value to packet 10') + self.verify(hash_values[11] == hash_values[9] and hash_values[11] == hash_values[10], + 'packet 12 have same hash value to packet 10 and 11') def test_ipv4_gtpu_eh_ipv6_and_ipv4_gtpu_eh_ipv6_udp_tcp_without_ul_dl(self): self.switch_testpmd(enable_rss=True) @@ -5204,12 +4966,7 @@ class TestCVLAdvancedRSSGTPU(TestCase): 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34) /IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/("X"*480)', 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34) /IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2928",dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/("X"*480)', 'Ether(dst="68:05:CA:BB:26:E0")/IP()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34) /IPv6(src="ABAB:910B:6666:3457:8295:3333:1800:2929",dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/("X"*480)', ] - hash_values, queues = self.rssprocess.send_pkt_get_hash_queues(pkts=pkts1) - self.verify(hash_values[1] == hash_values[0], 'packet 2 should has same hash value with packet 1') - self.verify(hash_values[2] != hash_values[0] and hash_values[3] != hash_values[0], - 'packet 3 and packet 4 should have different hash value to packet 1.') - self.verify(len({hash_values[4], hash_values[5], hash_values[6]}) == 3, - 'packet 5 and packet 6 and packet 7 have different hash value.') + rule1 = 'flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv6 / end actions rss types ipv6 l3-dst-only end key_len 0 queues end / end' self.rssprocess.create_rule(rule=rule1) hash_values, queues = self.rssprocess.send_pkt_get_hash_queues(pkts=pkts1) @@ -5229,13 +4986,7 @@ class TestCVLAdvancedRSSGTPU(TestCase): 'Ether(dst="68:05:CA:BB:26:E0")/IPv6()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(dst="192.168.0.1",src="192.168.0.2")/("X"*480)', 'Ether(dst="68:05:CA:BB:26:E0")/IPv6()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(dst="192.168.0.1",src="192.168.1.2")/("X"*480)', 'Ether(dst="68:05:CA:BB:26:E0")/IPv6()/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x123456)/IP(dst="192.168.1.1",src="192.168.0.2")/("X"*480)', ] - hash_values, queues = self.rssprocess.send_pkt_get_hash_queues(pkts=pkts1) - self.verify(hash_values[1] == hash_values[0], - 'packet 2 should has same hash value with packet 1') - self.verify(hash_values[2] != hash_values[0] and hash_values[3] != hash_values[0], - 'packet 3 and packet 4 should have different hash value to packet 1.') - self.verify(len({hash_values[4], hash_values[5], hash_values[6]}) == 3, - 'packet 5 and packet 6 and packet 7 have different hash value.') + self.rssprocess.create_rule( rule='flow create 0 ingress pattern eth / ipv6 / udp / gtpu / ipv4 / udp / end actions rss types ipv4-udp l4-dst-only end key_len 0 queues end / end') hash_values, queues = self.rssprocess.send_pkt_get_hash_queues(pkts=pkts1) @@ -5243,8 +4994,8 @@ class TestCVLAdvancedRSSGTPU(TestCase): 'packet 2 should has defferent hash value with packet 1') self.verify(hash_values[2] == hash_values[0] and hash_values[3] == hash_values[0], 'packet 3 and packet 4 should have same hash value to packet 1.') - self.verify(len({hash_values[4], hash_values[5], hash_values[6]}) == 3, - 'packet 5 and packet 6 and packet 7 have different hash value.') + self.verify(len({hash_values[4], hash_values[5], hash_values[6]}) == 1, + 'packet 5 and packet 6 and packet 7 have same hash value.') self.rssprocess.create_rule( rule='flow create 0 ingress pattern eth / ipv6 / udp / gtpu / ipv4 / end actions rss types ipv4 l3-dst-only end key_len 0 queues end / end') hash_values, queues = self.rssprocess.send_pkt_get_hash_queues(pkts=pkts1)