From patchwork Tue Aug 18 23:57:17 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Lin, Xueqin" X-Patchwork-Id: 75702 Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id ACF01A04AF; Wed, 19 Aug 2020 07:55:38 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 735ED1BE7D; Wed, 19 Aug 2020 07:55:38 +0200 (CEST) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id 58B80AAB7 for ; Wed, 19 Aug 2020 07:55:36 +0200 (CEST) IronPort-SDR: hIlwIjANi5Y6jtNOFzwgCjBE+f97QGYnRR2HSkTyy5kWN2R8BusG05VZqbkrx9VllSmGMMAtoG CjqSF1n13nIQ== X-IronPort-AV: E=McAfee;i="6000,8403,9717"; a="155020291" X-IronPort-AV: E=Sophos;i="5.76,330,1592895600"; d="scan'208";a="155020291" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Aug 2020 22:55:35 -0700 IronPort-SDR: KA/jA2roB276mvKGACH04Mp7J16VZ1EFnJPIxm3ytADjMKdmjT2M2HUqy5KuQDBM4nnF+2X9AO GfmfnKfUBQcQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.76,330,1592895600"; d="scan'208";a="293001975" Received: from unknown (HELO dpdk-test60-xueqin.sh.intel.com) ([10.67.116.150]) by orsmga003.jf.intel.com with ESMTP; 18 Aug 2020 22:55:33 -0700 From: Xueqin Lin To: dts@dpdk.org Cc: Xueqin Lin Date: Tue, 18 Aug 2020 19:57:17 -0400 Message-Id: <1597795037-24672-1-git-send-email-xueqin.lin@intel.com> X-Mailer: git-send-email 2.5.5 Subject: [dts] [PATCH 1/2] test_plan/cvl_fdir: add outer pattern cases for gtp fdir X-BeenThere: dts@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: test suite reviews and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dts-bounces@dpdk.org Sender: "dts" Signed-off-by: Xueqin Lin --- test_plans/cvl_fdir_test_plan.rst | 1025 ++++++++++++++++++++++++++++++++++++- 1 file changed, 1022 insertions(+), 3 deletions(-) diff --git a/test_plans/cvl_fdir_test_plan.rst b/test_plans/cvl_fdir_test_plan.rst index c1b9223..2d4ddff 100644 --- a/test_plans/cvl_fdir_test_plan.rst +++ b/test_plans/cvl_fdir_test_plan.rst @@ -77,10 +77,13 @@ Pattern and input set +------------------------------+----------------------------+-------------------------------------------------------------------------------+ | | MAC_IPV4_TUN_MAC_IPV4_SCTP | [Inner Source IP], [Inner Dest IP], [Inner Source Port], [Inner Dest Port] | +------------------------------+----------------------------+-------------------------------------------------------------------------------+ - | GTP-U data packet types | | | - | IPv4 transport, IPv4 payload | MAC_IPV4_GTPU | [TEID] | + | IPv4/IPv6 + GTP-U | MAC_IPV4_GTPU | [Source IP], [Dest IP], [TEID] | +------------------------------+----------------------------+-------------------------------------------------------------------------------+ - | | MAC_IPV4_GTPU_EH | [TEID], [QFI] | + | | 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] | +------------------------------+----------------------------+-------------------------------------------------------------------------------+ | L2 Ethertype | L2 Ethertype | [Ethertype] | +------------------------------+----------------------------+-------------------------------------------------------------------------------+ @@ -446,6 +449,50 @@ Send packets p_gtpu14 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP(src="192.168.0.20", dst="192.168.0.21")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/IPv6()/SCTP()/Raw('x'*20) p_gtpu15 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP(src="192.168.0.20", dst="192.168.0.21")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x1234567)/IP()/Raw('x'*20) +* MAC_IPV6_GTPU_EH + + matched packets:: + + p_gtpu1 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/GTP_PDUSession_ExtensionHeader(pdu_type=0, qos_flow=0x34)/IP()/Raw('x'*20) + p_gtpu2 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/GTP_PDUSession_ExtensionHeader(pdu_type=0, qos_flow=0x34)/IP(frag=1)/Raw('x'*20) + p_gtpu3 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/GTP_PDUSession_ExtensionHeader(pdu_type=0, qos_flow=0x34)/IP()/UDP()/Raw('x'*20) + p_gtpu4 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/GTP_PDUSession_ExtensionHeader(pdu_type=0, qos_flow=0x34)/IP()/TCP(sport=22, dport=23)/Raw('x'*20) + p_gtpu5 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/GTP_PDUSession_ExtensionHeader(pdu_type=0, qos_flow=0x34)/IP()/ICMP()/Raw('x'*20) + p_gtpu6 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/GTP_PDUSession_ExtensionHeader(pdu_type=0, qos_flow=0x34)/IPv6()/Raw('x'*20) + p_gtpu7 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/GTP_PDUSession_ExtensionHeader(pdu_type=0, qos_flow=0x34)/IPv6()/IPv6ExtHdrFragment()/Raw('x'*20) + p_gtpu8 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/GTP_PDUSession_ExtensionHeader(pdu_type=0, qos_flow=0x34)/IPv6()/UDP()/Raw('x'*20) + p_gtpu9 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP( dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/GTP_PDUSession_ExtensionHeader(pdu_type=0, qos_flow=0x34)/IPv6()/TCP(sport=22, dport=23)/Raw('x'*20) + p_gtpu10 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/GTP_PDUSession_ExtensionHeader(pdu_type=0, qos_flow=0x34)/IPv6()/ICMP()/Raw('x'*20) + + mismatched packets:: + + p_gtpu11 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/IP()/Raw('x'*20) + p_gtpu12 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x1234567)/GTP_PDUSession_ExtensionHeader(pdu_type=0, qos_flow=0x34)/IP()/Raw('x'*20) + p_gtpu13 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/GTP_PDUSession_ExtensionHeader(pdu_type=0, qos_flow=0x35)/IP()/ICMP()/Raw('x'*20) + p_gtpu14 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IPv6(src="2001::3", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/GTP_PDUSession_ExtensionHeader(pdu_type=0, qos_flow=0x34)/IP()/TCP()/Raw('x'*20) + p_gtpu15 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/GTP_PDUSession_ExtensionHeader(pdu_type=0, qos_flow=0x34)/IP()/UDP()/Raw('x'*20) + +* MAC_IPV6_GTPU + + matched packets:: + + p_gtpu1 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/IP()/Raw('x'*20) + p_gtpu2 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/IP(frag=1)/Raw('x'*20) + p_gtpu3 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/IP()/UDP()/Raw('x'*20) + p_gtpu4 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP( dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/IP()/TCP(sport=22, dport=23)/Raw('x'*20) + p_gtpu5 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/IP()/ICMP()/Raw('x'*20) + p_gtpu6 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/IPv6()/Raw('x'*20) + p_gtpu7 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/IPv6()/IPv6ExtHdrFragment()/Raw('x'*20) + p_gtpu8 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/IPv6()/UDP()/Raw('x'*20) + p_gtpu9 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP( dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/IPv6()/TCP(sport=22, dport=23)/Raw('x'*20) + p_gtpu10 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/IPv6()/ICMP()/Raw('x'*20) + + mismatched packets:: + + p_gtpu11 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x1234567)/IP()/Raw('x'*20) + p_gtpu12 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IPv6(src="2001::3", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/IP()/TCP()/Raw('x'*20) + p_gtpu13 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/IP()/UDP()/Raw('x'*20) + * L2 Ethertype PPPoED packets:: @@ -1642,6 +1689,249 @@ Subcase 8: MAC_IPV4_GTPU_EH without QFI rss queues / mark 4. verify matched packet is distributed by RSS without FDIR matched ID. Then check there is no rule listed. +Subcase 9: MAC_IPV4_GTPU_EH 4 tuple queue index +----------------------------------------------- + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / udp / gtpu teid is 0x12345678 / gtp_psc qfi is 0x34 / end actions queue index 10 / mark id 1 / end + +2. send matched packets, check the packets are distributed to queue 10 with FDIR matched ID=0x1. + + send mismatched packets, check the packets are distributed by RSS without FDIR matched ID. + +3. verify rules can be listed and destroyed:: + + testpmd> flow list 0 + + check the existing rule. + destroy the rule:: + + testpmd> flow destroy 0 rule 0 + +4. verify matched packets are distributed by RSS without FDIR matched ID. + Then check there is no rule listed. + +Subcase 10: MAC_IPV4_GTPU_EH 4 tuple queue group +------------------------------------------------ + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / udp / gtpu teid is 0x12345678 / gtp_psc qfi is 0x34 / end actions rss queues 0 1 2 3 end / mark id 1 / end + +2. send matched packets, check the packets are distributed to queue group with FDIR matched ID=0x1. + send mismatched packets, 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 11: MAC_IPV4_GTPU_EH 4 tuple passthru +--------------------------------------------- + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / udp / gtpu teid is 0x12345678 / gtp_psc qfi is 0x34 / end actions passthru / mark id 1 / end + +2. send matched packets, check the packets are redirected by RSS with FDIR matched ID=0x1. + send mismatched packets, 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 12: MAC_IPV4_GTPU_EH 4 tuple drop +----------------------------------------- + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / udp / gtpu teid is 0x12345678 / gtp_psc qfi is 0x34 / end actions drop / end + +2. send matched packets, check the packets are dropped. + send mismatched packets, 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 13: MAC_IPV4_GTPU_EH 4 tuple mark/rss +--------------------------------------------- + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / udp / gtpu teid is 0x12345678 / gtp_psc qfi is 0x34 / end actions mark id 1 / rss / end + +2. send matched packets, check the packets are redirected by RSS with FDIR matched ID=0x1. + send mismatched packets, 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. + +Subcase 14: MAC_IPV4_GTPU_EH outer dst ip queue index +----------------------------------------------------- + +1. create filter rules on port 0:: + + flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.21 / udp / gtpu / gtp_psc / end actions queue index 10 / mark id 1 / end + +2. send matched packets, check the packet is redirected to queue 1 with FDIR matched ID=0x3:: + + p_gtpu1 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP(src="192.168.0.21", dst="192.168.0.21")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/GTP_PDUSession_ExtensionHeader(pdu_type=0, qos_flow=0x34)/IP()/TCP()/Raw('x'*20) + + send mismatched packets, check the packet is distributed by RSS without FDIR matched ID:: + + p_gtpu2 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP(src="192.168.0.21", dst="192.168.0.22")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/GTP_PDUSession_ExtensionHeader(pdu_type=0, qos_flow=0x34)/IP()/UDP()/Raw('x'*20) + +3. repeat step 3 of subcase 1. + +4. verify matched packet is distributed by RSS without FDIR matched ID. + Then check there is no rule listed. + +Subcase 15: MAC_IPV4_GTPU_EH outer dst ip queue group +----------------------------------------------------- + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.21 / udp / gtpu / gtp_psc / end actions rss queues 0 1 2 3 end / mark id 1 / end + +2. send matched packets, check the packets are distributed to queue group with FDIR matched ID=0x1. + send mismatched packets, 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 16: MAC_IPV4_GTPU_EH outer dst ip passthru +-------------------------------------------------- + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.21 / udp / gtpu / gtp_psc / end actions passthru / mark id 1 / end + +2. send matched packets, check the packets are redirected by RSS with FDIR matched ID=0x1. + send mismatched packets, 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 17: MAC_IPV4_GTPU_EH outer dst ip drop +---------------------------------------------- + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.21 / udp / gtpu / gtp_psc / end actions drop / end + +2. send matched packets, check the packets are dropped. + send mismatched packets, 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 18: MAC_IPV4_GTPU_EH outer dst ip mark/rss +-------------------------------------------------- + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.21 / udp / gtpu / gtp_psc / end actions mark id 1 / rss / end + +2. send matched packets, check the packets are redirected by RSS with FDIR matched ID=0x1. + send mismatched packets, 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. + +Subcase 19: MAC_IPV4_GTPU_EH outer src ip queue index +----------------------------------------------------- + +1. create filter rules on port 0:: + + flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 / udp / gtpu / gtp_psc / end actions queue index 1 / mark id 3 / end + +2. send matched packets, check the packet is redirected to queue 1 with FDIR matched ID=0x3:: + + p_gtpu1 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP(src="192.168.0.20", dst="192.168.0.22")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/GTP_PDUSession_ExtensionHeader(pdu_type=0, qos_flow=0x34)/IP()/TCP()/Raw('x'*20) + + send mismatched packets, check the packet is distributed by RSS without FDIR matched ID:: + + p_gtpu2 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP(src="192.168.0.21", dst="192.168.0.21")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/GTP_PDUSession_ExtensionHeader(pdu_type=0, qos_flow=0x34)/IP()/UDP()/Raw('x'*20) + +3. repeat step 3 of subcase 1. + +4. verify matched packet is distributed by RSS without FDIR matched ID. + Then check there is no rule listed. + +Subcase 20: MAC_IPV4_GTPU_EH outer src ip queue group +----------------------------------------------------- + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 / udp / gtpu / gtp_psc / end actions rss queues 0 1 2 3 end / mark id 1 / end + +2. send matched packets, check the packets are distributed to queue group with FDIR matched ID=0x1. + send mismatched packets, 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 21: MAC_IPV4_GTPU_EH outer src ip passthru +-------------------------------------------------- + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 / udp / gtpu / gtp_psc / end actions passthru / mark id 1 / end + +2. send matched packets, check the packets are redirected by RSS with FDIR matched ID=0x1. + send mismatched packets, 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 22: MAC_IPV4_GTPU_EH outer src ip drop +---------------------------------------------- + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 / udp / gtpu / gtp_psc / end actions drop / end + +2. send matched packets, check the packets are dropped. + send mismatched packets, 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 23: MAC_IPV4_GTPU_EH outer src ip mark/rss +-------------------------------------------------- + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 / udp / gtpu / gtp_psc / end actions mark id 1 / rss / end + +2. send matched packets, check the packets are redirected by RSS with FDIR matched ID=0x1. + send mismatched packets, 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 pattern ================================ @@ -1737,6 +2027,735 @@ Subcase 6: MAC_IPV4_GTPU mark 2. repeat the steps of passthru in subcase 3, get the same result. +Subcase 7: MAC_IPV4_GTPU 3 tuple queue index +-------------------------------------------- + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / udp / gtpu teid is 0x12345678 / end actions queue index 10 / mark id 1 / end + +2. send matched packets, check the packets are distributed to queue 10 with FDIR matched ID=0x1. + send mismatched packets, check the packets are distributed by RSS without FDIR matched ID. + +3. verify rules can be listed and destroyed:: + + testpmd> flow list 0 + + check the existing rule. + destroy the rule:: + + testpmd> flow destroy 0 rule 0 + +4. verify matched packets are distributed by RSS without FDIR matched ID. + Then check there is no rule listed. + +Subcase 8: MAC_IPV4_GTPU 3 tuple queue group +-------------------------------------------- + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / udp / gtpu teid is 0x12345678 / end actions rss queues 0 1 2 3 end / mark id 1 / end + +2. send matched packets, check the packets are distributed to queue group with FDIR matched ID=0x1. + send mismatched packets, 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 9: MAC_IPV4_GTPU 3 tuple passthru +----------------------------------------- + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / udp / gtpu teid is 0x12345678 / end actions passthru / mark id 1 / end + +2. send matched packets, check the packets are redirected by RSS with FDIR matched ID=0x1. + send mismatched packets, 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 10: MAC_IPV4_GTPU 3 tuple drop +-------------------------------------- + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / udp / gtpu teid is 0x12345678 / end actions drop / end + +2. send matched packets, check the packets are dropped. + send mismatched packets, 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 11: MAC_IPV4_GTPU 3 tuple mark/rss +------------------------------------------ + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 dst is 192.168.0.21 / udp / gtpu teid is 0x12345678 / end actions mark id 1 / rss / end + +2. send matched packets, check the packets are redirected by RSS with FDIR matched ID=0x1. + send mismatched packets, 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. + +Subcase 12: MAC_IPV4_GTPU outer dst ip queue index +-------------------------------------------------- + +1. create filter rules on port 0:: + + flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.21 / udp / gtpu / end actions queue index 1 / mark id 3 / end + +2. send matched packets, check the packet is redirected to queue 1 with FDIR matched ID=0x3. + send mismatched packets, check the packet is distributed by RSS without FDIR matched ID. + +3. repeat step 3 of subcase 1. + +4. verify matched packet is distributed by RSS without FDIR matched ID. + Then check there is no rule listed. + +Subcase 13: MAC_IPV4_GTPU outer dst ip queue group +------------------------------------------------- + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.21 / udp / gtpu / end actions rss queues 0 1 2 3 end / mark id 1 / end + +2. send matched packets, check the packets are distributed to queue group with FDIR matched ID=0x1. + send mismatched packets, 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 14: MAC_IPV4_GTPU outer dst ip passthru +---------------------------------------------- + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.21 / udp / gtpu / end actions passthru / mark id 1 / end + +2. send matched packets, check the packets are redirected by RSS with FDIR matched ID=0x1. + send mismatched packets, 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 15: MAC_IPV4_GTPU outer dst ip drop +------------------------------------------- + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.21 / udp / gtpu / end actions drop / end + +2. send matched packets, check the packets are dropped. + send mismatched packets, 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 16: MAC_IPV4_GTPU outer dst ip mark/rss +----------------------------------------------- + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv4 dst is 192.168.0.21 / udp / gtpu / end actions mark id 1 / rss / end + +2. send matched packets, check the packets are redirected by RSS with FDIR matched ID=0x1. + send mismatched packets, 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. + +Subcase 17: MAC_IPV4_GTPU outer src ip queue index +-------------------------------------------------- + +1. create filter rules on port 0:: + + flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 / udp / gtpu / end actions queue index 1 / mark id 3 / end + +2. send matched packets, check the packet is redirected to queue 1 with FDIR matched ID=0x3:: + + p_gtpu1 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP(src="192.168.0.20", dst="192.168.0.22")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/GTP_PDUSession_ExtensionHeader(pdu_type=0, qos_flow=0x34)/IP()/TCP()/Raw('x'*20) + + send mismatched packets, check the packet is distributed by RSS without FDIR matched ID:: + + p_gtpu2 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IP(src="192.168.0.21", dst="192.168.0.21")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/GTP_PDUSession_ExtensionHeader(pdu_type=0, qos_flow=0x34)/IP()/UDP()/Raw('x'*20) + +3. repeat step 3 of subcase 1. + +4. verify matched packet is distributed by RSS without FDIR matched ID. + Then check there is no rule listed. + +Subcase 18: MAC_IPV4_GTPU outer src ip queue group +-------------------------------------------------- + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 / udp / gtpu / end actions rss queues 0 1 2 3 end / mark id 1 / end + +2. send matched packets, check the packets are distributed to queue group with FDIR matched ID=0x1. + send mismatched packets, 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 19: MAC_IPV4_GTPU outer src ip passthru +----------------------------------------------- + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 / udp / gtpu / end actions passthru / mark id 1 / end + +2. send matched packets, check the packets are redirected by RSS with FDIR matched ID=0x1. + send mismatched packets, 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 20: MAC_IPV4_GTPU outer src ip drop +------------------------------------------- + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 / udp / gtpu / end actions drop / end + +2. send matched packets, check the packets are dropped. + send mismatched packets, 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 21: MAC_IPV4_GTPU outer src ip mark/rss +----------------------------------------------- + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv4 src is 192.168.0.20 / udp / gtpu / end actions mark id 1 / rss / end + +2. send matched packets, check the packets are redirected by RSS with FDIR matched ID=0x1. + send mismatched packets, 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_IPV6_GTPU_EH pattern +=================================== + +Subcase 1: MAC_IPV6_GTPU_EH 4 tuple queue index +----------------------------------------------- + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv6 src is 2001::2 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / udp / gtpu teid is 0x12345678 / gtp_psc qfi is 0x34 / end actions queue index 10 / mark id 1 / end + +2. send matched packets, check the packets are distributed to queue 10 with FDIR matched ID=0x1. + + send mismatched packets, check the packets are distributed by RSS without FDIR matched ID. + +3. verify rules can be listed and destroyed:: + + testpmd> flow list 0 + + check the existing rule. + destroy the rule:: + + testpmd> flow destroy 0 rule 0 + +4. verify matched packets are distributed by RSS without FDIR matched ID. + Then check there is no rule listed. + +Subcase 2: MAC_IPV6_GTPU_EH 4 tuple queue group +----------------------------------------------- + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv6 src is 2001::2 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / udp / gtpu teid is 0x12345678 / gtp_psc qfi is 0x34 / end actions rss queues 0 1 2 3 end / mark id 1 / end + +2. send matched packets, check the packets are distributed to queue group with FDIR matched ID=0x1. + send mismatched packets, 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 3: MAC_IPV6_GTPU_EH 4 tuple passthru +-------------------------------------------- + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv6 src is 2001::2 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / udp / gtpu teid is 0x12345678 / gtp_psc qfi is 0x34 / end actions passthru / mark id 1 / end + +2. send matched packets, check the packets are redirected by RSS with FDIR matched ID=0x1. + send mismatched packets, 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 4: MAC_IPV6_GTPU_EH 4 tuple drop +---------------------------------------- + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv6 src is 2001::2 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / udp / gtpu teid is 0x12345678 / gtp_psc qfi is 0x34 / end actions drop / end + +2. send matched packets, check the packets are dropped. + send mismatched packets, 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 5: MAC_IPV6_GTPU_EH 4 tuple mark/rss +-------------------------------------------- + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv6 src is 2001::2 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / udp / gtpu teid is 0x12345678 / gtp_psc qfi is 0x34 / end actions mark id 1 / rss / end + +2. send matched packets, check the packets are redirected by RSS with FDIR matched ID=0x1. + send mismatched packets, 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. + +Subcase 6: MAC_IPV6_GTPU_EH outer dst ipv6 queue index +------------------------------------------------------ + +1. create filter rules on port 0:: + + flow create 0 ingress pattern eth / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / udp / gtpu / gtp_psc / end actions queue index 1 / mark id 3 / end + +2. send matched packets, check the packet is redirected to queue 1 with FDIR matched ID=0x3:: + + p_gtpu1 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/GTP_PDUSession_ExtensionHeader(pdu_type=0, qos_flow=0x34)/IP()/TCP()/Raw('x'*20) + + send mismatched packets, check the packet is distributed by RSS without FDIR matched ID:: + + p_gtpu2 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/GTP_PDUSession_ExtensionHeader(pdu_type=0, qos_flow=0x34)/IP()/UDP()/Raw('x'*20) + +3. repeat step 3 of subcase 1. + +4. verify matched packet is distributed by RSS without FDIR matched ID. + Then check there is no rule listed. + +Subcase 7: MAC_IPV6_GTPU_EH outer dst ipv6 queue group +------------------------------------------------------ + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / udp / gtpu / gtp_psc / end actions rss queues 0 1 2 3 end / mark id 1 / end + +2. send matched packets, check the packets are distributed to queue group with FDIR matched ID=0x1. + send mismatched packets, 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 8: MAC_IPV6_GTPU_EH outer dst ipv6 passthru +--------------------------------------------------- + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / udp / gtpu / gtp_psc / end actions passthru / mark id 1 / end + +2. send matched packets, check the packets are redirected by RSS with FDIR matched ID=0x1. + send mismatched packets, 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 9: MAC_IPV6_GTPU_EH outer dst ipv6 drop +----------------------------------------------- + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / udp / gtpu / gtp_psc / end actions drop / end + +2. send matched packets, check the packets are dropped. + send mismatched packets, 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 10: MAC_IPV6_GTPU_EH outer dst ipv6 mark/rss +---------------------------------------------------- + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / udp / gtpu / gtp_psc / end actions mark id 1 / rss / end + +2. send matched packets, check the packets are redirected by RSS with FDIR matched ID=0x1. + send mismatched packets, 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. + +Subcase 11: MAC_IPV6_GTPU_EH outer src ipv6 queue index +------------------------------------------------------- + +1. create filter rules on port 0:: + + flow create 0 ingress pattern eth / ipv6 src is 2001::2 / udp / gtpu / gtp_psc / end actions queue index 1 / mark id 3 / end + +2. send matched packets, check the packet is redirected to queue 1 with FDIR matched ID=0x3:: + + p_gtpu1 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/GTP_PDUSession_ExtensionHeader(pdu_type=0, qos_flow=0x34)/IP()/TCP()/Raw('x'*20) + + send mismatched packets, check the packet is distributed by RSS without FDIR matched ID:: + + p_gtpu2 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IPv6(src="2001::3", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/GTP_PDUSession_ExtensionHeader(pdu_type=0, qos_flow=0x34)/IP()/UDP()/Raw('x'*20) + +3. repeat step 3 of subcase 1. + +4. verify matched packet is distributed by RSS without FDIR matched ID. + Then check there is no rule listed. + +Subcase 12: MAC_IPV6_GTPU_EH outer src ipv6 queue group +------------------------------------------------------- + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv6 src is 2001::2 / udp / gtpu / gtp_psc / end actions rss queues 0 1 2 3 end / mark id 1 / end + +2. send matched packets, check the packets are distributed to queue group with FDIR matched ID=0x1. + send mismatched packets, 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 13: MAC_IPV6_GTPU_EH outer src ipv6 passthru +---------------------------------------------------- + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv6 src is 2001::2 / udp / gtpu / gtp_psc / end actions passthru / mark id 1 / end + +2. send matched packets, check the packets are redirected by RSS with FDIR matched ID=0x1. + send mismatched packets, 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 14: MAC_IPV6_GTPU_EH outer src ipv6 drop +------------------------------------------------ + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv6 src is 2001::2 / udp / gtpu / gtp_psc / end actions drop / end + +2. send matched packets, check the packets are dropped. + send mismatched packets, 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 15: MAC_IPV6_GTPU_EH outer src ipv6 mark/rss +---------------------------------------------------- + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv6 src is 2001::2 / udp / gtpu / gtp_psc / end actions mark id 1 / rss / end + +2. send matched packets, check the packets are redirected by RSS with FDIR matched ID=0x1. + send mismatched packets, 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_IPV6_GTPU pattern +================================ + +Subcase 1: MAC_IPV6_GTPU 4 tuple queue index +-------------------------------------------- + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv6 src is 2001::2 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / udp / gtpu teid is 0x12345678 / end actions queue index 10 / mark id 1 / end + +2. send matched packets, check the packets are distributed to queue 10 with FDIR matched ID=0x1. + + send mismatched packets, check the packets are distributed by RSS without FDIR matched ID. + +3. verify rules can be listed and destroyed:: + + testpmd> flow list 0 + + check the existing rule. + destroy the rule:: + + testpmd> flow destroy 0 rule 0 + +4. verify matched packets are distributed by RSS without FDIR matched ID. + Then check there is no rule listed. + +Subcase 2: MAC_IPV6_GTPU 4 tuple queue group +-------------------------------------------- + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv6 src is 2001::2 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / udp / gtpu teid is 0x12345678 / end actions rss queues 0 1 2 3 end / mark id 1 / end + +2. send matched packets, check the packets are distributed to queue group with FDIR matched ID=0x1. + send mismatched packets, 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 3: MAC_IPV6_GTPU 4 tuple passthru +----------------------------------------- + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv6 src is 2001::2 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / udp / gtpu teid is 0x12345678 / end actions passthru / mark id 1 / end + +2. send matched packets, check the packets are redirected by RSS with FDIR matched ID=0x1. + send mismatched packets, 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 4: MAC_IPV6_GTPU 4 tuple drop +------------------------------------- + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv6 src is 2001::2 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / udp / gtpu teid is 0x12345678 / end actions drop / end + +2. send matched packets, check the packets are dropped. + send mismatched packets, 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 5: MAC_IPV6_GTPU 4 tuple mark/rss +----------------------------------------- + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv6 src is 2001::2 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / udp / gtpu teid is 0x12345678 / end actions mark id 1 / rss / end + +2. send matched packets, check the packets are redirected by RSS with FDIR matched ID=0x1. + send mismatched packets, 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. + +Subcase 6: MAC_IPV6_GTPU outer dst ipv6 queue index +--------------------------------------------------- + +1. create filter rules on port 0:: + + flow create 0 ingress pattern eth / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / udp / gtpu / end actions queue index 1 / mark id 3 / end + +2. send matched packets, check the packet is redirected to queue 1 with FDIR matched ID=0x3:: + + p_gtpu1 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/IP()/TCP()/Raw('x'*20) + + send mismatched packets, check the packet is distributed by RSS without FDIR matched ID:: + + p_gtpu2 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2021")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/IP()/UDP()/Raw('x'*20) + +3. repeat step 3 of subcase 1. + +4. verify matched packet is distributed by RSS without FDIR matched ID. + Then check there is no rule listed. + +Subcase 7: MAC_IPV6_GTPU outer dst ipv6 queue group +--------------------------------------------------- + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / udp / gtpu / end actions rss queues 0 1 2 3 end / mark id 1 / end + +2. send matched packets, check the packets are distributed to queue group with FDIR matched ID=0x1. + send mismatched packets, 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 8: MAC_IPV6_GTPU outer dst ipv6 passthru +------------------------------------------------ + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / udp / gtpu / end actions passthru / mark id 1 / end + +2. send matched packets, check the packets are redirected by RSS with FDIR matched ID=0x1. + send mismatched packets, 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 9: MAC_IPV6_GTPU outer dst ipv6 drop +-------------------------------------------- + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / udp / gtpu / end actions drop / end + +2. send matched packets, check the packets are dropped. + send mismatched packets, 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 10: MAC_IPV6_GTPU outer dst ipv6 mark/rss +------------------------------------------------- + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv6 dst is CDCD:910A:2222:5498:8475:1111:3900:2020 / udp / gtpu / end actions mark id 1 / rss / end + +2. send matched packets, check the packets are redirected by RSS with FDIR matched ID=0x1. + send mismatched packets, 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. + +Subcase 11: MAC_IPV6_GTPU outer src ipv6 queue index +---------------------------------------------------- + +1. create filter rules on port 0:: + + flow create 0 ingress pattern eth / ipv6 src is 2001::2 / udp / gtpu / end actions queue index 1 / mark id 3 / end + +2. send matched packets, check the packet is redirected to queue 1 with FDIR matched ID=0x3:: + + p_gtpu1 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IPv6(src="2001::2", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/IP()/TCP()/Raw('x'*20) + + send mismatched packets, check the packet is distributed by RSS without FDIR matched ID:: + + p_gtpu2 = Ether(src="a4:bf:01:51:27:ca", dst="00:11:22:33:44:55")/IPv6(src="2001::3", dst="CDCD:910A:2222:5498:8475:1111:3900:2020")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/IP()/UDP()/Raw('x'*20) + +3. repeat step 3 of subcase 1. + +4. verify matched packet is distributed by RSS without FDIR matched ID. + Then check there is no rule listed. + +Subcase 12: MAC_IPV6_GTPU outer src ipv6 queue group +---------------------------------------------------- + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv6 src is 2001::2 / udp / gtpu / end actions rss queues 0 1 2 3 end / mark id 1 / end + +2. send matched packets, check the packets are distributed to queue group with FDIR matched ID=0x1. + send mismatched packets, 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 13: MAC_IPV6_GTPU outer src ipv6 passthru +------------------------------------------------- + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv6 src is 2001::2 / udp / gtpu / end actions passthru / mark id 1 / end + +2. send matched packets, check the packets are redirected by RSS with FDIR matched ID=0x1. + send mismatched packets, 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 14: MAC_IPV6_GTPU outer src ipv6 drop +--------------------------------------------- + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv6 src is 2001::2 / udp / gtpu / end actions drop / end + +2. send matched packets, check the packets are dropped. + send mismatched packets, 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 15: MAC_IPV6_GTPU outer src ipv6 mark/rss +------------------------------------------------- + +1. create filter rules:: + + flow create 0 ingress pattern eth / ipv6 src is 2001::2 / udp / gtpu / end actions mark id 1 / rss / end + +2. send matched packets, check the packets are redirected by RSS with FDIR matched ID=0x1. + send mismatched packets, 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: L2 Ethertype pattern ===============================