From patchwork Thu Jun 24 19:36:58 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Huang, ZhiminX" X-Patchwork-Id: 94794 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 D189FA0547; Thu, 24 Jun 2021 13:08:41 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B00A140140; Thu, 24 Jun 2021 13:08:41 +0200 (CEST) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mails.dpdk.org (Postfix) with ESMTP id 0A95940040 for ; Thu, 24 Jun 2021 13:08:38 +0200 (CEST) IronPort-SDR: hKTJiJp3sxtKoBYONTw1bUmRUdt41c1/WfJbyHGs1o5PRPVbnLkRzM/JUlbAGy11R5giKBaPJJ jE20bDKnE9eA== X-IronPort-AV: E=McAfee;i="6200,9189,10024"; a="204441159" X-IronPort-AV: E=Sophos;i="5.83,296,1616482800"; d="scan'208";a="204441159" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Jun 2021 04:08:37 -0700 IronPort-SDR: Qsb4VQpGYQlehzptcinPZQMkzVMcawn+nFxm2LLDZM5RLC1Lrsfh3++mumL3CMZ1SclTaFvEy9 SBsfQBEJsxhA== X-IronPort-AV: E=Sophos;i="5.83,296,1616482800"; d="scan'208";a="642279390" Received: from unknown (HELO localhost.localdomain) ([10.240.183.103]) by fmsmga005-auth.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 24 Jun 2021 04:08:32 -0700 From: Zhimin Huang To: dts@dpdk.org Cc: Zhimin Huang Date: Fri, 25 Jun 2021 03:36:58 +0800 Message-Id: <20210624193658.9109-1-zhiminx.huang@intel.com> X-Mailer: git-send-email 2.17.1 Subject: [dts] [PATCH V3] test_plans/iavf_fdir: add new test plans 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" Add fdir with gtpu inner l3/l4 test palns. v3: - fix testplan wrong format Signed-off-by: Zhimin Huang --- test_plans/iavf_fdir_test_plan.rst | 1725 +++++++++++++++++++++++++++- 1 file changed, 1669 insertions(+), 56 deletions(-) diff --git a/test_plans/iavf_fdir_test_plan.rst b/test_plans/iavf_fdir_test_plan.rst index 1fd7b61b..ac423903 100644 --- a/test_plans/iavf_fdir_test_plan.rst +++ b/test_plans/iavf_fdir_test_plan.rst @@ -46,59 +46,107 @@ Description Pattern and input set --------------------- - +------------------------------+----------------------------+-------------------------------------------------------------------+ - | Packet Type | Pattern | Input Set | - +------------------------------+----------------------------+-------------------------------------------------------------------+ - | IPv4/IPv6 + TCP/UDP/SCTP | MAC_IPV4_PAY | [Source IP], [Dest IP], [IP protocol], [TTL], [DSCP] | - +------------------------------+----------------------------+-------------------------------------------------------------------+ - | | MAC_IPV4_UDP | [Source IP], [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port] | - +------------------------------+----------------------------+-------------------------------------------------------------------+ - | | MAC_IPV4_TCP | [Source IP], [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port] | - +------------------------------+----------------------------+-------------------------------------------------------------------+ - | | MAC_IPV4_SCTP | [Source IP], [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port] | - +------------------------------+----------------------------+-------------------------------------------------------------------+ - | | MAC_IPV6_PAY | [Source IP], [Dest IP], [IP protocol], [TTL], [TC] | - +------------------------------+----------------------------+-------------------------------------------------------------------+ - | | MAC_IPV6_UDP | [Source IP], [Dest IP], [TTL], [TC], [Source Port], [Dest Port] | - +------------------------------+----------------------------+-------------------------------------------------------------------+ - | | MAC_IPV6_TCP | [Source IP], [Dest IP], [TTL], [TC], [Source Port], [Dest Port] | - +------------------------------+----------------------------+-------------------------------------------------------------------+ - | | MAC_IPV6_SCTP | [Source IP], [Dest IP], [TTL], [TC], [Source Port], [Dest Port] | - +------------------------------+----------------------------+-------------------------------------------------------------------+ - | L2 Ethertype | L2 Ethertype | [Ethertype] | - +------------------------------+----------------------------+-------------------------------------------------------------------+ - | PFCP | MAC_IPV4_PFCP_NODE | [Dest Port], [S-field] | - +------------------------------+----------------------------+-------------------------------------------------------------------+ - | | MAC_IPV4_PFCP_SESSION | [Dest Port], [S-field] | - +------------------------------+----------------------------+-------------------------------------------------------------------+ - | | MAC_IPV6_PFCP_NODE | [Dest Port], [S-field] | - +------------------------------+----------------------------+-------------------------------------------------------------------+ - | | MAC_IPV6_PFCP_SESSION | [Dest Port], [S-field] | - +------------------------------+----------------------------+-------------------------------------------------------------------+ - | IPv4/IPv6 + GTP-U | MAC_IPV4_GTPU | [Source IP], [Dest IP], [TEID] | - +------------------------------+----------------------------+-------------------------------------------------------------------+ - | | MAC_IPV4_GTPU_EH | [Source IP], [Dest IP], [TEID], [QFI] | - +------------------------------+----------------------------+-------------------------------------------------------------------+ - | | MAC_IPV6_GTPU | [Source IPV6], [Dest IPV6], [TEID] | - +------------------------------+----------------------------+-------------------------------------------------------------------+ - | | MAC_IPV6_GTPU_EH | [Source IPV6], [Dest IPV6], [TEID], [QFI] | - +------------------------------+----------------------------+-------------------------------------------------------------------+ - | L2TPv3 | MAC_IPV4_L2TPv3 | [Session ID] | - +------------------------------+----------------------------+-------------------------------------------------------------------+ - | | MAC_IPV6_L2TPv3 | [Session ID] | - +------------------------------+----------------------------+-------------------------------------------------------------------+ - | ESP | MAC_IPV4_ESP | [SPI] | - +------------------------------+----------------------------+-------------------------------------------------------------------+ - | | MAC_IPV6_ESP | [SPI] | - +------------------------------+----------------------------+-------------------------------------------------------------------+ - | | MAC_IPV4_AH | [SPI] | - +------------------------------+----------------------------+-------------------------------------------------------------------+ - | | MAC_IPV6_AH | [SPI] | - +------------------------------+----------------------------+-------------------------------------------------------------------+ - | | MAC_IPV4_NAT-T-ESP | [Source IP], [Dest IP], [SPI] | - +------------------------------+----------------------------+-------------------------------------------------------------------+ - | | MAC_IPV6_NAT-T-ESP | [Source IP], [Dest IP], [SPI] | - +------------------------------+----------------------------+-------------------------------------------------------------------+ + +------------------------------+------------------------------+-------------------------------------------------------------------+ + | Packet Type | Pattern | Input Set | + +------------------------------+------------------------------+-------------------------------------------------------------------+ + | IPv4/IPv6 + TCP/UDP/SCTP |MAC_IPV4_PAY | [Source IP], [Dest IP], [IP protocol], [TTL], [DSCP] | + +------------------------------+------------------------------+-------------------------------------------------------------------+ + | |MAC_IPV4_UDP | [Source IP], [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port] | + +------------------------------+------------------------------+-------------------------------------------------------------------+ + | |MAC_IPV4_TCP | [Source IP], [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port] | + +------------------------------+------------------------------+-------------------------------------------------------------------+ + | |MAC_IPV4_SCTP | [Source IP], [Dest IP], [TTL], [DSCP], [Source Port], [Dest Port] | + +------------------------------+------------------------------+-------------------------------------------------------------------+ + | |MAC_IPV6_PAY | [Source IP], [Dest IP], [IP protocol], [TTL], [TC] | + +------------------------------+------------------------------+-------------------------------------------------------------------+ + | |MAC_IPV6_UDP | [Source IP], [Dest IP], [TTL], [TC], [Source Port], [Dest Port] | + +------------------------------+------------------------------+-------------------------------------------------------------------+ + | |MAC_IPV6_TCP | [Source IP], [Dest IP], [TTL], [TC], [Source Port], [Dest Port] | + +------------------------------+------------------------------+-------------------------------------------------------------------+ + | |MAC_IPV6_SCTP | [Source IP], [Dest IP], [TTL], [TC], [Source Port], [Dest Port] | + +------------------------------+------------------------------+-------------------------------------------------------------------+ + | L2 Ethertype |L2 Ethertype | [Ethertype] | + +------------------------------+------------------------------+-------------------------------------------------------------------+ + | PFCP |MAC_IPV4_PFCP_NODE | [Dest Port], [S-field] | + +------------------------------+------------------------------+-------------------------------------------------------------------+ + | |MAC_IPV4_PFCP_SESSION | [Dest Port], [S-field] | + +------------------------------+------------------------------+-------------------------------------------------------------------+ + | |MAC_IPV6_PFCP_NODE | [Dest Port], [S-field] | + +------------------------------+------------------------------+-------------------------------------------------------------------+ + | |MAC_IPV6_PFCP_SESSION | [Dest Port], [S-field] | + +------------------------------+------------------------------+-------------------------------------------------------------------+ + | L2TPv3 |MAC_IPV4_L2TPv3 | [Session ID] | + +------------------------------+------------------------------+-------------------------------------------------------------------+ + | |MAC_IPV6_L2TPv3 | [Session ID] | + +------------------------------+------------------------------+-------------------------------------------------------------------+ + | ESP |MAC_IPV4_ESP | [SPI] | + +------------------------------+------------------------------+-------------------------------------------------------------------+ + | |MAC_IPV6_ESP | [SPI] | + +------------------------------+------------------------------+-------------------------------------------------------------------+ + | |MAC_IPV4_AH | [SPI] | + +------------------------------+------------------------------+-------------------------------------------------------------------+ + | |MAC_IPV6_AH | [SPI] | + +------------------------------+------------------------------+-------------------------------------------------------------------+ + | |MAC_IPV4_NAT-T-ESP | [Source IP], [Dest IP], [SPI] | + +------------------------------+------------------------------+-------------------------------------------------------------------+ + | |MAC_IPV6_NAT-T-ESP | [Source IP], [Dest IP], [SPI] | + +------------------------------+------------------------------+-------------------------------------------------------------------+ + | IPv4 + GTP-U outer |MAC_IPV4_GTPU | outer:[Source IP], [Dest IP], [TEID] | + +------------------------------+------------------------------+-------------------------------------------------------------------+ + | |MAC_IPV4_GTPU_EH | outer:[Source IP], [Dest IP], [TEID], [QFI] | + +------------------------------+------------------------------+-------------------------------------------------------------------+ + | IPv6 + GTP-U outer |MAC_IPV6_GTPU | outer:[Source IPV6], [Dest IPV6], [TEID] | + +------------------------------+------------------------------+-------------------------------------------------------------------+ + | |MAC_IPV6_GTPU_EH | outer:[Source IPV6], [Dest IPV6], [TEID], [QFI] | + +------------------------------+------------------------------+-------------------------------------------------------------------+ + | IPv4 + GTP-U + inner IPv4 |MAC_IPV4_GTPU_IPV4 | inner:[Source IP], [Dest IP] | + +------------------------------+------------------------------+-------------------------------------------------------------------+ + | |MAC_IPV4_GTPU_IPV4_UDP | inner:[Source IP], [Dest IP], [Source Port], [Dest Port] | + +------------------------------+------------------------------+-------------------------------------------------------------------+ + | |MAC_IPV4_GTPU_IPV4_TCP | inner:[Source IP], [Dest IP], [Source Port], [Dest Port] | + +------------------------------+------------------------------+-------------------------------------------------------------------+ + | |MAC_IPV4_GTPU_EH_IPV4 | inner:[Source IP], [Dest IP] | + +------------------------------+------------------------------+-------------------------------------------------------------------+ + | |MAC_IPV4_GTPU_EH_IPV4_UDP | inner:[Source IP], [Dest IP], [Source Port], [Dest Port] | + +------------------------------+------------------------------+-------------------------------------------------------------------+ + | |MAC_IPV4_GTPU_EH_IPV4_TCP | inner:[Source IP], [Dest IP], [Source Port], [Dest Port] | + +------------------------------+------------------------------+-------------------------------------------------------------------+ + | |MAC_IPV4_GTPU_EH_DL_IPV4 | inner:[Source IP], [Dest IP] | + +------------------------------+------------------------------+-------------------------------------------------------------------+ + | |MAC_IPV4_GTPU_EH_DL_IPV4_UDP | inner:[Source IP], [Dest IP], [Source Port], [Dest Port] | + +------------------------------+------------------------------+-------------------------------------------------------------------+ + | |MAC_IPV4_GTPU_EH_DL_IPV4_TCP | inner:[Source IP], [Dest IP], [Source Port], [Dest Port] | + +------------------------------+------------------------------+-------------------------------------------------------------------+ + | |MAC_IPV4_GTPU_EH_UL_IPV4 | inner:[Source IP], [Dest IP] | + +------------------------------+------------------------------+-------------------------------------------------------------------+ + | |MAC_IPV4_GTPU_EH_UL_IPV4_UDP | inner:[Source IP], [Dest IP], [Source Port], [Dest Port] | + +------------------------------+------------------------------+-------------------------------------------------------------------+ + | |MAC_IPV4_GTPU_EH_UL_IPV4_TCP | inner:[Source IP], [Dest IP], [Source Port], [Dest Port] | + +------------------------------+------------------------------+-------------------------------------------------------------------+ + | IPv4 + GTP-U + inner IPv6 |MAC_IPV4_GTPU_IPV6 | inner:[Source IPv6], [Dest IPv6] | + +------------------------------+------------------------------+-------------------------------------------------------------------+ + | |MAC_IPV4_GTPU_IPV6_UDP | inner:[Source IPv6], [Dest IPv6], [Source Port], [Dest Port] | + +------------------------------+------------------------------+-------------------------------------------------------------------+ + | |MAC_IPV4_GTPU_IPV6_TCP | inner:[Source IPv6], [Dest IPv6], [Source Port], [Dest Port] | + +------------------------------+------------------------------+-------------------------------------------------------------------+ + | |MAC_IPV4_GTPU_EH_IPV6 | inner:[Source IPv6], [Dest IPv6] | + +------------------------------+------------------------------+-------------------------------------------------------------------+ + | |MAC_IPV4_GTPU_EH_IPV6_UDP | inner:[Source IPv6], [Dest IPv6], [Source Port], [Dest Port] | + +------------------------------+------------------------------+-------------------------------------------------------------------+ + | |MAC_IPV4_GTPU_EH_IPV6_TCP | inner:[Source IPv6], [Dest IPv6], [Source Port], [Dest Port] | + +------------------------------+------------------------------+-------------------------------------------------------------------+ + | |MAC_IPV4_GTPU_EH_UL_IPV6 | inner:[Source IPv6], [Dest IPv6] | + +------------------------------+------------------------------+-------------------------------------------------------------------+ + | |MAC_IPV4_GTPU_EH_UL_IPV6_UDP | inner:[Source IPv6], [Dest IPv6], [Source Port], [Dest Port] | + +------------------------------+------------------------------+-------------------------------------------------------------------+ + | |MAC_IPV4_GTPU_EH_UL_IPV6_TCP | inner:[Source IPv6], [Dest IPv6], [Source Port], [Dest Port] | + +------------------------------+------------------------------+-------------------------------------------------------------------+ + | |MAC_IPV4_GTPU_EH_UL_IPV6 | inner:[Source IPv6], [Dest IPv6] | + +------------------------------+------------------------------+-------------------------------------------------------------------+ + | |MAC_IPV4_GTPU_EH_UL_IPV6_UDP | inner:[Source IPv6], [Dest IPv6], [Source Port], [Dest Port] | + +------------------------------+------------------------------+-------------------------------------------------------------------+ + | |MAC_IPV4_GTPU_EH_UL_IPV6_TCP | inner:[Source IPv6], [Dest IPv6], [Source Port], [Dest Port] | + +------------------------------+------------------------------+-------------------------------------------------------------------+ Supported function type @@ -191,7 +239,7 @@ Default parameters [Dest MAC]: 00:11:22:33:44:88 - IPv4:: + outer/inner IPv4:: [Source IP]: 192.168.0.20 [Dest IP]: 192.168.0.21 @@ -199,7 +247,7 @@ Default parameters [TTL]: 2 [DSCP]: 4 - IPv6:: + outer/inner IPv6:: [Source IPv6]: 2001::2 [Dest IPv6]: CDCD:910A:2222:5498:8475:1111:3900:2020 @@ -582,6 +630,382 @@ Send packets sendp(Ether(dst='00:11:22:33:44:55')/IPv6(dst="1111:2222:3333:4444:5555:6666:7777:9999")/UDP(dport=4500)/ESP(spi=2)/Raw('x'*480),iface="enp134s0f1") sendp(Ether(dst='00:11:22:33:44:55')/IPv6(src="1111:2222:3333:4444:5555:6666:7777:8888")/UDP(dport=4500)/ESP(spi=2)/Raw('x'*480),iface="enp134s0f1") +* MAC_IPV4_GTPU_IPV4 + + matched packets:: + + pkt1 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/IP(src="192.168.0.20", dst="192.168.0.21")/Raw('x'*20) + pkt2 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/IP(src="192.168.0.20", dst="192.168.0.21", frag=1)/Raw('x'*20) + pkt3 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/IP(src="192.168.0.20", dst="192.168.0.21")/UDP()/Raw('x'*20) + pkt4 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/IP(src="192.168.0.20", dst="192.168.0.21")/TCP(sport=22, dport=23)/Raw('x'*20) + pkt5 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/IP(src="192.168.0.20", dst="192.168.0.21")/ICMP()/Raw('x'*20) + + mismatched packets:: + + pkt11 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/IP(src="192.168.0.22", dst="192.168.0.23")/Raw('x'*20) + pkt12 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/IP(src="192.168.0.20", dst="192.168.0.21")/SCTP()/Raw('x'*20) + pkt13 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/Raw('x'*20) + pkt14 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/IPv6()/Raw('x'*20) + +* MAC_IPV4_GTPU_IPV4_TCP + + matched packets:: + + pkt1 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/IP(src="192.168.0.20", dst="192.168.0.21")/TCP(sport=22, dport=23)/Raw('x'*20) + + mismatched packets:: + + pkt11 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/IP(src="192.168.0.22", dst="192.168.0.23")/TCP(sport=24, dport=25)/Raw('x'*20) + pkt12 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/IP(src="192.168.0.20", dst="192.168.0.21")/UDP(sport=22, dport=23)/Raw('x'*20) + pkt13 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/Raw('x'*20) + pkt14 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/IPv6()/TCP(sport=22, dport=23)/Raw('x'*20) + pkt15 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/IP()/Raw('x'*20) + +* MAC_IPV4_GTPU_IPV4_UDP + + matched packets:: + + pkt1 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/IP(src="192.168.0.20", dst="192.168.0.21")/UDP(sport=22, dport=23)/Raw('x'*20) + + mismatched packets:: + + pkt11 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/IP(src="192.168.0.22", dst="192.168.0.23")/UDP(sport=24, dport=25)/Raw('x'*20) + pkt12 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/IP(src="192.168.0.20", dst="192.168.0.21")/TCP(sport=22, dport=23)/Raw('x'*20) + pkt13 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/Raw('x'*20) + pkt14 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/IP(src="192.168.0.20", dst="192.168.0.21")/Raw('x'*20) + pkt15 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/IPv6()/UDP(sport=22, dport=23)/Raw('x'*20) + +* MAC_IPV4_GTPU_EH_IPV4 + + matched packets:: + + pkt1 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer()/IP(src="192.168.0.20", dst="192.168.0.21")/Raw('x'*20) + pkt2 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer()/IP(src="192.168.0.20", dst="192.168.0.21", frag=1)/Raw('x'*20) + pkt3 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer()/IP(src="192.168.0.20", dst="192.168.0.21")/UDP()/Raw('x'*20) + pkt4 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer()/IP(src="192.168.0.20", dst="192.168.0.21")/TCP(sport=22, dport=23)/Raw('x'*20) + pkt5 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer()/IP(src="192.168.0.20", dst="192.168.0.21")/ICMP()/Raw('x'*20) + + mismatched packets:: + + pkt11 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer()/IP(src="192.168.0.22", dst="192.168.0.23")/Raw('x'*20) + pkt12 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer()/IPv6()/Raw('x'*20) + +* MAC_IPV4_GTPU_EH_IPV4_TCP + + matched packets:: + + pkt1 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer()/IP(src="192.168.0.20", dst="192.168.0.21")/TCP(sport=22, dport=23)/Raw('x'*20) + pkt2 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=0)/IP(src="192.168.0.20", dst="192.168.0.21")/TCP(sport=22, dport=23)/Raw('x'*20) + pkt3 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IP(src="192.168.0.20", dst="192.168.0.21")/TCP(sport=22, dport=23)/Raw('x'*20) + + mismatched packets:: + + pkt11 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer()/IP(src="192.168.0.22", dst="192.168.0.23")/TCP(sport=25, dport=24)/Raw('x'*20) + pkt12 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer()/IP(src="192.168.0.20", dst="192.168.0.21")/UDP(sport=22, dport=23)/Raw('x'*20) + pkt13 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer()/IPv6()/TCP(sport=22, dport=23)/Raw('x'*20) + pkt14 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer()/IP()/Raw('x'*20) + +* MAC_IPV4_GTPU_EH_IPV4_UDP + + matched packets:: + + pkt1 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer()/IP(src="192.168.0.20", dst="192.168.0.21")/UDP(sport=22, dport=23)/Raw('x'*20) + pkt2 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=0)/IP(src="192.168.0.20", dst="192.168.0.21")/UDP(sport=22, dport=23)/Raw('x'*20) + pkt3 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IP(src="192.168.0.20", dst="192.168.0.21")/UDP(sport=22, dport=23)/Raw('x'*20) + + mismatched packets:: + + pkt11 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer()/IP(src="192.168.0.22", dst="192.168.0.23")/UDP(sport=25, dport=24)/Raw('x'*20) + pkt12 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer()/IP(src="192.168.0.20", dst="192.168.0.21")/TCP(sport=22, dport=23)/Raw('x'*20) + pkt13 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer()/IP(src="192.168.0.20", dst="192.168.0.21")/Raw('x'*20) + pkt14 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer()/IPv6()/UDP(sport=22, dport=23)/Raw('x'*20) + +* MAC_IPV4_GTPU_EH_DL_IPV4 + + matched packets:: + + pkt1 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer()/IP(src="192.168.0.20", dst="192.168.0.21")/Raw('x'*20) + pkt2 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=0)/IP(src="192.168.0.20", dst="192.168.0.21")/Raw('x'*20) + pkt3 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=0)/IP(src="192.168.0.20", dst="192.168.0.21", frag=1)/Raw('x'*20) + pkt4 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=0)/IP(src="192.168.0.20", dst="192.168.0.21")/UDP()/Raw('x'*20) + pkt5 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=0)/IP(src="192.168.0.20", dst="192.168.0.21")/TCP(sport=22, dport=23)/Raw('x'*20) + pkt6 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=0)/IP(src="192.168.0.20", dst="192.168.0.21")/ICMP()/Raw('x'*20) + + mismatched packets:: + + pkt11 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IP(src="192.168.0.20", dst="192.168.0.21")/Raw('x'*20) + pkt12 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=0)/IP(src="192.168.0.22", dst="192.168.0.23")/Raw('x'*20) + pkt13 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=0)/IPv6()/Raw('x'*20) + +* MAC_IPV4_GTPU_EH_DL_IPV4_TCP + + matched packets:: + + pkt1 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=0)/IP(src="192.168.0.20", dst="192.168.0.21")/TCP(sport=22, dport=23)/Raw('x'*20) + pkt2 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer()/IP(src="192.168.0.20", dst="192.168.0.21")/TCP(sport=22, dport=23)/Raw('x'*20) + + mismatched packets:: + + pkt11 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IP(src="192.168.0.20", dst="192.168.0.21")/TCP(sport=22, dport=23)/Raw('x'*20) + pkt12 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=0)/IP(src="192.168.0.22", dst="192.168.0.23")/TCP(sport=25, dport=24)/Raw('x'*20) + pkt13 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=0)/IP(src="192.168.0.20", dst="192.168.0.21")/UDP(sport=22, dport=23)/Raw('x'*20) + pkt14 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=0)/IPv6()/TCP(sport=22, dport=23)/Raw('x'*20) + pkt15 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=0)/IP()/Raw('x'*20) + +* MAC_IPV4_GTPU_EH_DL_IPV4_UDP + + matched packets:: + + pkt1 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=0)/IP(src="192.168.0.20", dst="192.168.0.21")/UDP(sport=22, dport=23)/Raw('x'*20) + pkt2 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer()/IP(src="192.168.0.20", dst="192.168.0.21")/UDP(sport=22, dport=23)/Raw('x'*20) + + mismatched packets:: + + pkt11 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IP(src="192.168.0.20", dst="192.168.0.21")/UDP(sport=22, dport=23)/Raw('x'*20) + pkt12 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=0)/IP(src="192.168.0.22", dst="192.168.0.23")/UDP(sport=25, dport=24)/Raw('x'*20) + pkt13 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=0)/IP(src="192.168.0.20", dst="192.168.0.21")/TCP(sport=22, dport=23)/Raw('x'*20) + pkt14 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=0)/IP(src="192.168.0.20", dst="192.168.0.21")/Raw('x'*20) + pkt15 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=0)/IPv6()/UDP(sport=22, dport=23)/Raw('x'*20) + +* MAC_IPV4_GTPU_EH_UL_IPV4 + + matched packets:: + + pkt1 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IP(src="192.168.0.20", dst="192.168.0.21")/Raw('x'*20) + pkt2 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IP(src="192.168.0.20", dst="192.168.0.21", frag=1)/Raw('x'*20) + pkt3 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IP(src="192.168.0.20", dst="192.168.0.21")/UDP()/Raw('x'*20) + pkt4 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IP(src="192.168.0.20", dst="192.168.0.21")/TCP(sport=22, dport=23)/Raw('x'*20) + pkt5 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IP(src="192.168.0.20", dst="192.168.0.21")/ICMP()/Raw('x'*20) + + mismatched packets:: + + pkt11 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer()/IP(src="192.168.0.20", dst="192.168.0.21")/Raw('x'*20) + pkt12 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=0)/IP(src="192.168.0.20", dst="192.168.0.21")/Raw('x'*20) + pkt14 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IP(src="192.168.0.22", dst="192.168.0.23")/Raw('x'*20) + pkt15 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IP(src="192.168.0.20", dst="192.168.0.21")/SCTP()/Raw('x'*20) + pkt16 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=1)/Raw('x'*20) + pkt17 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IPv6()/Raw('x'*20) + +* MAC_IPV4_GTPU_EH_UL_IPV4_TCP + + matched packets:: + + pkt1 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IP(src="192.168.0.20", dst="192.168.0.21")/TCP(sport=22, dport=23)/Raw('x'*20) + + mismatched packets:: + + pkt11 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer()/IP(src="192.168.0.20", dst="192.168.0.21")/TCP(sport=22, dport=23)/Raw('x'*20) + pkt12 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=0)/IP(src="192.168.0.20", dst="192.168.0.21")/TCP(sport=22, dport=23)/Raw('x'*20) + pkt13 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IP(src="192.168.0.22", dst="192.168.0.23")/TCP(sport=25, dport=24)/Raw('x'*20) + pkt14 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IP(src="192.168.0.20", dst="192.168.0.21")/UDP(sport=22, dport=23)/Raw('x'*20) + pkt15 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=1)/Raw('x'*20) + pkt16 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IPv6()/TCP(sport=22, dport=23)/Raw('x'*20) + pkt17 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IP()/Raw('x'*20) + +* MAC_IPV4_GTPU_EH_UL_IPV4_UDP + + matched packets:: + + pkt1 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IP(src="192.168.0.20", dst="192.168.0.21")/UDP(sport=22, dport=23)/Raw('x'*20) + + mismatched packets:: + + pkt11 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer()/IP(src="192.168.0.20", dst="192.168.0.21")/UDP(sport=22, dport=23)/Raw('x'*20) + pkt12 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=0)/IP(src="192.168.0.20", dst="192.168.0.21")/UDP(sport=22, dport=23)/Raw('x'*20) + pkt13 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IP(src="192.168.0.22", dst="192.168.0.23")/UDP(sport=25, dport=24)/Raw('x'*20) + pkt14 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IP(src="192.168.0.20", dst="192.168.0.21")/TCP(sport=22, dport=23)/Raw('x'*20) + pkt15 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=1)/Raw('x'*20) + pkt16 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IP(src="192.168.0.20", dst="192.168.0.21")/Raw('x'*20) + pkt17 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IPv6()/UDP(sport=22, dport=23)/Raw('x'*20) + + +* MAC_IPV4_GTPU_IPV6 + + matched packets:: + + pkt1 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/Raw('x'*20) + pkt2 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP()/Raw('x'*20) + pkt3 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/TCP(sport=22, dport=23)/Raw('x'*20) + pkt4 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/ICMP()/Raw('x'*20) + + mismatched packets:: + + pkt11 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/IPv6(src="2001::4", dst="CDCD:910A:2222:5498:8475:1111:3900:2024")/Raw('x'*20) + pkt12 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/SCTP()/Raw('x'*20) + pkt13 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/Raw('x'*20) + pkt14 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/IP()/Raw('x'*20) + +* MAC_IPV4_GTPU_IPV6_TCP + + matched packets:: + + pkt1 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/TCP(sport=22, dport=23)/Raw('x'*20) + + mismatched packets:: + + pkt11 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/IPv6(src="2001::4", dst="CDCD:910A:2222:5498:8475:1111:3900:2024")/TCP(sport=24, dport=25)/Raw('x'*20) + pkt12 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(sport=22, dport=23)/Raw('x'*20) + pkt13 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/Raw('x'*20) + pkt14 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/IP()/TCP(sport=22, dport=23)/Raw('x'*20) + pkt15 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/IP()/Raw('x'*20) + +* MAC_IPV4_GTPU_IPV6_UDP + + matched packets:: + + pkt1 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(sport=22, dport=23)/Raw('x'*20) + + mismatched packets:: + + pkt11 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/IPv6(src="2001::4", dst="CDCD:910A:2222:5498:8475:1111:3900:2024")/UDP(sport=24, dport=25)/Raw('x'*20) + pkt12 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/TCP(sport=22, dport=23)/Raw('x'*20) + pkt13 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/Raw('x'*20) + pkt14 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/Raw('x'*20) + pkt15 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/IP()/UDP(sport=22, dport=23)/Raw('x'*20) + +* MAC_IPV4_GTPU_EH_IPV6 + + matched packets:: + + pkt1 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer()/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/Raw('x'*20) + pkt2 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer()/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP()/Raw('x'*20) + pkt3 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer()/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/TCP(sport=22, dport=23)/Raw('x'*20) + pkt4 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer()/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/ICMP()/Raw('x'*20) + + mismatched packets:: + + pkt11 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer()/IPv6(src="2001::4", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/Raw('x'*20) + pkt12 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer()/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2024")/Raw('x'*20) + pkt13 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer()/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/SCTP()/Raw('x'*20) + pkt14 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer()/Raw('x'*20) + pkt15 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer()/IP()/Raw('x'*20) + +* MAC_IPV4_GTPU_EH_IPV6_TCP + + matched packets:: + + pkt1 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer()/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/TCP(sport=22, dport=23)/Raw('x'*20) + pkt2 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=0)/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/TCP(sport=22, dport=23)/Raw('x'*20) + pkt3 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/TCP(sport=22, dport=23)/Raw('x'*20) + + mismatched packets:: + + pkt11 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer()/IPv6(src="2001::4", dst="CDCD:910A:2222:5498:8475:1111:3900:2024")/TCP(sport=24, dport=25)/Raw('x'*20) + pkt12 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer()/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(sport=22, dport=23)/Raw('x'*20) + pkt13 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer()/Raw('x'*20) + pkt14 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer()/IP()/TCP(sport=22, dport=23)/Raw('x'*20) + pkt15 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer()/IP()/Raw('x'*20) + +* MAC_IPV4_GTPU_EH_IPV6_UDP + + matched packets:: + + pkt1 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer()/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(sport=22, dport=23)/Raw('x'*20) + pkt2 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=0)/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(sport=22, dport=23)/Raw('x'*20) + pkt3 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(sport=22, dport=23)/Raw('x'*20) + + mismatched packets:: + + pkt11 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer()/IPv6(src="2001::4", dst="CDCD:910A:2222:5498:8475:1111:3900:2024")/UDP(sport=24, dport=25)/Raw('x'*20) + pkt12 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer()/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/TCP(sport=22, dport=23)/Raw('x'*20) + pkt13 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer()/Raw('x'*20) + pkt14 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer()/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/Raw('x'*20) + pkt15 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer()/IP()/UDP(sport=22, dport=23)/Raw('x'*20) + +* MAC_IPV4_GTPU_EH_DL_IPV6 + + matched packets:: + + pkt1 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=0)/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/Raw('x'*20) + pkt2 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=0)/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP()/Raw('x'*20) + pkt3 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=0)/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/TCP(sport=22, dport=23)/Raw('x'*20) + pkt4 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=0)/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/ICMP()/Raw('x'*20) + pkt5 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer()/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/Raw('x'*20) + + + mismatched packets:: + + pkt11 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/Raw('x'*20) + pkt12 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=0)/IPv6(src="2001::4", dst="CDCD:910A:2222:5498:8475:1111:3900:2024")/Raw('x'*20) + pkt13 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=0)/IP()/Raw('x'*20) + +* MAC_IPV4_GTPU_EH_DL_IPV6_TCP + + matched packets:: + + pkt1 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=0)/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/TCP(sport=22, dport=23)/Raw('x'*20) + pkt2 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer()/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/TCP(sport=22, dport=23)/Raw('x'*20) + + mismatched packets:: + + pkt11 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/TCP(sport=22, dport=23)/Raw('x'*20) + pkt12 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=0)/IPv6(src="2001::4", dst="CDCD:910A:2222:5498:8475:1111:3900:2024")/TCP(sport=24, dport=25)/Raw('x'*20) + pkt13 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=0)/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(sport=22, dport=23)/Raw('x'*20) + pkt14 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=0)/IP()/TCP(sport=22, dport=23)/Raw('x'*20) + pkt15 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=0)/IP()/Raw('x'*20) + +* MAC_IPV4_GTPU_EH_DL_IPV6_UDP + + matched packets:: + + pkt1 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=0)/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(sport=22, dport=23)/Raw('x'*20) + pkt2 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer()/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(sport=22, dport=23)/Raw('x'*20) + + mismatched packets:: + + pkt11 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(sport=22, dport=23)/Raw('x'*20) + pkt12 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=0)/IPv6(src="2001::4", dst="CDCD:910A:2222:5498:8475:1111:3900:2024")/UDP(sport=24, dport=25)/Raw('x'*20) + pkt13 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=0)/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/TCP(sport=22, dport=23)/Raw('x'*20) + pkt14 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=0)/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/Raw('x'*20) + pkt15 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=0)/IP()/UDP(sport=22, dport=23)/Raw('x'*20) + +* MAC_IPV4_GTPU_EH_UL_IPV6 + + matched packets:: + + pkt1 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/Raw('x'*20) + pkt2 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP()/Raw('x'*20) + pkt3 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/TCP(sport=22, dport=23)/Raw('x'*20) + pkt4 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/ICMP()/Raw('x'*20) + + mismatched packets:: + + pkt11 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer()/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/Raw('x'*20) + pkt12 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=0)/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/Raw('x'*20) + pkt13 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IPv6(src="2001::4", dst="CDCD:910A:2222:5498:8475:1111:3900:2024")/Raw('x'*20) + pkt14 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/SCTP()/Raw('x'*20) + pkt16 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IP()/Raw('x'*20) + +* MAC_IPV4_GTPU_EH_UL_IPV6_TCP + + matched packets:: + + pkt1 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/TCP(sport=22, dport=23)/Raw('x'*20) + + mismatched packets:: + + pkt11 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer()/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/TCP(sport=22, dport=23)/Raw('x'*20) + pkt12 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=0)/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/TCP(sport=22, dport=23)/Raw('x'*20) + pkt13 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IPv6(src="2001::4", dst="CDCD:910A:2222:5498:8475:1111:3900:2024")/TCP(sport=24, dport=25)/Raw('x'*20) + pkt14 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(sport=22, dport=23)/Raw('x'*20) + pkt16 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IP()/TCP(sport=22, dport=23)/Raw('x'*20) + pkt17 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IP()/Raw('x'*20) + +* MAC_IPV4_GTPU_EH_UL_IPV6_UDP + + matched packets:: + + pkt1 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(sport=22, dport=23)/Raw('x'*20) + + mismatched packets:: + + pkt11 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer()/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(sport=22, dport=23)/Raw('x'*20) + pkt12 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=0)/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(sport=22, dport=23)/Raw('x'*20) + pkt13 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IPv6(src="2001::4", dst="CDCD:910A:2222:5498:8475:1111:3900:2024")/UDP(sport=24, dport=25)/Raw('x'*20) + pkt14 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/TCP(sport=22, dport=23)/Raw('x'*20) + pkt16 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/Raw('x'*20) + pkt17 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IP()/UDP(sport=22, dport=23)/Raw('x'*20) + Test case: flow validation ========================== @@ -4816,4 +5240,1193 @@ Test Case: MAC_IPV6_UDP_WITHOUT_INPUT_SET 1. replace "tcp" with "udp" in all the subcases of MAC_IPV6_TCP_WITHOUT_INPUT_SET pattern. 2. Then repeat all the steps in all the subcases of MAC_IPV6_TCP_WITHOUT_INPUT_SET pattern. -3. get the same result. \ No newline at end of file +3. get the same result. + +Test case: MAC_IPV4_GTPU_IPV4 pattern +===================================== + +Subcase 1: MAC_IPV4_GTPU_IPV4 inner src ip queue index +------------------------------------------------------ +all index cases steps and expected result are the same + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 192.168.0.20 / end actions queue index 1 / mark id 1 / end + +2. send matched packets, check the packets are distributed to queue 1 with FDIR matched ID=0x1. + send mismatched packets, check the packets are not distributed to queue 1 without FDIR matched ID. + +3. verify rules can be listed and destroyed:: + + testpmd> flow list 0 + + check the rule listed. + destroy the rule:: + + testpmd> flow destroy 0 rule 0 + +4. verify matched packets are received without FDIR matched ID. + Then check there is no rule listed. + +Subcase 2: MAC_IPV4_GTPU_IPV4 inner src ip rss queues +----------------------------------------------------- +all rss queues cases steps and expected result are the same + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 192.168.0.20 / end actions rss queues 2 3 end / mark id 1 / end + +2. send matched packets, check the packets are distributed to queue 2 or queue 3 with FDIR matched ID=0x1. + send mismatched packets, check the packets are received without FDIR matched ID. + +3. repeat step 3 of subcase 1. + +4. verify matched packets are received without FDIR matched ID. + Then check there is no rule listed. + +Subcase 3: MAC_IPV4_GTPU_IPV4 inner src ip passthru +--------------------------------------------------- +all passthru cases steps and expected result are the same + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 192.168.0.20 / end actions passthru / mark id 1 / end + +2. send matched packets, check the packets are distributed by RSS with FDIR matched ID=0x1. + send mismatched packets, check the packets are received without FDIR matched ID. + +3. repeat step 3 of subcase 1. + +4. verify matched packets are received without FDIR matched ID. + Then check there is no rule listed. + +Subcase 4: MAC_IPV4_GTPU_IPV4 inner src ip drop +----------------------------------------------- +all drop cases steps and expected result are the same + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 192.168.0.20 / end actions drop / end + +2. send matched packets, check the packets are dropped. + send mismatched packets, check the packets are not dropped. + +3. repeat step 3 of subcase 1. + +4. verify matched packets are not dropped. + Then check there is no rule listed. + +Subcase 5: MAC_IPV4_GTPU_IPV4 inner src ip mark+rss +--------------------------------------------------- +all mark+rss cases steps and expected result are the same + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 192.168.0.20 / end actions rss / mark / end + +2. send matched packets, check the packets are distributed by RSS with FDIR matched ID=0x0. + send mismatched packets, check the packets are received without FDIR matched ID. + +3. repeat step 3 of subcase 1. + +4. verify matched packets are received without FDIR matched ID. + Then check there is no rule listed. + +Subcase 6: MAC_IPV4_GTPU_IPV4 inner dst ip queue index +------------------------------------------------------ + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 dst is 192.168.0.21 / end actions queue index 1 / mark id 1 / end + +replace rule and repeat step of subcase 1. + +Subcase 7: MAC_IPV4_GTPU_IPV4 inner dst ip rss queues +----------------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 dst is 192.168.0.21 / end actions rss queues 2 3 end / mark id 1 / end + +replace rule and repeat step of subcase 2. + +Subcase 8: MAC_IPV4_GTPU_IPV4 inner dst ip passthru +--------------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 dst is 192.168.0.21 / end actions passthru / mark id 1 / end + +replace rule and repeat step of subcase 3. + +Subcase 9: MAC_IPV4_GTPU_IPV4 inner dst ip drop +------------------------------------------------ + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 dst is 192.168.0.21 / end actions drop / end + +replace rule and repeat step of subcase 4. + +Subcase 10: MAC_IPV4_GTPU_IPV4 inner dst ip mark+rss +---------------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 dst is 192.168.0.21 / end actions rss / mark / end + +replace rule and repeat step of subcase 5. + +Subcase 11: MAC_IPV4_GTPU_IPV4 2 tuple queue index +-------------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / end actions queue index 1 / mark id 1 / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 1. + +Subcase 12: MAC_IPV4_GTPU_IPV4 2 tuple queue group +-------------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / end actions rss queues 2 3 end / mark id 1 / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 2. + +Subcase 13: MAC_IPV4_GTPU_IPV4 2 tuple passthru +----------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / end actions passthru / mark id 1 / end + +replace rule and repeat step of subcase 3. + +Subcase 14: MAC_IPV4_GTPU_IPV4 2 tuple drop +------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / end actions drop / end + +replace rule and repeat step of subcase 4. + +Subcase 15: MAC_IPV4_GTPU_IPV4 2 tuple mark/rss +----------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / end actions rss / mark / end + +replace rule and repeat step of subcase 5. + +Test case: MAC_IPV4_GTPU_IPV4_TCP pattern +========================================= + +Subcase 1: MAC_IPV4_GTPU_IPV4_TCP inner src ip queue index +---------------------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 192.168.0.20 / tcp / end actions queue index 1 / mark id 1 / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 1. + +Subcase 2: MAC_IPV4_GTPU_IPV4_TCP inner src ip rss queues +--------------------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 192.168.0.20 / tcp / end actions rss queues 2 3 end / mark id 1 / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 2. + +Subcase 3: MAC_IPV4_GTPU_IPV4_TCP inner src ip passthru +------------------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 192.168.0.20 / tcp / end actions passthru / mark id 1 / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 3. + +Subcase 4: MAC_IPV4_GTPU_IPV4_TCP inner src ip drop +--------------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 192.168.0.20 / tcp / end actions drop / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 4. + +Subcase 5: MAC_IPV4_GTPU_IPV4_TCP inner src ip mark+rss +------------------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 192.168.0.20 / tcp / end actions rss / mark / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 5. + +Subcase 6: MAC_IPV4_GTPU_IPV4_TCP inner dst ip queue index +---------------------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 dst is 192.168.0.21 / tcp / end actions queue index 1 / mark id 1 / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 1. + +Subcase 7: MAC_IPV4_GTPU_IPV4_TCP inner dst ip rss queues +--------------------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 dst is 192.168.0.21 / tcp / end actions rss queues 2 3 end / mark id 1 / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 2. + +Subcase 8: MAC_IPV4_GTPU_IPV4_TCP inner dst ip passthru +------------------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 dst is 192.168.0.21 / tcp / end actions passthru / mark id 1 / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 3. + +Subcase 9: MAC_IPV4_GTPU_IPV4_TCP inner dst ip drop +---------------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 dst is 192.168.0.21 / tcp / end actions drop / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 4. + +Subcase 10: MAC_IPV4_GTPU_IPV4_TCP inner dst ip mark+rss +-------------------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 dst is 192.168.0.21 / tcp / end actions rss / mark / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 5. + +Subcase 11: MAC_IPV4_GTPU_IPV4_TCP 4 tuple queue index +------------------------------------------------------ + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / tcp src is 22 dst is 23 / end actions queue index 1 / mark id 1 / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 1. + +Subcase 12: MAC_IPV4_GTPU_IPV4_TCP 4 tuple queue group +------------------------------------------------------ + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / tcp src is 22 dst is 23 / end actions rss queues 2 3 end / mark id 1 / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 1. + +Subcase 13: MAC_IPV4_GTPU_IPV4_TCP 4 tuple passthru +--------------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / tcp src is 22 dst is 23 / end actions passthru / mark id 1 / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 3. + +Subcase 14: MAC_IPV4_GTPU_IPV4_TCP 4 tuple drop +----------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / tcp src is 22 dst is 23 / end actions drop / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 4. + +Subcase 15: MAC_IPV4_GTPU_IPV4_TCP 4 tuple mark/rss +--------------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / tcp src is 22 dst is 23 / end actions rss/ mark / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 5. + +Subcase 16: MAC_IPV4_GTPU_IPV4_TCP inner src port queue index +------------------------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 / tcp src is 22 / end actions queue index 1 / mark id 1 / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 1. + +Subcase 17: MAC_IPV4_GTPU_IPV4_TCP inner src port queue group +------------------------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 / tcp src is 22 / end actions rss queues 2 3 end / mark id 1 / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 2. + +Subcase 18: MAC_IPV4_GTPU_IPV4_TCP inner src port passthru +---------------------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 / tcp src is 22 / end actions passthru / mark id 1 / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 3. + +Subcase 19: MAC_IPV4_GTPU_IPV4_TCP inner src port drop +------------------------------------------------------ + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 / tcp src is 22 / end actions drop / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 4. + +Subcase 20: MAC_IPV4_GTPU_IPV4_TCP inner src port mark/rss +---------------------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 / tcp src is 22 / end actions rss / mark / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 5. + +Subcase 21: MAC_IPV4_GTPU_IPV4_TCP inner dst port queue index +------------------------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 / tcp dst is 23 / end actions queue index 1 / mark id 1 / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 1. + +Subcase 22: MAC_IPV4_GTPU_IPV4_TCP inner dst port queue group +------------------------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 / tcp dst is 23 / end actions rss queues 2 3 end / mark id 1 / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 2. + +Subcase 23: MAC_IPV4_GTPU_IPV4_TCP inner dst port passthru +---------------------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 / tcp dst is 23 / end actions passthru / mark id 1 / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 3. + +Subcase 24: MAC_IPV4_GTPU_IPV4_TCP inner dst port drop +------------------------------------------------------ + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 / tcp dst is 23 / end actions drop / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 4. + +Subcase 25: MAC_IPV4_GTPU_IPV4_TCP inner dst port mark/rss +---------------------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 / tcp dst is 23 / end actions rss / mark / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 5. + +Subcase 26: MAC_IPV4_GTPU_IPV4_TCP without inputset queue index +--------------------------------------------------------------- + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 / tcp / end actions mark id 1 / rss / end + +2. send matched packets, check the packets are redirected by RSS with FDIR matched ID=0x1:: + + sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/IP()/TCP()/("X"*480)], iface="ens192f0") + + send mismatched packets, check the packets are redirected by RSS without FDIR matched ID:: + + sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/IP()/("X"*480)], iface="ens192f0") + sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/IP()/UDP()/("X"*480)], iface="ens192f0") + sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/IP()/SCTP()/("X"*480)], iface="ens192f0") + sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/IP()/ICMP()/("X"*480)], iface="ens192f0") + sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/IPv6()/TCP()/("X"*480)], iface="ens192f0") + +3. repeat step 3 of subcase 1. + +4. verify matched packets are distributed by RSS without FDIR matched ID. + check there is no rule listed. + +Subcase 27: MAC_IPV4_GTPU_IPV4_TCP without inputset queue group +--------------------------------------------------------------- + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv4 src / udp / gtpu / ipv4 / tcp / end actions rss queues 0 1 2 3 end / mark id 1 / end + +2. send matched packets of subcase 26, check the packets are distributed to queue group with FDIR matched ID=0x1. + send mismatched packets of subcase 26, check the packets are distributed by RSS without FDIR matched ID. + +3. repeat step 3 of subcase 1. + +4. verify matched packets are distributed by RSS without FDIR matched ID. + Then check there is no rule listed. + +Subcase 28: MAC_IPV4_GTPU_IPV4_TCP without inputset passthru +------------------------------------------------------------ + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 / tcp / end actions passthru / mark id 1 / end + +2. send matched packets of subcase 26, check the packets are redirected by RSS with FDIR matched ID=0x1. + send mismatched packets of subcase 26, check the packets are redirected by RSS without FDIR matched ID. + +3. repeat step 3 of subcase 1. + +4. verify matched packets are distributed by RSS without FDIR ID. + check there is no rule listed. + +Subcase 29: MAC_IPV4_GTPU_IPV4_TCP without inputset drop +-------------------------------------------------------- + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 / tcp / end actions drop / end + +2. send matched packets of subcase 26, check the packets are dropped. + send mismatched packets of subcase 26, check the packets are not dropped without FDIR matched ID. + +3. repeat step 3 of subcase 1. + +4. verify matched packets are not dropped without FDIR matched ID. + Then check there is no rule listed. + +Subcase 30: MAC_IPV4_GTPU_IPV4_TCP without inputset mark/rss +------------------------------------------------------------ + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 / tcp / end actions rss / mark / end + +2. send matched packets of subcase 26, check the packets are redirected by RSS with FDIR matched ID=0x0. + send mismatched packets of subcase 26, check the packets are redirected by RSS without FDIR matched ID. + +3. repeat step 3 of subcase 1. + +4. verify matched packets are distributed by RSS without FDIR matched ID. + check there is no rule listed. + +Test case: MAC_IPV4_GTPU_IPV4_UDP pattern +========================================= + +1. replace "tcp" with "udp" in all the subcases of MAC_IPV4_GTPU_IPV4_TCP pattern. +2. Then repeat all the steps in all the subcases of MAC_IPV4_GTPU_IPV4_TCP pattern. +3. get the same result. + +Test case: MAC_IPV4_GTPU_EH_IPV4 pattern +======================================== + +Subcase 1: MAC_IPV4_GTPU_EH_IPV4 inner src ip queue index +--------------------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.0.20 / end actions queue index 1 / mark id 1 / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 1. + +Subcase 2: MAC_IPV4_GTPU_EH_IPV4 inner src ip rss queues +-------------------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.0.20 / end actions rss queues 2 3 end / mark id 1 / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 2. + +Subcase 3: MAC_IPV4_GTPU_EH_IPV4 inner src ip passthru +------------------------------------------------------ + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.0.20 / end actions passthru / mark id 1 / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 3. + +Subcase 4: MAC_IPV4_GTPU_EH_IPV4 inner src ip drop +-------------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.0.20 / end actions drop / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 4. + +Subcase 5: MAC_IPV4_GTPU_EH_IPV4 inner src ip mark+rss +------------------------------------------------------ + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.0.20 / end actions rss / mark / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 5. + +Subcase 6: MAC_IPV4_GTPU_EH_IPV4 inner dst ip queue index +--------------------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 dst is 192.168.0.21 / end actions queue index 1 / mark id 1 / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 1. + +Subcase 7: MAC_IPV4_GTPU_EH_IPV4 inner dst ip rss queues +-------------------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 dst is 192.168.0.21 / end actions rss queues 2 3 end / mark id 1 / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 2. + +Subcase 8: MAC_IPV4_GTPU_EH_IPV4 inner dst ip passthru +------------------------------------------------------ + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 dst is 192.168.0.21 / end actions passthru / mark id 1 / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 3. + +Subcase 9: MAC_IPV4_GTPU_EH_IPV4 inner dst ip drop +-------------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 dst is 192.168.0.21 / end actions drop / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 4. + +Subcase 10: MAC_IPV4_GTPU_EH_IPV4 inner dst ip mark+rss +------------------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 dst is 192.168.0.21 / end actions rss / mark / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 5. + +Subcase 11: MAC_IPV4_GTPU_EH_IPV4 2 tuple queue index +----------------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / end actions queue index 1 / mark id 1 / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 1. + +Subcase 12: MAC_IPV4_GTPU_EH_IPV4 2 tuple queue group +----------------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / end actions rss queues 2 3 end / mark id 1 / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 2. + +Subcase 13: MAC_IPV4_GTPU_EH_IPV4 2 tuple passthru +-------------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / end actions passthru / mark id 1 / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 3. + +Subcase 14: MAC_IPV4_GTPU_EH_IPV4 2 tuple drop +---------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / end actions drop / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 4. + +Subcase 15: MAC_IPV4_GTPU_EH_IPV4 2 tuple mark/rss +-------------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / end actions mark id 1 / rss / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 5. + + +Test case: MAC_IPV4_GTPU_EH_IPV4_TCP pattern +============================================ + +Subcase 1: MAC_IPV4_GTPU_EH_IPV4_TCP inner src ip queue index +------------------------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.0.20 / tcp / end actions queue index 1 / mark id 1 / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 1. + +Subcase 2: MAC_IPV4_GTPU_EH_IPV4_TCP inner src ip rss queues +------------------------------------------------------------ + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.0.20 / tcp / end actions rss queues 2 3 end / mark id 1 / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 2. + +Subcase 3: MAC_IPV4_GTPU_EH_IPV4_TCP inner src ip passthru +---------------------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.0.20 / tcp / end actions passthru / mark id 1 / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 3. + +Subcase 4: MAC_IPV4_GTPU_EH_IPV4_TCP inner src ip drop +------------------------------------------------------ + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.0.20 / tcp / end actions drop / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 4. + +Subcase 5: MAC_IPV4_GTPU_EH_IPV4_TCP inner src ip mark+rss +---------------------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.0.20 / tcp / end actions rss / mark / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 5. + +Subcase 6: MAC_IPV4_GTPU_EH_IPV4_TCP inner dst ip queue index +------------------------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 dst is 192.168.0.21 / tcp / end actions queue index 1 / mark id 1 / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 1. + +Subcase 7: MAC_IPV4_GTPU_EH_IPV4_TCP inner dst ip rss queues +------------------------------------------------------------ + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 dst is 192.168.0.21 / tcp / end actions rss queues 2 3 end / mark id 1 / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 2. + +Subcase 8: MAC_IPV4_GTPU_EH_IPV4_TCP inner dst ip passthru +---------------------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 dst is 192.168.0.21 / tcp / end actions passthru / mark id 1 / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 3. + +Subcase 9: MAC_IPV4_GTPU_EH_IPV4_TCP inner dst ip drop +------------------------------------------------------ + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 dst is 192.168.0.21 / tcp / end actions drop / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 4. + +Subcase 10: MAC_IPV4_GTPU_EH_IPV4_TCP inner dst ip mark+rss +----------------------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 dst is 192.168.0.21 / tcp / end actions rss / mark / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 5. + +Subcase 11: MAC_IPV4_GTPU_EH_IPV4_TCP 4 tuple queue index +--------------------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / tcp src is 22 dst is 23 / end actions queue index 1 / mark id 1 / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 1. + +Subcase 12: MAC_IPV4_GTPU_EH_IPV4_TCP 4 tuple queue group +--------------------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / tcp src is 22 dst is 23 / end actions rss queues 2 3 end / mark id 1 / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 2. + +Subcase 13: MAC_IPV4_GTPU_EH_IPV4_TCP 4 tuple passthru +------------------------------------------------------ + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / tcp src is 22 dst is 23 / end actions passthru / mark id 1 / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 3. + +Subcase 14: MAC_IPV4_GTPU_EH_IPV4_TCP 4 tuple drop +-------------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / tcp src is 22 dst is 23 / end actions drop / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 4. + +Subcase 15: MAC_IPV4_GTPU_EH_IPV4_TCP 4 tuple mark/rss +------------------------------------------------------ + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / tcp src is 22 dst is 23 / end actions rss / mark / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 5. + +Subcase 16: MAC_IPV4_GTPU_EH_IPV4_TCP inner src port queue index +---------------------------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 / tcp src is 22 / end actions queue index 1 / mark id 1 / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 1. + +Subcase 17: MAC_IPV4_GTPU_EH_IPV4_TCP inner src port queue group +---------------------------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 / tcp src is 22 / end actions rss queues 2 3 end / mark id 1 / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 2. + +Subcase 18: MAC_IPV4_GTPU_EH_IPV4_TCP inner src port passthru +------------------------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 / tcp src is 22 / end actions passthru / mark id 1 / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 3. + +Subcase 19: MAC_IPV4_GTPU_EH_IPV4_TCP inner src port drop +--------------------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 / tcp src is 22 / end actions drop / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 4. + +Subcase 20: MAC_IPV4_GTPU_EH_IPV4_TCP inner src port mark/rss +------------------------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 / tcp src is 22 / end actions rss / mark / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 5. + +Subcase 21: MAC_IPV4_GTPU_EH_IPV4_TCP inner dst port queue index +---------------------------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 / tcp dst is 23 / end actions queue index 1 / mark id 1 / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 1. + +Subcase 22: MAC_IPV4_GTPU_EH_IPV4_TCP inner dst port queue group +---------------------------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 / tcp dst is 23 / end actions rss queues 2 3 end / mark id 1 / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 2. + +Subcase 23: MAC_IPV4_GTPU_EH_IPV4_TCP inner dst port passthru +------------------------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 / tcp dst is 23 / end actions passthru / mark id 1 / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 3. + +Subcase 24: MAC_IPV4_GTPU_EH_IPV4_TCP inner dst port drop +--------------------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 / tcp dst is 23 / end actions drop / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 4. + +Subcase 25: MAC_IPV4_GTPU_EH_IPV4_TCP inner dst port mark/rss +------------------------------------------------------------- + +rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 / tcp dst is 23 / end actions rss / mark / end + +replace rule and repeat step of MAC_IPV4_GTPU_IPV4 pattern subcase 5. + +Subcase 26: MAC_IPV4_GTPU_EH_IPV4_TCP without inputset queue index +------------------------------------------------------------------ + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 / tcp / end actions mark id 1 / rss / end + +2. send matched packets, check the packets are redirected by RSS with FDIR matched ID=0x1:: + + sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionContainer()/IP()/TCP()/("X"*480)], iface="ens192f0") + sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionContainer(type=0)/IP()/TCP()/("X"*480)], iface="ens192f0") + sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IP()/TCP()/("X"*480)], iface="ens192f0") + + send mismatched packets, check the packets are redirected by RSS without FDIR matched ID:: + + sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionContainer()/IP()/("X"*480)], iface="ens192f0") + sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionContainer()/IP()/UDP()/("X"*480)], iface="ens192f0") + sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionContainer()/IP()/SCTP()("X"*480)], iface="ens192f0") + sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionContainer()/IP()/ICMP()("X"*480)], iface="ens192f0") + sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionContainer()/IPv6()/TCP()/("X"*480)], iface="ens192f0") + +3. repeat step 3 of subcase 1. + +4. verify matched packets are distributed by RSS without FDIR matched ID. + check there is no rule listed. + +Subcase 27: MAC_IPV4_GTPU_EH_IPV4_TCP without inputset queue group +------------------------------------------------------------------ + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv4 src / udp / gtpu / gtp_psc / ipv4 / tcp / end actions rss queues 0 1 2 3 end / mark id 1 / end + +2. send matched packets of subcase 26, check the packets are distributed to queue group with FDIR matched ID=0x1. + send mismatched packets of subcase 26, check the packets are distributed by RSS without FDIR matched ID. + +3. repeat step 3 of subcase 1. + +4. verify matched packets are distributed by RSS without FDIR matched ID. + Then check there is no rule listed. + +Subcase 28: MAC_IPV4_GTPU_EH_IPV4_TCP without inputset passthru +--------------------------------------------------------------- + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 / tcp / end actions passthru / mark id 1 / end + +2. send matched packets of subcase 26, check the packets are redirected by RSS with FDIR matched ID=0x1. + send mismatched packets of subcase 26, check the packets are redirected by RSS without FDIR matched ID. + +3. repeat step 3 of subcase 1. + +4. verify matched packets are distributed by RSS without FDIR ID. + check there is no rule listed. + +Subcase 29: MAC_IPV4_GTPU_EH_IPV4_TCP without inputset drop +----------------------------------------------------------- + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 / tcp / end actions drop / end + +2. send matched packets of subcase 26, check the packets are dropped. + send mismatched packets of subcase 26, check the packets are not dropped without FDIR matched ID. + +3. repeat step 3 of subcase 1. + +4. verify matched packets are not dropped without FDIR matched ID. + Then check there is no rule listed. + +Subcase 30: MAC_IPV4_GTPU_EH_IPV4_TCP without inputset mark/rss +--------------------------------------------------------------- + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 / tcp / end actions rss / mark / end + +2. send matched packets of subcase 26, check the packets are redirected by RSS with FDIR matched ID=0x0. + send mismatched packets of subcase 26, check the packets are redirected by RSS without FDIR matched ID. + +3. repeat step 3 of subcase 1. + +4. verify matched packets are distributed by RSS without FDIR matched ID. + check there is no rule listed. + +Test case: MAC_IPV4_GTPU_EH_IPV4_UDP pattern +============================================ + +1. replace "tcp" with "udp" in all the subcases of MAC_IPV4_GTPU_EH_IPV4_TCP pattern. +2. Then repeat all the steps in all the subcases of MAC_IPV4_GTPU_EH_IPV4_TCP pattern. +3. get the same result. + +Test case: MAC_IPV4_GTPU_EH_DL_IPV4_TCP pattern +=============================================== + +without inputset match packets:: + + sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionContainer(type=0)/IP()/TCP()/("X"*480)], iface="ens192f0") + sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionContainer()/IP()/TCP()/("X"*480)], iface="ens192f0") + +without inputset mismatch packets:: + + sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IP()/TCP()/("X"*480)], iface="ens192f0") + sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionContainer(type=0)/IP()/("X"*480)], iface="ens192f0") + sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionContainer(type=0)/IP()/UDP()/("X"*480)], iface="ens192f0") + sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionContainer(type=0)/IP()/ICMP()/("X"*480)], iface="ens192f0") + sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionContainer(type=0)/IPv6()/TCP()/("X"*480)], iface="ens192f0") + +1. replace "gtp_psc" with "gtp_psc pdu_t is 0" in all the subcases of MAC_IPV4_GTPU_EH_IPV4_TCP pattern. +2. replace without inputset packets in the subcases of MAC_IPV4_GTPU_EH_IPV4_TCP pattern. +3. Then repeat all the steps in all the subcases of MAC_IPV4_GTPU_EH_IPV4_TCP pattern. +4. get the same result. + +Test case: MAC_IPV4_GTPU_EH_DL_IPV4_UDP pattern +=============================================== + +1. replace "tcp" with "udp" in all the subcases of MAC_IPV4_GTPU_EH_DL_IPV4_TCP pattern. +2. Then repeat all the steps in all the subcases of MAC_IPV4_GTPU_EH_DL_IPV4_TCP pattern. +3. get the same result. + +Test case: MAC_IPV4_GTPU_EH_UL_IPV4 pattern +=========================================== + +1. replace "gtp_psc" with "gtp_psc pdu_t is 1" in all the subcases of MAC_IPV4_GTPU_EH_IPV4 pattern. +2. Then repeat all the steps in all the subcases of MAC_IPV4_GTPU_EH_IPV4 pattern. +3. get the same result. + +Test case: MAC_IPV4_GTPU_EH_UL_IPV4_TCP pattern +=============================================== + +without inputset match packets:: + + sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IP()/TCP()/("X"*480)], iface="ens192f0") + +without inputset mismatch packets:: + + sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionContainer(type=0)/IP()/TCP()/("X"*480)], iface="ens192f0") + sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionContainer()/IP()/TCP()/("X"*480)], iface="ens192f0") + sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IP()/("X"*480)], iface="ens192f0") + sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IP()/UDP()/("X"*480)], iface="ens192f0") + sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IP()/SCTP()/("X"*480)], iface="ens192f0") + sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IP()/ICMP()/("X"*480)], iface="ens192f0") + sendp([Ether(dst="00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IPv6()/TCP()/("X"*480)], iface="ens192f0") + +1. replace "gtp_psc" with "gtp_psc pdu_t is 1" in all the subcases of MAC_IPV4_GTPU_EH_IPV4_TCP pattern. +2. replace without inputset packets in the subcases of MAC_IPV4_GTPU_EH_IPV4_TCP pattern. +3. Then repeat all the steps in all the subcases of MAC_IPV4_GTPU_EH_IPV4_TCP pattern. +4. get the same result. + +Test case: MAC_IPV4_GTPU_EH_UL_IPV4_UDP pattern +=============================================== +1. replace "tcp" with "udp" in all the subcases of MAC_IPV4_GTPU_EH_UL_IPV4_TCP pattern. +2. Then repeat all the steps in all the subcases of MAC_IPV4_GTPU_EH_UL_IPV4_TCP pattern. +3. get the same result. + +Test case: MAC_IPV4_GTPU_IPV6 pattern +===================================== +1. replace inner "ipv4" with "ipv6" in all the subcases of MAC_IPV4_GTPU_IPV4 pattern. +2. replace inner ipv4 src/dst ip with ipv6 src/dst value in all the subcases of MAC_IPV4_GTPU_IPV4 pattern. +3. Then repeat all the steps in all the subcases of MAC_IPV4_GTPU_IPV4 pattern. +4. get the same result + +Test case: MAC_IPV4_GTPU_IPV6_TCP pattern +========================================= +1. replace inner "ipv4" with "ipv6" in all the subcases of MAC_IPV4_GTPU_IPV4_TCP pattern. +2. replace inner ipv4 src/dst ip with ipv6 src/dst value in all the subcases of MAC_IPV4_GTPU_IPV4_TCP pattern. +3. Then repeat all the steps in all the subcases of MAC_IPV4_GTPU_IPV4_TCP pattern. +4. get the same result + +Test case: MAC_IPV4_GTPU_IPV6_UDP pattern +========================================= +1. replace inner "ipv4" with "ipv6" in all the subcases of MAC_IPV4_GTPU_IPV4_UDP pattern. +2. replace inner ipv4 src/dst ip with ipv6 src/dst value in all the subcases of MAC_IPV4_GTPU_IPV4_UDP pattern. +3. Then repeat all the steps in all the subcases of MAC_IPV4_GTPU_IPV4_UDP pattern. +4. get the same result + +Test case: MAC_IPV4_GTPU_EH_IPV6_TCP pattern +============================================ +1. replace inner "ipv4" with "ipv6" in all the subcases of MAC_IPV4_GTPU_EH_IPV4_TCP pattern. +2. replace inner ipv4 src/dst ip with ipv6 src/dst value in all the subcases of MAC_IPV4_GTPU_EH_IPV4_TCP pattern. +3. Then repeat all the steps in all the subcases of MAC_IPV4_GTPU_EH_IPV4_TCP pattern. +4. get the same result + +Test case: MAC_IPV4_GTPU_EH_IPV6_UDP pattern +============================================ +1. replace inner "ipv4" with "ipv6" in all the subcases of MAC_IPV4_GTPU_EH_IPV6_UDP pattern. +2. replace inner ipv4 src/dst ip with ipv6 src/dst value in all the subcases of MAC_IPV4_GTPU_EH_IPV6_UDP pattern. +3. Then repeat all the steps in all the subcases of MAC_IPV4_GTPU_EH_IPV6_UDP pattern. +4. get the same result. + +Test case: MAC_IPV4_GTPU_EH_DL_IPV6_TCP pattern +=============================================== +1. replace inner "ipv4" with "ipv6" in all the subcases of MAC_IPV4_GTPU_EH_DL_IPV4_TCP pattern. +2. replace inner ipv4 src/dst ip with ipv6 src/dst value in all the subcases of MAC_IPV4_GTPU_EH_DL_IPV4_TCP pattern. +3. Then repeat all the steps in all the subcases of MAC_IPV4_GTPU_EH_DL_IPV4_TCP pattern. +4. get the same result + +Test case: MAC_IPV4_GTPU_EH_DL_IPV6_UDP pattern +=============================================== +1. replace inner "ipv4" with "ipv6" in all the subcases of MAC_IPV4_GTPU_EH_DL_IPV6_UDP pattern. +2. replace inner ipv4 src/dst ip with ipv6 src/dst value in all the subcases of MAC_IPV4_GTPU_EH_DL_IPV6_UDP pattern. +3. Then repeat all the steps in all the subcases of MAC_IPV4_GTPU_EH_DL_IPV6_UDP pattern. +4. get the same result. + +Test case: MAC_IPV4_GTPU_EH_UL_IPV6_TCP pattern +=============================================== +1. replace inner "ipv4" with "ipv6" in all the subcases of MAC_IPV4_GTPU_EH_UL_IPV4_TCP pattern. +2. replace inner ipv4 src/dst ip with ipv6 src/dst value in all the subcases of MAC_IPV4_GTPU_EH_UL_IPV4_TCP pattern. +3. Then repeat all the steps in all the subcases of MAC_IPV4_GTPU_EH_UL_IPV4_TCP pattern. +4. get the same result. + +Test case: MAC_IPV4_GTPU_EH_UL_IPV6_UDP pattern +=============================================== +1. replace inner "ipv4" with "ipv6" in all the subcases of MAC_IPV4_GTPU_EH_UL_IPV6_UDP pattern. +2. replace inner ipv4 src/dst ip with ipv6 src/dst value in all the subcases of MAC_IPV4_GTPU_EH_UL_IPV6_UDP pattern. +3. Then repeat all the steps in all the subcases of MAC_IPV4_GTPU_EH_UL_IPV6_UDP pattern. +4. get the same result. + +Test case: GTPU inner co-exist test +=================================== + +Subcase 1: inner IPv4 gtpu conflict rule +----------------------------------------- + +Rules:: + + #1 flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / end actions queue index 10 / mark id 1 / end + #2 flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / tcp src is 22 dst is 23 / end actions queue index 10 / mark id 1 / end + #3 flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / udp src is 22 dst is 23 / end actions queue index 10 / mark id 1 / end + #4 flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / end actions queue index 10 / mark id 1 / end + #5 flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / tcp src is 22 dst is 23 / end actions queue index 10 / mark id 1 / end + #6 flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / udp src is 22 dst is 23 / end actions queue index 10 / mark id 1 / end + #7 flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc pdu_t is 0 / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / end actions queue index 10 / mark id 1 / end + #8 flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc pdu_t is 0 / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / tcp src is 22 dst is 23 / end actions queue index 10 / mark id 1 / end + #9 flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc pdu_t is 0 / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / udp src is 22 dst is 23 / end actions queue index 10 / mark id 1 / end + #10 flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc pdu_t is 1 / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / end actions queue index 10 / mark id 1 / end + #11 flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc pdu_t is 1 / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / tcp src is 22 dst is 23 / end actions queue index 10 / mark id 1 / end + #12 flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc pdu_t is 1 / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / udp src is 22 dst is 23 / end actions queue index 10 / mark id 1 / end + +packets:: + + pkt1 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/IP(src="192.168.0.20", dst="192.168.0.21")/Raw('x'*20) + pkt2 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/IP(src="192.168.0.20", dst="192.168.0.21")/TCP(sport=22, dport=23)/Raw('x'*20) + pkt3 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/IP(src="192.168.0.20", dst="192.168.0.21")/UDP(sport=22, dport=23)/Raw('x'*20) + pkt4 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer()/IP(src="192.168.0.20", dst="192.168.0.21")/Raw('x'*20) + pkt5 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer()/IP(src="192.168.0.20", dst="192.168.0.21")/TCP(sport=22, dport=23)/Raw('x'*20) + pkt6 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer()/IP(src="192.168.0.20", dst="192.168.0.21")/UDP(sport=22, dport=23)/Raw('x'*20) + pkt7 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer()/IP(src="192.168.0.20", dst="192.168.0.21")/Raw('x'*20) + pkt8 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=0)/IP(src="192.168.0.20", dst="192.168.0.21")/TCP(sport=22, dport=23)/Raw('x'*20) + pkt9 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=0)/IP(src="192.168.0.20", dst="192.168.0.21")/UDP(sport=22, dport=23)/Raw('x'*20) + pkt10 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IP(src="192.168.0.20", dst="192.168.0.21")/Raw('x'*20) + pkt11 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IP(src="192.168.0.20", dst="192.168.0.21")/TCP(sport=22, dport=23)/Raw('x'*20) + pkt12 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IP(src="192.168.0.20", dst="192.168.0.21")/UDP(sport=22, dport=23)/Raw('x'*20) + +1. First create #1 rule, verify #2/3 rule create failed and #4 create successfully. + send match packets(pkt1/4), check the packets are distributed to queue 10 with FDIR matched ID=0x1. + +2. destroy #1 rule, verify #5-12 any rule create failed and #2 create successfully. + send match packets(pkt2/4), check the packets are distributed to queue 10 with FDIR matched ID=0x1. + +3. destroy #4 rule, verify #1 rule create failed and #5 create successfully. + send match packets(pkt2/5), check the packets are distributed to queue 10 with FDIR matched ID=0x1. + +4. destroy #2 rule, verify #4/7/8/10/11 rule create failed and #6 create successfully. + send match packets(pkt5/6), check the packets are distributed to queue 10 with FDIR matched ID=0x1. + +5. destroy #5 rule, verify #4/7/9/10/12 rule create failed and #8 create successfully. + send match packets(pkt6/8), check the packets are distributed to queue 10 with FDIR matched ID=0x1. + +6. destroy #6 rule, verify #4/5/7 rule create failed and #9 create successfully. + send match packets(pkt8/9), check the packets are distributed to queue 10 with FDIR matched ID=0x1. + +7. destroy #8 rule, verify #4/6/7 rule create failed and #10 create successfully. + send match packets(pkt9/10), check the packets are distributed to queue 10 with FDIR matched ID=0x1. + +8. destroy #9 rule, verify #4/5/6/11/12 rule create failed and #7 create successfully. + send match packets(pkt7/10), check the packets are distributed to queue 10 with FDIR matched ID=0x1. + +9. destroy #10 rule, verify #4/5/6/8/9 rule create failed and #11 create successfully. + send match packets(pkt7/11), check the packets are distributed to queue 10 with FDIR matched ID=0x1. + +10. verify #4/5/6/8/9/10 rule create failed and #12 create successfully. + send match packets(pkt7/11/12), check the packets are distributed to queue 10 with FDIR matched ID=0x1. + +11. verify #4/5/6/8/9/10 rule create failed and #3 create successfully. + send match packets(pkt3/7/11/12), check the packets are distributed to queue 10 with FDIR matched ID=0x1. + +Subcase 2: inner IPv6 gtpu conflict rule +---------------------------------------- + +Rules:: + + #1 flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv6 src is 2001::2 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / end actions queue index 10 / mark id 1 / end + #2 flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv6 src is 2001::2 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / tcp src is 22 dst is 23 / end actions queue index 10 / mark id 1 / end + #3 flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv6 src is 2001::2 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / udp src is 22 dst is 23 / end actions queue index 10 / mark id 1 / end + #4 flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv6 src is 2001::2 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / end actions queue index 10 / mark id 1 / end + #5 flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv6 src is 2001::2 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / tcp src is 22 dst is 23 / end actions queue index 10 / mark id 1 / end + #6 flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv6 src is 2001::2 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / udp src is 22 dst is 23 / end actions queue index 10 / mark id 1 / end + #7 flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc pdu_t is 0 / ipv6 src is 2001::2 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / end actions queue index 10 / mark id 1 / end + #8 flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc pdu_t is 0 / ipv6 src is 2001::2 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / tcp src is 22 dst is 23 / end actions queue index 10 / mark id 1 / end + #9 flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc pdu_t is 0 / ipv6 src is 2001::2 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / udp src is 22 dst is 23 / end actions queue index 10 / mark id 1 / end + #10 flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc pdu_t is 1 / ipv6 src is 2001::2 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / end actions queue index 10 / mark id 1 / end + #11 flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc pdu_t is 1 / ipv6 src is 2001::2 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / tcp src is 22 dst is 23 / end actions queue index 10 / mark id 1 / end + #12 flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc pdu_t is 1 / ipv6 src is 2001::2 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / udp src is 22 dst is 23 / end actions queue index 10 / mark id 1 / end + +packets:: + + pkt1 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/Raw('x'*20) + pkt2 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/TCP(sport=22, dport=23)/Raw('x'*20) + pkt3 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(sport=22, dport=23)/Raw('x'*20) + pkt4 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer()/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/Raw('x'*20) + pkt5 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer()/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/TCP(sport=22, dport=23)/Raw('x'*20) + pkt6 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer()/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(sport=22, dport=23)/Raw('x'*20) + pkt7 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=0)/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/Raw('x'*20) + pkt8 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=0)/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/TCP(sport=22, dport=23)/Raw('x'*20) + pkt9 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=0)/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(sport=22, dport=23)/Raw('x'*20) + pkt10 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/Raw('x'*20) + pkt11 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/TCP(sport=22, dport=23)/Raw('x'*20) + pkt12 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP()/UDP(dport=2152)/GTP_U_Header()/GTPPDUSessionContainer(type=1)/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(sport=22, dport=23)/Raw('x'*20) + +repeat step 1-12 of subcase 1. \ No newline at end of file