From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 1DE0AA04AF; Thu, 20 Aug 2020 08:02:28 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 08F1C1BEC5; Thu, 20 Aug 2020 08:02:28 +0200 (CEST) Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by dpdk.org (Postfix) with ESMTP id 95E3A1BEBA for ; Thu, 20 Aug 2020 08:02:25 +0200 (CEST) IronPort-SDR: K04NWRv1zbBA1Zfig8IhDSkATNXFcvKJdpMObGR4dsBV53aoyqgkwbXU0lso2aHgw95wJitZSE yw8MHwQfo6OQ== X-IronPort-AV: E=McAfee;i="6000,8403,9718"; a="216776827" X-IronPort-AV: E=Sophos;i="5.76,332,1592895600"; d="scan'208";a="216776827" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga104.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 19 Aug 2020 23:02:24 -0700 IronPort-SDR: vGFPugQp4l1ckUCNQi/WBWrlZed5EQkqHa3gYXyk1b2JZ8wfSt3vv7sAqcNppqGuf2deSz0nYc M1Pts/aXWgwQ== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.76,332,1592895600"; d="scan'208";a="472507013" Received: from unknown (HELO fmsmsx605.amr.corp.intel.com) ([10.18.84.215]) by orsmga005.jf.intel.com with ESMTP; 19 Aug 2020 23:02:24 -0700 Received: from shsmsx606.ccr.corp.intel.com (10.109.6.216) by fmsmsx605.amr.corp.intel.com (10.18.126.85) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Wed, 19 Aug 2020 23:02:23 -0700 Received: from shsmsx602.ccr.corp.intel.com (10.109.6.142) by SHSMSX606.ccr.corp.intel.com (10.109.6.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Thu, 20 Aug 2020 14:02:21 +0800 Received: from shsmsx602.ccr.corp.intel.com ([10.109.6.142]) by SHSMSX602.ccr.corp.intel.com ([10.109.6.142]) with mapi id 15.01.1713.004; Thu, 20 Aug 2020 14:02:21 +0800 From: "Xu, HailinX" To: "Lin, Xueqin" , "dts@dpdk.org" CC: "Lin, Xueqin" Thread-Topic: [dts] [PATCH 1/2 v1] test_plan/iavf_fdir: add outer pattern cases for iavf gtp fdir Thread-Index: AQHWdf1/jK6xo+F32E+eHGcmOww2OalAgtew Date: Thu, 20 Aug 2020 06:02:21 +0000 Message-ID: References: <1597801944-27927-1-git-send-email-xueqin.lin@intel.com> In-Reply-To: <1597801944-27927-1-git-send-email-xueqin.lin@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.36] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dts] [PATCH 1/2 v1] test_plan/iavf_fdir: add outer pattern cases for iavf 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" Tested-by: Xu, HailinX Regards, Xu, Hailin -----Original Message----- From: dts [mailto:dts-bounces@dpdk.org] On Behalf Of Xueqin Lin Sent: Wednesday, August 19, 2020 9:52 AM To: dts@dpdk.org Cc: Lin, Xueqin Subject: [dts] [PATCH 1/2 v1] test_plan/iavf_fdir: add outer pattern cases = for iavf gtp fdir Add outer pattern test cases for iavf gtp fdir. Signed-off-by: Xueqin Lin --- test_plans/iavf_fdir_test_plan.rst | 1028 ++++++++++++++++++++++++++++++++= +++- 1 file changed, 1025 insertions(+), 3 deletions(-) diff --git a/test_plans/iavf_fdir_test_plan.rst b/test_plans/iavf_fdir_test= _plan.rst index b2c3553..ab2f1df 100644 --- a/test_plans/iavf_fdir_test_plan.rst +++ b/test_plans/iavf_fdir_test_plan.rst @@ -72,10 +72,13 @@ Pattern and input set +------------------------------+----------------------------+---------= ----------------------------------------------------------+ | | MAC_IPV6_PFCP_SESSION | [Dest Po= rt], [S-field] | +------------------------------+----------------------------+---------= ----------------------------------------------------------+ - | 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] | +------------------------------+----------------------------+---------= ----------------------------------------------------------+ | L2TPv3 | MAC_IPV4_L2TPv3 | [Session= ID] | +------------------------------+----------------------------+---------= ----------------------------------------------------------+ @@ -399,6 +402,50 @@ Send packets p_gtpu14 =3D Ether(src=3D"a4:bf:01:51:27:ca", dst=3D"00:11:22:33:44:55= ")/IP(src=3D"192.168.0.20", dst=3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_H= eader(gtp_type=3D255, teid=3D0x12345678)/IPv6()/SCTP()/Raw('x'*20) p_gtpu15 =3D Ether(src=3D"a4:bf:01:51:27:ca", dst=3D"00:11:22:33:44:55= ")/IP(src=3D"192.168.0.20", dst=3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_H= eader(gtp_type=3D255, teid=3D0x1234567)/IP()/Raw('x'*20) =20 +* MAC_IPV6_GTPU_EH + + matched packets:: + + p_gtpu1 =3D Ether(src=3D"a4:bf:01:51:27:ca", dst=3D"00:11:22:33:44:55"= )/IPv6(src=3D"2001::2", dst=3D"CDCD:910A:2222:5498:8475:1111:3900:2020")/UD= P(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x12345678)/GTP_PDUSess= ion_ExtensionHeader(pdu_type=3D0, qos_flow=3D0x34)/IP()/Raw('x'*20) + p_gtpu2 =3D Ether(src=3D"a4:bf:01:51:27:ca", dst=3D"00:11:22:33:44:55"= )/IPv6(src=3D"2001::2", dst=3D"CDCD:910A:2222:5498:8475:1111:3900:2020")/UD= P(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x12345678)/GTP_PDUSess= ion_ExtensionHeader(pdu_type=3D0, qos_flow=3D0x34)/IP(frag=3D1)/Raw('x'*20) + p_gtpu3 =3D Ether(src=3D"a4:bf:01:51:27:ca", dst=3D"00:11:22:33:44:55"= )/IPv6(src=3D"2001::2", dst=3D"CDCD:910A:2222:5498:8475:1111:3900:2020")/UD= P(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x12345678)/GTP_PDUSess= ion_ExtensionHeader(pdu_type=3D0, qos_flow=3D0x34)/IP()/UDP()/Raw('x'*20) + p_gtpu4 =3D Ether(src=3D"a4:bf:01:51:27:ca", dst=3D"00:11:22:33:44:55"= )/IPv6(src=3D"2001::2", dst=3D"CDCD:910A:2222:5498:8475:1111:3900:2020")/UD= P(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x12345678)/GTP_PDUSess= ion_ExtensionHeader(pdu_type=3D0, qos_flow=3D0x34)/IP()/TCP(sport=3D22, dpo= rt=3D23)/Raw('x'*20) + p_gtpu5 =3D Ether(src=3D"a4:bf:01:51:27:ca", dst=3D"00:11:22:33:44:55"= )/IPv6(src=3D"2001::2", dst=3D"CDCD:910A:2222:5498:8475:1111:3900:2020")/UD= P(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x12345678)/GTP_PDUSess= ion_ExtensionHeader(pdu_type=3D0, qos_flow=3D0x34)/IP()/ICMP()/Raw('x'*20) + p_gtpu6 =3D Ether(src=3D"a4:bf:01:51:27:ca", dst=3D"00:11:22:33:44:55"= )/IPv6(src=3D"2001::2", dst=3D"CDCD:910A:2222:5498:8475:1111:3900:2020")/UD= P(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x12345678)/GTP_PDUSess= ion_ExtensionHeader(pdu_type=3D0, qos_flow=3D0x34)/IPv6()/Raw('x'*20) + p_gtpu7 =3D Ether(src=3D"a4:bf:01:51:27:ca", dst=3D"00:11:22:33:44:55"= )/IPv6(src=3D"2001::2", dst=3D"CDCD:910A:2222:5498:8475:1111:3900:2020")/UD= P(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x12345678)/GTP_PDUSess= ion_ExtensionHeader(pdu_type=3D0, qos_flow=3D0x34)/IPv6()/IPv6ExtHdrFragmen= t()/Raw('x'*20) + p_gtpu8 =3D Ether(src=3D"a4:bf:01:51:27:ca", dst=3D"00:11:22:33:44:55"= )/IPv6(src=3D"2001::2", dst=3D"CDCD:910A:2222:5498:8475:1111:3900:2020")/UD= P(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x12345678)/GTP_PDUSess= ion_ExtensionHeader(pdu_type=3D0, qos_flow=3D0x34)/IPv6()/UDP()/Raw('x'*20) + p_gtpu9 =3D Ether(src=3D"a4:bf:01:51:27:ca", dst=3D"00:11:22:33:44:55"= )/IPv6(src=3D"2001::2", dst=3D"CDCD:910A:2222:5498:8475:1111:3900:2020")/UD= P( dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x12345678)/GTP_PDUSes= sion_ExtensionHeader(pdu_type=3D0, qos_flow=3D0x34)/IPv6()/TCP(sport=3D22, = dport=3D23)/Raw('x'*20) + p_gtpu10 =3D Ether(src=3D"a4:bf:01:51:27:ca", dst=3D"00:11:22:33:44:55= ")/IPv6(src=3D"2001::2", dst=3D"CDCD:910A:2222:5498:8475:1111:3900:2020")/U= DP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x12345678)/GTP_PDUSes= sion_ExtensionHeader(pdu_type=3D0, qos_flow=3D0x34)/IPv6()/ICMP()/Raw('x'*2= 0) + + mismatched packets:: + + p_gtpu11 =3D Ether(src=3D"a4:bf:01:51:27:ca", dst=3D"00:11:22:33:44:55= ")/IPv6(src=3D"2001::2", dst=3D"CDCD:910A:2222:5498:8475:1111:3900:2020")/U= DP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x12345678)/IP()/Raw('= x'*20) + p_gtpu12 =3D Ether(src=3D"a4:bf:01:51:27:ca", dst=3D"00:11:22:33:44:55= ")/IPv6(src=3D"2001::2", dst=3D"CDCD:910A:2222:5498:8475:1111:3900:2020")/U= DP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x1234567)/GTP_PDUSess= ion_ExtensionHeader(pdu_type=3D0, qos_flow=3D0x34)/IP()/Raw('x'*20) + p_gtpu13 =3D Ether(src=3D"a4:bf:01:51:27:ca", dst=3D"00:11:22:33:44:55= ")/IPv6(src=3D"2001::2", dst=3D"CDCD:910A:2222:5498:8475:1111:3900:2020")/U= DP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x12345678)/GTP_PDUSes= sion_ExtensionHeader(pdu_type=3D0, qos_flow=3D0x35)/IP()/ICMP()/Raw('x'*20) + p_gtpu14 =3D Ether(src=3D"a4:bf:01:51:27:ca", dst=3D"00:11:22:33:44:55= ")/IPv6(src=3D"2001::3", dst=3D"CDCD:910A:2222:5498:8475:1111:3900:2020")/U= DP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x12345678)/GTP_PDUSes= sion_ExtensionHeader(pdu_type=3D0, qos_flow=3D0x34)/IP()/TCP()/Raw('x'*20) + p_gtpu15 =3D Ether(src=3D"a4:bf:01:51:27:ca", dst=3D"00:11:22:33:44:55= ")/IPv6(src=3D"2001::2", dst=3D"CDCD:910A:2222:5498:8475:1111:3900:2021")/U= DP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x12345678)/GTP_PDUSes= sion_ExtensionHeader(pdu_type=3D0, qos_flow=3D0x34)/IP()/UDP()/Raw('x'*20) + +* MAC_IPV6_GTPU + + matched packets:: + + p_gtpu1 =3D Ether(src=3D"a4:bf:01:51:27:ca", dst=3D"00:11:22:33:44:55"= )/IPv6(src=3D"2001::2", dst=3D"CDCD:910A:2222:5498:8475:1111:3900:2020")/UD= P(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x12345678)/IP()/Raw('x= '*20) + p_gtpu2 =3D Ether(src=3D"a4:bf:01:51:27:ca", dst=3D"00:11:22:33:44:55"= )/IPv6(src=3D"2001::2", dst=3D"CDCD:910A:2222:5498:8475:1111:3900:2020")/UD= P(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x12345678)/IP(frag=3D1= )/Raw('x'*20) + p_gtpu3 =3D Ether(src=3D"a4:bf:01:51:27:ca", dst=3D"00:11:22:33:44:55"= )/IPv6(src=3D"2001::2", dst=3D"CDCD:910A:2222:5498:8475:1111:3900:2020")/UD= P(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x12345678)/IP()/UDP()/= Raw('x'*20) + p_gtpu4 =3D Ether(src=3D"a4:bf:01:51:27:ca", dst=3D"00:11:22:33:44:55"= )/IPv6(src=3D"2001::2", dst=3D"CDCD:910A:2222:5498:8475:1111:3900:2020")/UD= P( dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x12345678)/IP()/TCP(s= port=3D22, dport=3D23)/Raw('x'*20) + p_gtpu5 =3D Ether(src=3D"a4:bf:01:51:27:ca", dst=3D"00:11:22:33:44:55"= )/IPv6(src=3D"2001::2", dst=3D"CDCD:910A:2222:5498:8475:1111:3900:2020")/UD= P(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x12345678)/IP()/ICMP()= /Raw('x'*20) + p_gtpu6 =3D Ether(src=3D"a4:bf:01:51:27:ca", dst=3D"00:11:22:33:44:55"= )/IPv6(src=3D"2001::2", dst=3D"CDCD:910A:2222:5498:8475:1111:3900:2020")/UD= P(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x12345678)/IPv6()/Raw(= 'x'*20) + p_gtpu7 =3D Ether(src=3D"a4:bf:01:51:27:ca", dst=3D"00:11:22:33:44:55"= )/IPv6(src=3D"2001::2", dst=3D"CDCD:910A:2222:5498:8475:1111:3900:2020")/UD= P(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x12345678)/IPv6()/IPv6= ExtHdrFragment()/Raw('x'*20) + p_gtpu8 =3D Ether(src=3D"a4:bf:01:51:27:ca", dst=3D"00:11:22:33:44:55"= )/IPv6(src=3D"2001::2", dst=3D"CDCD:910A:2222:5498:8475:1111:3900:2020")/UD= P(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x12345678)/IPv6()/UDP(= )/Raw('x'*20) + p_gtpu9 =3D Ether(src=3D"a4:bf:01:51:27:ca", dst=3D"00:11:22:33:44:55"= )/IPv6(src=3D"2001::2", dst=3D"CDCD:910A:2222:5498:8475:1111:3900:2020")/UD= P( dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x12345678)/IPv6()/TCP= (sport=3D22, dport=3D23)/Raw('x'*20) + p_gtpu10 =3D Ether(src=3D"a4:bf:01:51:27:ca", dst=3D"00:11:22:33:44:55= ")/IPv6(src=3D"2001::2", dst=3D"CDCD:910A:2222:5498:8475:1111:3900:2020")/U= DP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x12345678)/IPv6()/ICM= P()/Raw('x'*20) + + mismatched packets:: + + p_gtpu11 =3D Ether(src=3D"a4:bf:01:51:27:ca", dst=3D"00:11:22:33:44:55= ")/IPv6(src=3D"2001::2", dst=3D"CDCD:910A:2222:5498:8475:1111:3900:2020")/U= DP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x1234567)/IP()/Raw('x= '*20) + p_gtpu12 =3D Ether(src=3D"a4:bf:01:51:27:ca", dst=3D"00:11:22:33:44:55= ")/IPv6(src=3D"2001::3", dst=3D"CDCD:910A:2222:5498:8475:1111:3900:2020")/U= DP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x12345678)/IP()/TCP()= /Raw('x'*20) + p_gtpu13 =3D Ether(src=3D"a4:bf:01:51:27:ca", dst=3D"00:11:22:33:44:55= ")/IPv6(src=3D"2001::2", dst=3D"CDCD:910A:2222:5498:8475:1111:3900:2021")/U= DP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x12345678)/IP()/UDP()= /Raw('x'*20) + * L2 Ethertype =20 PPPoED packets:: @@ -1308,6 +1355,250 @@ Subcase 8: MAC_IPV4_GTPU_EH without QFI rss queues = / mark Then check there is no rule listed. =20 =20 +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 19= 2.168.0.21 / udp / gtpu teid is 0x12345678 / gtp_psc qfi is 0x34 / end acti= ons queue index 10 / mark id 1 / end + +2. send matched packets, check the packets are distributed to queue 10 wit= h FDIR matched ID=3D0x1. + + send mismatched packets, check the packets are distributed by RSS witho= ut 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 19= 2.168.0.21 / udp / gtpu teid is 0x12345678 / gtp_psc qfi is 0x34 / end acti= ons 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=3D0x1. + send mismatched packets, check the packets are distributed by RSS witho= ut 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 19= 2.168.0.21 / udp / gtpu teid is 0x12345678 / gtp_psc qfi is 0x34 / end acti= ons passthru / mark id 1 / end + +2. send matched packets, check the packets are redirected by RSS with FDIR= matched ID=3D0x1. + send mismatched packets, check the packets are redirected by RSS withou= t 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 19= 2.168.0.21 / udp / gtpu teid is 0x12345678 / gtp_psc qfi is 0x34 / end acti= ons 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 19= 2.168.0.21 / udp / gtpu teid is 0x12345678 / gtp_psc qfi is 0x34 / end acti= ons mark id 1 / rss / end + +2. send matched packets, check the packets are redirected by RSS with FDIR= matched ID=3D0x1. + send mismatched packets, check the packets are redirected by RSS withou= t 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 / g= tpu / gtp_psc / end actions queue index 10 / mark id 1 / end + +2. send matched packets, check the packet is redirected to queue 1 with FD= IR matched ID=3D0x3:: + + p_gtpu1 =3D Ether(src=3D"a4:bf:01:51:27:ca", dst=3D"00:11:22:33:44:55"= )/IP(src=3D"192.168.0.21", dst=3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_He= ader(gtp_type=3D255, teid=3D0x12345678)/GTP_PDUSession_ExtensionHeader(pdu_= type=3D0, qos_flow=3D0x34)/IP()/TCP()/Raw('x'*20) + + send mismatched packets, check the packet is distributed by RSS without= FDIR matched ID:: + + p_gtpu2 =3D Ether(src=3D"a4:bf:01:51:27:ca", dst=3D"00:11:22:33:44:55"= )/IP(src=3D"192.168.0.21", dst=3D"192.168.0.22")/UDP(dport=3D2152)/GTP_U_He= ader(gtp_type=3D255, teid=3D0x12345678)/GTP_PDUSession_ExtensionHeader(pdu_= type=3D0, qos_flow=3D0x34)/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 / g= tpu / 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=3D0x1. + send mismatched packets, check the packets are distributed by RSS witho= ut 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 / g= tpu / gtp_psc / end actions passthru / mark id 1 / end + +2. send matched packets, check the packets are redirected by RSS with FDIR= matched ID=3D0x1. + send mismatched packets, check the packets are redirected by RSS withou= t 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 / g= tpu / 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 / g= tpu / gtp_psc / end actions mark id 1 / rss / end + +2. send matched packets, check the packets are redirected by RSS with FDIR= matched ID=3D0x1. + send mismatched packets, check the packets are redirected by RSS withou= t 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 / g= tpu / gtp_psc / end actions queue index 1 / mark id 3 / end + +2. send matched packets, check the packet is redirected to queue 1 with FD= IR matched ID=3D0x3:: + + p_gtpu1 =3D Ether(src=3D"a4:bf:01:51:27:ca", dst=3D"00:11:22:33:44:55"= )/IP(src=3D"192.168.0.20", dst=3D"192.168.0.22")/UDP(dport=3D2152)/GTP_U_He= ader(gtp_type=3D255, teid=3D0x12345678)/GTP_PDUSession_ExtensionHeader(pdu_= type=3D0, qos_flow=3D0x34)/IP()/TCP()/Raw('x'*20) + + send mismatched packets, check the packet is distributed by RSS without= FDIR matched ID:: + + p_gtpu2 =3D Ether(src=3D"a4:bf:01:51:27:ca", dst=3D"00:11:22:33:44:55"= )/IP(src=3D"192.168.0.21", dst=3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_He= ader(gtp_type=3D255, teid=3D0x12345678)/GTP_PDUSession_ExtensionHeader(pdu_= type=3D0, qos_flow=3D0x34)/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 / g= tpu / 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=3D0x1. + send mismatched packets, check the packets are distributed by RSS witho= ut 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 / g= tpu / gtp_psc / end actions passthru / mark id 1 / end + +2. send matched packets, check the packets are redirected by RSS with FDIR= matched ID=3D0x1. + send mismatched packets, check the packets are redirected by RSS withou= t 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 / g= tpu / 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 / g= tpu / gtp_psc / end actions mark id 1 / rss / end + +2. send matched packets, check the packets are redirected by RSS with FDIR= matched ID=3D0x1. + send mismatched packets, check the packets are redirected by RSS withou= t 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 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D =20 @@ -1403,6 +1694,737 @@ Subcase 6: MAC_IPV4_GTPU mark 2. repeat the steps of passthru with mark part in subcase 3, get the same result. =20 +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 19= 2.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 wit= h FDIR matched ID=3D0x1. + send mismatched packets, check the packets are distributed by RSS witho= ut 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 19= 2.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=3D0x1. + send mismatched packets, check the packets are distributed by RSS witho= ut 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 19= 2.168.0.21 / udp / gtpu teid is 0x12345678 / end actions passthru / mark i= d 1 / end + +2. send matched packets, check the packets are redirected by RSS with FDIR= matched ID=3D0x1. + send mismatched packets, check the packets are redirected by RSS withou= t 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 19= 2.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 19= 2.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=3D0x1. + send mismatched packets, check the packets are redirected by RSS withou= t 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 / g= tpu / end actions queue index 1 / mark id 3 / end + +2. send matched packets, check the packet is redirected to queue 1 with FD= IR matched ID=3D0x3. + 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 / g= tpu / 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=3D0x1. + send mismatched packets, check the packets are distributed by RSS witho= ut 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 / g= tpu / end actions passthru / mark id 1 / end + +2. send matched packets, check the packets are redirected by RSS with FDIR= matched ID=3D0x1. + send mismatched packets, check the packets are redirected by RSS withou= t 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 / g= tpu / 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 / g= tpu / end actions mark id 1 / rss / end + +2. send matched packets, check the packets are redirected by RSS with FDIR= matched ID=3D0x1. + send mismatched packets, check the packets are redirected by RSS withou= t 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 / g= tpu / end actions queue index 1 / mark id 3 / end + +2. send matched packets, check the packet is redirected to queue 1 with FD= IR matched ID=3D0x3:: + + p_gtpu1 =3D Ether(src=3D"a4:bf:01:51:27:ca", dst=3D"00:11:22:33:44:55"= )/IP(src=3D"192.168.0.20", dst=3D"192.168.0.22")/UDP(dport=3D2152)/GTP_U_He= ader(gtp_type=3D255, teid=3D0x12345678)/GTP_PDUSession_ExtensionHeader(pdu_= type=3D0, qos_flow=3D0x34)/IP()/TCP()/Raw('x'*20) + + send mismatched packets, check the packet is distributed by RSS without= FDIR matched ID:: + + p_gtpu2 =3D Ether(src=3D"a4:bf:01:51:27:ca", dst=3D"00:11:22:33:44:55"= )/IP(src=3D"192.168.0.21", dst=3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_He= ader(gtp_type=3D255, teid=3D0x12345678)/GTP_PDUSession_ExtensionHeader(pdu_= type=3D0, qos_flow=3D0x34)/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 / g= tpu / 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=3D0x1. + send mismatched packets, check the packets are distributed by RSS witho= ut 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 / g= tpu / end actions passthru / mark id 1 / end + +2. send matched packets, check the packets are redirected by RSS with FDIR= matched ID=3D0x1. + send mismatched packets, check the packets are redirected by RSS withou= t 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 / g= tpu / 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 / g= tpu / end actions mark id 1 / rss / end + +2. send matched packets, check the packets are redirected by RSS with FDIR= matched ID=3D0x1. + send mismatched packets, check the packets are redirected by RSS withou= t 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 +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D + +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:91= 0A: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 wit= h FDIR matched ID=3D0x1. + + send mismatched packets, check the packets are distributed by RSS witho= ut 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:9= 10A: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=3D0x1. + send mismatched packets, check the packets are distributed by RSS witho= ut 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:9= 10A: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=3D0x1. + send mismatched packets, check the packets are redirected by RSS withou= t 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:9= 10A: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:9= 10A: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=3D0x1. + send mismatched packets, check the packets are redirected by RSS withou= t 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:84= 75:1111:3900:2020 / udp / gtpu / gtp_psc / end actions queue index 1 / mar= k id 3 / end + +2. send matched packets, check the packet is redirected to queue 1 with FD= IR matched ID=3D0x3:: + + p_gtpu1 =3D Ether(src=3D"a4:bf:01:51:27:ca", dst=3D"00:11:22:33:44:55"= )/IPv6(src=3D"2001::2", dst=3D"CDCD:910A:2222:5498:8475:1111:3900:2020")/UD= P(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x12345678)/GTP_PDUSess= ion_ExtensionHeader(pdu_type=3D0, qos_flow=3D0x34)/IP()/TCP()/Raw('x'*20) + + send mismatched packets, check the packet is distributed by RSS without= FDIR matched ID:: + + p_gtpu2 =3D Ether(src=3D"a4:bf:01:51:27:ca", dst=3D"00:11:22:33:44:55"= )/IPv6(src=3D"2001::2", dst=3D"CDCD:910A:2222:5498:8475:1111:3900:2021")/UD= P(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x12345678)/GTP_PDUSess= ion_ExtensionHeader(pdu_type=3D0, qos_flow=3D0x34)/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:8= 475: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=3D0x1. + send mismatched packets, check the packets are distributed by RSS witho= ut 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:8= 475:1111:3900:2020 / udp / gtpu / gtp_psc / end actions passthru / mark i= d 1 / end + +2. send matched packets, check the packets are redirected by RSS with FDIR= matched ID=3D0x1. + send mismatched packets, check the packets are redirected by RSS withou= t 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:84= 75: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:8= 475: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=3D0x1. + send mismatched packets, check the packets are redirected by RSS withou= t 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 FD= IR matched ID=3D0x3:: + + p_gtpu1 =3D Ether(src=3D"a4:bf:01:51:27:ca", dst=3D"00:11:22:33:44:55"= )/IPv6(src=3D"2001::2", dst=3D"CDCD:910A:2222:5498:8475:1111:3900:2020")/UD= P(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x12345678)/GTP_PDUSess= ion_ExtensionHeader(pdu_type=3D0, qos_flow=3D0x34)/IP()/TCP()/Raw('x'*20) + + send mismatched packets, check the packet is distributed by RSS without= FDIR matched ID:: + + p_gtpu2 =3D Ether(src=3D"a4:bf:01:51:27:ca", dst=3D"00:11:22:33:44:55"= )/IPv6(src=3D"2001::3", dst=3D"CDCD:910A:2222:5498:8475:1111:3900:2020")/UD= P(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x12345678)/GTP_PDUSess= ion_ExtensionHeader(pdu_type=3D0, qos_flow=3D0x34)/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=3D0x1. + send mismatched packets, check the packets are distributed by RSS witho= ut 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=3D0x1. + send mismatched packets, check the packets are redirected by RSS withou= t 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=3D0x1. + send mismatched packets, check the packets are redirected by RSS withou= t 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 +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D + +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:91= 0A:2222:5498:8475:1111:3900:2020 / udp / gtpu teid is 0x12345678 / end acti= ons queue index 10 / mark id 1 / end + +2. send matched packets, check the packets are distributed to queue 10 wit= h FDIR matched ID=3D0x1. + + send mismatched packets, check the packets are distributed by RSS witho= ut 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:9= 10A:2222:5498:8475:1111:3900:2020 / udp / gtpu teid is 0x12345678 / end act= ions 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=3D0x1. + send mismatched packets, check the packets are distributed by RSS witho= ut 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:9= 10A:2222:5498:8475:1111:3900:2020 / udp / gtpu teid is 0x12345678 / end act= ions passthru / mark id 1 / end + +2. send matched packets, check the packets are redirected by RSS with FDIR= matched ID=3D0x1. + send mismatched packets, check the packets are redirected by RSS withou= t 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:9= 10A:2222:5498:8475:1111:3900:2020 / udp / gtpu teid is 0x12345678 / end act= ions 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:9= 10A:2222:5498:8475:1111:3900:2020 / udp / gtpu teid is 0x12345678 / end act= ions mark id 1 / rss / end + +2. send matched packets, check the packets are redirected by RSS with FDIR= matched ID=3D0x1. + send mismatched packets, check the packets are redirected by RSS withou= t 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:84= 75:1111:3900:2020 / udp / gtpu / end actions queue index 1 / mark id 3 / en= d + +2. send matched packets, check the packet is redirected to queue 1 with FD= IR matched ID=3D0x3:: + + p_gtpu1 =3D Ether(src=3D"a4:bf:01:51:27:ca", dst=3D"00:11:22:33:44:55"= )/IPv6(src=3D"2001::2", dst=3D"CDCD:910A:2222:5498:8475:1111:3900:2020")/UD= P(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x12345678)/IP()/TCP()/= Raw('x'*20) + + send mismatched packets, check the packet is distributed by RSS without= FDIR matched ID:: + + p_gtpu2 =3D Ether(src=3D"a4:bf:01:51:27:ca", dst=3D"00:11:22:33:44:55"= )/IPv6(src=3D"2001::2", dst=3D"CDCD:910A:2222:5498:8475:1111:3900:2021")/UD= P(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x12345678)/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:8= 475: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=3D0x1. + send mismatched packets, check the packets are distributed by RSS witho= ut 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:8= 475: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=3D0x1. + send mismatched packets, check the packets are redirected by RSS withou= t 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:8= 475: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:8= 475: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=3D0x1. + send mismatched packets, check the packets are redirected by RSS withou= t 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 FD= IR matched ID=3D0x3:: + + p_gtpu1 =3D Ether(src=3D"a4:bf:01:51:27:ca", dst=3D"00:11:22:33:44:55"= )/IPv6(src=3D"2001::2", dst=3D"CDCD:910A:2222:5498:8475:1111:3900:2020")/UD= P(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x12345678)/IP()/TCP()/= Raw('x'*20) + + send mismatched packets, check the packet is distributed by RSS without= FDIR matched ID:: + + p_gtpu2 =3D Ether(src=3D"a4:bf:01:51:27:ca", dst=3D"00:11:22:33:44:55"= )/IPv6(src=3D"2001::3", dst=3D"CDCD:910A:2222:5498:8475:1111:3900:2020")/UD= P(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x12345678)/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=3D0x1. + send mismatched packets, check the packets are distributed by RSS witho= ut 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=3D0x1. + send mismatched packets, check the packets are redirected by RSS withou= t 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=3D0x1. + send mismatched packets, check the packets are redirected by RSS withou= t 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. + =20 Test case: L2 Ethertype pattern =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D --=20 2.7.4