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 6B6BFA054E; Sat, 15 Feb 2020 11:22:08 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 1DE3CF72; Sat, 15 Feb 2020 11:22:08 +0100 (CET) Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by dpdk.org (Postfix) with ESMTP id B6F73DE3 for ; Sat, 15 Feb 2020 11:22:05 +0100 (CET) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga106.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 15 Feb 2020 02:22:03 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.70,444,1574150400"; d="scan'208";a="234728939" Received: from fmsmsx108.amr.corp.intel.com ([10.18.124.206]) by orsmga003.jf.intel.com with ESMTP; 15 Feb 2020 02:22:03 -0800 Received: from fmsmsx607.amr.corp.intel.com (10.18.126.87) by FMSMSX108.amr.corp.intel.com (10.18.124.206) with Microsoft SMTP Server (TLS) id 14.3.439.0; Sat, 15 Feb 2020 02:22:02 -0800 Received: from fmsmsx607.amr.corp.intel.com (10.18.126.87) by fmsmsx607.amr.corp.intel.com (10.18.126.87) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Sat, 15 Feb 2020 02:22:02 -0800 Received: from shsmsx154.ccr.corp.intel.com (10.239.6.54) by fmsmsx607.amr.corp.intel.com (10.18.126.87) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5 via Frontend Transport; Sat, 15 Feb 2020 02:22:01 -0800 Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.222]) by SHSMSX154.ccr.corp.intel.com ([169.254.7.141]) with mapi id 14.03.0439.000; Sat, 15 Feb 2020 18:21:59 +0800 From: "Tu, Lijuan" To: "Peng, Yuan" , "dts@dpdk.org" CC: "Peng, Yuan" Thread-Topic: [dts] [PATCH]test_plans: add passthru to cvl_fdir_test_plan.rst Thread-Index: AQHV4xHQge4Q8YMY7EqrPiZH5YWULagcDVMQ Date: Sat, 15 Feb 2020 10:21:59 +0000 Message-ID: <8CE3E05A3F976642AAB0F4675D0AD20E0BBC853D@SHSMSX101.ccr.corp.intel.com> References: <1581669677-128068-1-git-send-email-yuan.peng@intel.com> In-Reply-To: <1581669677-128068-1-git-send-email-yuan.peng@intel.com> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.2.0.6 dlp-reaction: no-action x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dts] [PATCH]test_plans: add passthru to cvl_fdir_test_plan.rst 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" Applied, thanks > -----Original Message----- > From: dts [mailto:dts-bounces@dpdk.org] On Behalf Of Peng Yuan > Sent: Friday, February 14, 2020 4:41 PM > To: dts@dpdk.org > Cc: Peng, Yuan > Subject: [dts] [PATCH]test_plans: add passthru to cvl_fdir_test_plan.rst >=20 > Add passthru action and modify some GTPU input set format >=20 > Signed-off-by: Peng Yuan >=20 > diff --git a/test_plans/cvl_fdir_test_plan.rst > b/test_plans/cvl_fdir_test_plan.rst > index 79e9da4..0b0f4de 100644 > --- a/test_plans/cvl_fdir_test_plan.rst > +++ b/test_plans/cvl_fdir_test_plan.rst > @@ -34,9 +34,9 @@ > CVL:Classification:Flow Director > =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 > -* Enable fdir filter for IPv4/IPv6 + TCP/UDP/SCTP (OS default package) > -* Enable fdir filter for UDP tunnel: Vxlan / NVGRE (OS default package) > -* Enable fdir filter for GTP (comm #1 package) > +Enable fdir filter for IPv4/IPv6 + TCP/UDP/SCTP (OS default package) > +Enable fdir filter for UDP tunnel: Vxlan / NVGRE (OS default package) > +Enable fdir filter for GTP (comm #1 package) >=20 > Pattern and input set > --------------------- > @@ -77,43 +77,36 @@ 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_IPV4_PAY | [TEID]= , > [QFI] | > + | IPv4 transport, IPv4 payload | MAC_IPV4_GTPU | [TEID] > | > +------------------------------+----------------------------+-------= --------------------------- > ---------------------------------------------+ > - | | MAC_IPV4_GTPU_IPV4_UDP | [TEID]= , [QFI] > | > - +------------------------------+----------------------------+-------= --------------------------- > ---------------------------------------------+ > - | | MAC_IPV4_GTPU_IPV4_TCP | [TEID]= , [QFI] > | > - +------------------------------+----------------------------+-------= --------------------------- > ---------------------------------------------+ > - | | MAC_IPV4_GTPU_IPV4_SCTP | [TEID]= , [QFI] > | > + | | MAC_IPV4_GTPU_EH | [TEID]= , [QFI] > | > +------------------------------+----------------------------+-------= --------------------------- > ---------------------------------------------+ >=20 > -.. note:: > - > - 1. Enable fdir filter for UDP tunnel: Vxlan / NVGRE (OS default pack= age) , > share code not > - support outer header as inputset, so Out Dest IP and VNI/GRE_KEY = may > not able to be implemented. > - 2. For VXLAN case MAC_IPV4_TUN_*** means > MAC_IPV4_UDP_VXLAN_*** > - 3. For Dest MAC, there is package /sharecode limitation on multicast= dst > mac support for FDIR > +Notes: 1. Enable fdir filter for UDP tunnel: Vxlan / NVGRE (OS default > package) , share code not > + support outer header as inputset, so Out Dest IP and VNI/GRE_K= EY > may not able to be implemented. > + 2. For VXLAN case MAC_IPV4_TUN_*** means > MAC_IPV4_UDP_VXLAN_*** > + 3. For Dest MAC, there is package /sharecode limitation on > +multicast dst mac support for FDIR >=20 > Action type > ----------- >=20 > - * queue index > - * drop > - * rss queues > - * count identifier 0x1234 shared on|off > - * mark id > + queue index > + drop > + rss queues > + passthru > + count identifier 0x1234 shared on|off > + mark id >=20 >=20 > Prerequisites > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >=20 > 1. Hardware: > - > - - columbiaville_25g/columbiaville_100g > + columbiaville_25g/columbiaville_100g >=20 > 2. Software: > - > - - DPDK: http://dpdk.org/git/dpdk > - - scapy: http://www.secdev.org/projects/scapy/ > + DPDK: http://dpdk.org/git/dpdk > + scapy: http://www.secdev.org/projects/scapy/ >=20 > 3. Copy specific ice package to /lib/firmware/intel/ice/ddp/ice.pkg > Then reboot server, and compile DPDK @@ -133,9 +126,7 @@ > Prerequisites > testpmd> port config 0 udp_tunnel_port add vxlan 4789 > testpmd> start >=20 > -.. note:: > - > - if need two ports environment, launch ``testpmd`` with the following > arguments:: > + Notes: if need two ports environment, launch ``testpmd`` with the > following arguments:: >=20 > ./testpmd -c 0xff -n 6 -w 86:00.0 -w 86:00.1 -- -i --portmask=3D0xff= --rxq=3D64 - > -txq=3D64 --port-topology=3Dloop >=20 > @@ -192,8 +183,8 @@ Send packets >=20 > matched packets:: >=20 > - pkt1 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP(src=3D"192.168.0.20",dst=3D"192.168.0= .21", > proto=3D255, ttl=3D2, tos=3D4) / Raw('x' * 80) > - pkt2 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP(src=3D"192.168.0.20",dst=3D"192.168.0= .21", > frag=3D1, proto=3D255, ttl=3D2, tos=3D4)/Raw('x' * 80) > + > sendp([Ether(dst=3D"00:11:22:33:44:55")/IP(src=3D"192.168.0.20",dst=3D"19= 2.168.0 > .21", proto=3D255, ttl=3D2, tos=3D4) / Raw('x' * 80)],iface=3D"enp175s0f0= ") > + > + sendp([Ether(dst=3D"00:11:22:33:44:55")/IP(src=3D"192.168.0.20",dst=3D"= 192.1 > + 68.0.21", frag=3D1, proto=3D255, ttl=3D2, tos=3D4)/Raw('x' * > + 80)],iface=3D"enp175s0f0") >=20 > mismatched packets:: >=20 > @@ -393,7 +384,7 @@ Send packets >=20 > sendp([Ether(dst=3D"00:11:22:33:44:55")/IP(dst=3D'192.168.1.15')/UDP(spor= t=3D200, > dport=3D4790)/VXLAN(flags=3D0xc)/IP(src=3D'192.168.0.20', > dst=3D'192.168.0.21')/UDP(sport=3D22, dport=3D23)/Raw('x' * 80)], > iface=3D"enp175s0f0") >=20 > sendp([Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/VXLAN()/IP(dst=3D"192.= 168. > 0.21", src=3D"192.168.0.20")/SCTP(sport=3D22,dport=3D23)/("X"*480)], > iface=3D"enp175s0f0") >=20 > -* MAC_IPV4_GTPU_IPV4_PAY > +* MAC_IPV4_GTPU_EH >=20 > matched packets:: >=20 > @@ -402,14 +393,43 @@ Send packets > p_gtpu3 =3D Ether(src=3D"a4:bf:01:51:27:ca", > dst=3D"00:00:00:00:01:03")/IP(src=3D"192.168.0.20", > dst=3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, > teid=3D0x12345678)/GTP_PDUSession_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:00:00:00:01:03")/IP(src=3D"192.168.0.20", > dst=3D"192.168.0.21")/UDP( dport=3D2152)/GTP_U_Header(gtp_type=3D255, > teid=3D0x12345678)/GTP_PDUSession_ExtensionHeader(pdu_type=3D0, > qos_flow=3D0x34)/IP()/TCP(sport=3D22, dport=3D23)/Raw('x'*20) > p_gtpu5 =3D Ether(src=3D"a4:bf:01:51:27:ca", > dst=3D"00:00:00:00:01:03")/IP(src=3D"192.168.0.20", > dst=3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, > teid=3D0x12345678)/GTP_PDUSession_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:00:00:00:01:03")/IP(src=3D"192.168.0.20", > dst=3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, > teid=3D0x12345678)/GTP_PDUSession_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:00:00:00:01:03")/IP(src=3D"192.168.0.20", > dst=3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, > teid=3D0x12345678)/GTP_PDUSession_ExtensionHeader(pdu_type=3D0, > qos_flow=3D0x34)/IPv6()/IPv6ExtHdrFragment(1000)/Raw('x'*20) > + p_gtpu8 =3D Ether(src=3D"a4:bf:01:51:27:ca", > dst=3D"00:00:00:00:01:03")/IP(src=3D"192.168.0.20", > dst=3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, > teid=3D0x12345678)/GTP_PDUSession_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:00:00:00:01:03")/IP(src=3D"192.168.0.20", > dst=3D"192.168.0.21")/UDP( dport=3D2152)/GTP_U_Header(gtp_type=3D255, > teid=3D0x12345678)/GTP_PDUSession_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:00:00:00:01:03")/IP(src=3D"192.168.0.20", > + dst=3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, > + teid=3D0x12345678)/GTP_PDUSession_ExtensionHeader(pdu_type=3D0, > + qos_flow=3D0x34)/IPv6()/ICMP()/Raw('x'*20) >=20 > mismatched packets:: >=20 > - p_gtpu6 =3D Ether(src=3D"a4:bf:01:51:27:ca", > dst=3D"00:00:00:00:01:03")/IP(src=3D"192.168.0.20", > dst=3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, > teid=3D0x12345678)/GTP_PDUSession_ExtensionHeader(pdu_type=3D0, > qos_flow=3D0x34)/IP()/SCTP()/Raw('x'*20) > - p_gtpu7 =3D Ether(src=3D"a4:bf:01:51:27:ca", > dst=3D"00:00:00:00:01:03")/IP(src=3D"192.168.0.20", > dst=3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, > teid=3D0x1234567)/GTP_PDUSession_ExtensionHeader(pdu_type=3D0, > qos_flow=3D0x34)/IP()/Raw('x'*20) > - p_gtpu8 =3D Ether(src=3D"a4:bf:01:51:27:ca", > dst=3D"00:00:00:00:01:03")/IP(src=3D"192.168.0.20", > dst=3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, > teid=3D0x12345678)/GTP_PDUSession_ExtensionHeader(pdu_type=3D0, > qos_flow=3D0x35)/IP()/Raw('x'*20) > - p_gtpu9 =3D Ether(src=3D"a4:bf:01:51:27:ca", > dst=3D"00:00:00:00:01:03")/IP(src=3D"192.168.0.20", > dst=3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, > teid=3D0x12345678)/GTP_PDUSession_ExtensionHeader(pdu_type=3D0, > qos_flow=3D0x34)/IPv6()/Raw('x'*20) > + p_gtpu11 =3D Ether(src=3D"a4:bf:01:51:27:ca", > dst=3D"00:00:00:00:01:03")/IP(src=3D"192.168.0.20", > dst=3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, > teid=3D0x12345678)/GTP_PDUSession_ExtensionHeader(pdu_type=3D0, > qos_flow=3D0x34)/IP()/SCTP()/Raw('x'*20) > + p_gtpu12 =3D Ether(src=3D"a4:bf:01:51:27:ca", > dst=3D"00:00:00:00:01:03")/IP(src=3D"192.168.0.20", > dst=3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, > teid=3D0x12345678)/GTP_PDUSession_ExtensionHeader(pdu_type=3D0, > qos_flow=3D0x34)/IPv6()/SCTP()/Raw('x'*20) > + p_gtpu13 =3D Ether(src=3D"a4:bf:01:51:27:ca", > dst=3D"00:00:00:00:01:03")/IP(src=3D"192.168.0.20", > dst=3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, > teid=3D0x1234567)/GTP_PDUSession_ExtensionHeader(pdu_type=3D0, > qos_flow=3D0x34)/IP()/Raw('x'*20) > + p_gtpu14 =3D Ether(src=3D"a4:bf:01:51:27:ca", > dst=3D"00:00:00:00:01:03")/IP(src=3D"192.168.0.20", > dst=3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, > teid=3D0x12345678)/GTP_PDUSession_ExtensionHeader(pdu_type=3D0, > qos_flow=3D0x35)/IP()/Raw('x'*20) > + p_gtpu15 =3D Ether(src=3D"a4:bf:01:51:27:ca", > dst=3D"00:00:00:00:01:03")/IP(src=3D"192.168.0.20", > dst=3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, > teid=3D0x12345678)/IP()/Raw('x'*20) > + p_gtpu16 =3D Ether(src=3D"a4:bf:01:51:27:ca", > + dst=3D"00:00:00:00:01:03")/IP(src=3D"192.168.0.20", > + dst=3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, > + teid=3D0x12345678)/GTP_PDUSession_ExtensionHeader(pdu_type=3D0, > + qos_flow=3D0x34)/Raw('x'*20) >=20 > +* MAC_IPV4_GTPU > + > + matched packets:: > + > + p_gtpu1 =3D Ether(src=3D"a4:bf:01:51:27:ca", > dst=3D"00:00:00:00:01:03")/IP(src=3D"192.168.0.20", > dst=3D"192.168.0.21")/UDP(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:00:00:00:01:03")/IP(src=3D"192.168.0.20", > dst=3D"192.168.0.21")/UDP(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:00:00:00:01:03")/IP(src=3D"192.168.0.20", > dst=3D"192.168.0.21")/UDP(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:00:00:00:01:03")/IP(src=3D"192.168.0.20", > dst=3D"192.168.0.21")/UDP( dport=3D2152)/GTP_U_Header(gtp_type=3D255, > teid=3D0x12345678)/IP()/TCP(sport=3D22, dport=3D23)/Raw('x'*20) > + p_gtpu5 =3D Ether(src=3D"a4:bf:01:51:27:ca", > dst=3D"00:00:00:00:01:03")/IP(src=3D"192.168.0.20", > dst=3D"192.168.0.21")/UDP(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:00:00:00:01:03")/IP(src=3D"192.168.0.20", > dst=3D"192.168.0.21")/UDP(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:00:00:00:01:03")/IP(src=3D"192.168.0.20", > dst=3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, > teid=3D0x12345678)/IPv6()/IPv6ExtHdrFragment(1000)/Raw('x'*20) > + p_gtpu8 =3D Ether(src=3D"a4:bf:01:51:27:ca", > dst=3D"00:00:00:00:01:03")/IP(src=3D"192.168.0.20", > dst=3D"192.168.0.21")/UDP(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:00:00:00:01:03")/IP(src=3D"192.168.0.20", > dst=3D"192.168.0.21")/UDP( 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:00:00:00:01:03")/IP(src=3D"192.168.0.20", > dst=3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, > teid=3D0x12345678)/IPv6()/ICMP()/Raw('x'*20) > + p_gtpu11 =3D Ether(src=3D"a4:bf:01:51:27:ca", > + dst=3D"00:00:00:00:01:03")/IP(src=3D"192.168.0.20", > + dst=3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, > + teid=3D0x12345678)/GTP_PDUSession_ExtensionHeader(pdu_type=3D0, > + qos_flow=3D0x35)/IP()/Raw('x'*20) > + > + mismatched packets:: > + > + p_gtpu12 =3D Ether(src=3D"a4:bf:01:51:27:ca", > dst=3D"00:00:00:00:01:03")/IP(src=3D"192.168.0.20", > dst=3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, > teid=3D0x12345678)/Raw('x'*20) > + p_gtpu13 =3D Ether(src=3D"a4:bf:01:51:27:ca", > dst=3D"00:00:00:00:01:03")/IP(src=3D"192.168.0.20", > dst=3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, > teid=3D0x12345678)/IP()/SCTP()/Raw('x'*20) > + p_gtpu14 =3D Ether(src=3D"a4:bf:01:51:27:ca", > dst=3D"00:00:00:00:01:03")/IP(src=3D"192.168.0.20", > dst=3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_Header(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:00:00:00:01:03")/IP(src=3D"192.168.0.20", > + dst=3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, > + teid=3D0x1234567)/IP()/Raw('x'*20) >=20 > Test case: MAC_IPV4_PAY queue index > =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 > @@ -491,11 +511,10 @@ Test case: MAC_IPV4_TCP queue index >=20 > 1. create filter rules:: >=20 > - flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / ipv4 sr= c is > 192.168.0.20 dst is 192.168.0.21 ttl is 2 tos is 4 / tcp src is 22 dst is= 23 / end > actions queue index 63 / end > + flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / ipv4 > + src is 192.168.0.20 dst is 192.168.0.21 ttl is 2 tos is 4 / tcp src is > + 22 dst is 23 / end actions queue index 63 / end >=20 > -2. send matched packets, check the packets is distributed to queue 63:: > - > - send mismatched packets, check the packets are not distributed to qu= eue > 63. > +2. send matched packets, check the packets is distributed to queue 63. > + send mismatched packets, check the packets are not distributed to que= ue > 63. >=20 > 3. verify rules can be listed and destroyed:: >=20 > @@ -844,6 +863,388 @@ Test case: queue index wrong parameters > flow 1 can be created successfully, > flow 2 and flow 3 failed to be created cause of confliction. >=20 > +Test case: MAC_IPV4_PAY passthru/count > +=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=3D=3D=3D > + > +1. create filter rules:: > + > + flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / ipv4 > + src is 192.168.0.20 dst is 192.168.0.21 proto is 255 ttl is 2 tos is 4 > + / end actions passthru / count / end > + > +2. send matched packets, check the packets are redirected by RSS > + send mismatched packets, check the packets are redirected by RSS > + check the count number:: > + > + flow query 0 0 count > + count: > + hits_set: 1 > + bytes_set: 0 > + hits: 2 > + bytes: 0 > + > +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 > + > + verify matched packets are redirected to the same queue. > + check there is no rule listed. > + > +Test case: MAC_IPV4_PAY passthru/mark > +=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=3D=3D > + > +1. create filter rules:: > + > + flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / ipv4 > + src is 192.168.0.20 dst is 192.168.0.21 proto is 255 ttl is 2 tos is 4 > + / end actions passthru / mark / end > + > +2. send matched packets, check the packets are redirected by RSS with FD= IR > ID. > + send mismatched packets, check the packets are redirected by RSS > without FDIR 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 > + > + verify matched packets are redirected to the same queue without FDIR = ID. > + check there is no rule listed. > + > +Test case: MAC_IPV4_UDP passthru/mark > +=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=3D=3D > + > +1. create filter rules:: > + > + flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / ipv4 > + src is 192.168.0.20 dst is 192.168.0.21 ttl is 2 tos is 4 / udp src is > + 22 dst is 23 / end actions passthru / mark / end > + > +2. send matched packets, check the packets are redirected by RSS with FD= IR > ID. > + send mismatched packets, check the packets are redirected by RSS > without FDIR 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 > + > + verify matched packet is redirected to the same queue without FDIR ID= . > + check there is no rule listed. > + > +Test case: MAC_IPV4_TCP passthru/mark > +=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=3D=3D > + > +1. create filter rules:: > + > + flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / ipv4 > + src is 192.168.0.20 dst is 192.168.0.21 ttl is 2 tos is 4 / tcp src is > + 22 dst is 23 / end actions passthru / mark / end > + > +2. send matched packets, check the packets are redirected by RSS with FD= IR > ID. > + send mismatched packets, check the packets are redirected by RSS > without FDIR 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 > + > + verify matched packet is redirected to the same queue without FDIR ID= . > + check there is no rule listed. > + > +Test case: MAC_IPV4_SCTP passthru/mark > +=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=3D=3D=3D > + > +1. create filter rules:: > + > + flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / ipv4 > + src is 192.168.0.20 dst is 192.168.0.21 ttl is 2 tos is 4 / sctp src > + is 22 dst is 23 tag is 1 / end actions passthru / mark / end > + > +2. send matched packets, check the packets are redirected by RSS with FD= IR > ID. > + send mismatched packets, check the packets are redirected by RSS > without FDIR 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 > + > + verify matched packet is redirected to the same queue without FDIR ID= . > + check there is no rule listed. > + > +Test case: MAC_IPV6_PAY passthru/mark > +=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=3D=3D > + > +1. create filter rules:: > + > + flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / ipv6 > + dst is CDCD:910A:2222:5498:8475:1111:3900:2020 src is 2001::2 proto is > + 1 hop is 2 tc is 1 / end actions passthru / mark / end > + > +2. send matched packets, check the packets are redirected by RSS with FD= IR > ID. > + send mismatched packets, check the packets are redirected by RSS > without FDIR 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 > + > + verify matched packet is redirected to the same queue without FDIR ID= . > + check there is no rule listed. > + > +Test case: MAC_IPV6_UDP passthru/mark > +=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=3D=3D > + > +1. create filter rules:: > + > + flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / ipv6 > + dst is CDCD:910A:2222:5498:8475:1111:3900:2020 src is 2001::2 hop is 2 > + tc is 1 / udp src is 22 dst is 23 / end actions passthru / mark / end > + > +2. send matched packets, check the packets are redirected by RSS with FD= IR > ID. > + send mismatched packets, check the packets are redirected by RSS > without FDIR 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 > + > + verify matched packet is redirected to the same queue without FDIR ID= . > + check there is no rule listed. > + > +Test case: MAC_IPV6_TCP passthru/mark > +=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=3D=3D > + > +1. create filter rules:: > + > + flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / ipv6 > + dst is CDCD:910A:2222:5498:8475:1111:3900:2020 src is 2001::2 hop is 2 > + tc is 1 / tcp src is 22 dst is 23 / end actions passthru / mark / end > + > +2. send matched packets, check the packets are redirected by RSS with FD= IR > ID. > + send mismatched packets, check the packets are redirected by RSS > without FDIR 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 > + > + verify matched packet is redirected to the same queue without FDIR ID= . > + check there is no rule listed. > + > +Test case: MAC_IPV6_SCTP passthru/mark > +=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=3D=3D=3D > + > +1. create filter rules:: > + > + flow create 0 ingress pattern eth dst is 00:11:22:33:44:55 / ipv6 > + dst is CDCD:910A:2222:5498:8475:1111:3900:2020 src is 2001::2 hop is 2 > + tc is 1 / sctp src is 22 dst is 23 / end actions passthru / mark / end > + > +2. send matched packets, check the packets are redirected by RSS with FD= IR > ID. > + send mismatched packets, check the packets are redirected by RSS > without FDIR 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 > + > + verify matched packet is redirected to the same queue without FDIR ID= . > + check there is no rule listed. > + > +Test case: MAC_IPV4_TUN_IPV4_PAY passthru/mark > +=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=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > + > +1. create filter rules:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / vxlan / ipv4 src > + is 192.168.0.20 dst is 192.168.0.21 / end actions passthru / mark / > + end > + > +2. send matched packets, check the packets are redirected by RSS with FD= IR > ID. > + send mismatched packets, check the packets are redirected by RSS > without FDIR 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 > + > + verify matched packet is redirected to the same queue without FDIR ID= . > + check there is no rule listed. > + > +Test case: MAC_IPV4_TUN_IPV4_UDP passthru/mark > +=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=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > + > +1. create filter rules:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / vxlan / ipv4 src > + is 192.168.0.20 dst is 192.168.0.21 / udp src is 22 dst is 23 / end > + actions passthru / mark / end > + > +2. send matched packets, check the packets are redirected by RSS with FD= IR > ID. > + send mismatched packets, check the packets are redirected by RSS > without FDIR 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 > + > + verify matched packet is redirected to the same queue without FDIR ID= . > + check there is no rule listed. > + > +Test case: MAC_IPV4_TUN_IPV4_TCP passthru/mark > +=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=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > + > +1. create filter rules:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / vxlan / ipv4 src > + is 192.168.0.20 dst is 192.168.0.21 / tcp src is 22 dst is 23 / end > + actions passthru / mark / end > + > +2. send matched packets, check the packets are redirected by RSS with FD= IR > ID. > + send mismatched packets, check the packets are redirected by RSS > without FDIR 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 > + > + verify matched packet is redirected to the same queue without FDIR ID= . > + check there is no rule listed. > + > +Test case: MAC_IPV4_TUN_IPV4_SCTP passthru/mark > +=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=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > + > +1. create filter rules:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / vxlan / ipv4 src > + is 192.168.0.20 dst is 192.168.0.21 / sctp src is 22 dst is 23 / end > + actions passthru / mark / end > + > +2. send matched packets, check the packets are redirected by RSS with FD= IR > ID. > + send mismatched packets, check the packets are redirected by RSS > without FDIR 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 > + > + verify matched packet is redirected to the same queue without FDIR ID= . > + check there is no rule listed. > + > +Test case: MAC_IPV4_TUN_MAC_IPV4_PAY passthru/mark > +=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=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D > + > +1. create filter rules:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / vxlan / eth / ipv4 > + src is 192.168.0.20 dst is 192.168.0.21 / end actions passthru / mark > + / end > + > +2. send matched packets, check the packets are redirected by RSS with FD= IR > ID. > + send mismatched packets, check the packets are redirected by RSS > without FDIR 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 > + > + verify matched packet is redirected to the same queue without FDIR ID= . > + check there is no rule listed. > + > +Test case: MAC_IPV4_TUN_MAC_IPV4_UDP passthru/mark > +=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=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D > + > +1. create filter rules:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / vxlan / eth / ipv4 > + src is 192.168.0.20 dst is 192.168.0.21 / udp src is 22 dst is 23 / > + end actions passthru / mark / end > + > +2. send matched packets, check the packets are redirected by RSS with FD= IR > ID. > + send mismatched packets, check the packets are redirected by RSS > without FDIR 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 > + > + verify matched packet is redirected to the same queue without FDIR ID= . > + check there is no rule listed. > + > +Test case: MAC_IPV4_TUN_MAC_IPV4_TCP passthru/mark > +=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=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D > + > +1. create filter rules:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / vxlan / eth / ipv4 > + src is 192.168.0.20 dst is 192.168.0.21 / tcp src is 22 dst is 23 / > + end actions passthru / mark / end > + > +2. send matched packets, check the packets are redirected by RSS with FD= IR > ID. > + send mismatched packets, check the packets are redirected by RSS > without FDIR 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 > + > + verify matched packet is redirected to the same queue without FDIR ID= . > + check there is no rule listed. > + > +Test case: MAC_IPV4_TUN_MAC_IPV4_SCTP passthru/mark > +=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=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D > + > +1. create filter rules:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / vxlan / eth / ipv4 > + src is 192.168.0.20 dst is 192.168.0.21 / sctp src is 22 dst is 23 / > + end actions passthru / mark / end > + > +2. send matched packets, check the packets are redirected by RSS with FD= IR > ID. > + send mismatched packets, check the packets are redirected by RSS > without FDIR 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 > + > + verify matched packet is redirected to the same queue without FDIR ID= . > + check there is no rule listed. > + > Test case: MAC_IPV4_PAY drop > =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 > @@ -1577,12 +1978,12 @@ all the above five rules are failed to created. > send matched packets, check the packets are distributed to queue 0-63= . > send mismatched packets, check the packets are distributed to queue 0= -63 > too. >=20 > -Test case: MAC_IPV4_GTPU_IPV4_PAY queue index - > =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=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > +Test case: MAC_IPV4_GTPU_EH queue index > +=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=3D=3D=3D=3D >=20 > 1. create filter rules:: >=20 > - flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x1234= 5678 / > gtp_psc qfi is 0x34 / ipv4 / end actions queue index 1 / end > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is > + 0x12345678 / gtp_psc qfi is 0x34 / end actions queue index 1 / end >=20 > 2. send matched packets, check the packets are distributed to queue 1. > send mismatched packets, check the packets are not distributed to que= ue 1. > @@ -1599,12 +2000,122 @@ Test case: MAC_IPV4_GTPU_IPV4_PAY queue > index > verify matched packets are not distributed to queue 1. > Then check there is no rule listed. >=20 > -Test case: MAC_IPV4_GTPU_IPV4_PAY drop > +Test case: MAC_IPV4_GTPU_EH passthru/mark > +=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=3D=3D=3D=3D=3D=3D > + > +1. create filter rules:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is > + 0x12345678 / gtp_psc qfi is 0x34 / end actions passthru / mark / end > + > +2. send matched packets, check the packets are redirected by RSS with FD= IR > ID. > + send mismatched packets, check the packets are redirected by RSS > without FDIR 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 > + > + verify matched packets are redirected to the same queue without FDIR = ID. > + check there is no rule listed. > + > +Test case: MAC_IPV4_GTPU_EH drop > +=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 > + > +1. create filter rules:: > + > + flow create 0 ingress pattern eth / ipv4 / 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. > + > +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 > + > + verify matched packets are not dropped. > + Then check there is no rule listed. > + > +Test case: MAC_IPV4_GTPU_EH queue group > +=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=3D=3D=3D=3D > + > +1. create filter rules:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is > + 0x12345678 / gtp_psc qfi is 0x34 / end actions rss queues 0 1 end / > + end > + > +2. send matched packets, check the packets are distributed to queue grou= p. > + send mismatched packets, check the packets are not distributed to que= ue > group. > + > +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 > + > + verify matched packets are not distributed to queue group. > + Then check there is no rule listed. > + > +Test case: MAC_IPV4_GTPU queue index > +=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=3D > + > +1. create filter rules:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is > + 0x12345678 / end actions queue index 1 / end > + > +2. send matched packets, check the packets are distributed to queue 1. > + send mismatched packets, check the packets are not distributed to que= ue > 1. > + > +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 > + > + verify matched packets are not distributed to queue 1. > + Then check there is no rule listed. > + > +Test case: MAC_IPV4_GTPU passthru/mark > =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=3D=3D=3D >=20 > 1. create filter rules:: >=20 > - flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x1234= 5678 / > gtp_psc qfi is 0x34 / ipv4 / end actions drop / end > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is > + 0x12345678 / end actions passthru / mark / end > + > +2. send matched packets, check the packets are redirected by RSS with FD= IR > ID. > + send mismatched packets, check the packets are redirected by RSS > without FDIR 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 > + > + verify matched packets are redirected to the same queue without FDIR = ID. > + check there is no rule listed. > + > +Test case: MAC_IPV4_GTPU drop > +=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 > + > +1. create filter rules:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is > + 0x12345678 / end actions drop / end >=20 > 2. send matched packets, check the packets are dropped. > send mismatched packets, check the packets are not dropped. > @@ -1621,12 +2132,12 @@ Test case: MAC_IPV4_GTPU_IPV4_PAY drop > verify matched packets are not dropped. > Then check there is no rule listed. >=20 > -Test case: MAC_IPV4_GTPU_IPV4_PAY queue group - > =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=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > +Test case: MAC_IPV4_GTPU queue group > +=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=3D >=20 > 1. create filter rules:: >=20 > - flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x1234= 5678 / > gtp_psc qfi is 0x34 / ipv4 / end actions rss queues 0 1 end / end > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is > + 0x12345678 / end actions rss queues 0 1 end / end >=20 > 2. send matched packets, check the packets are distributed to queue grou= p. > send mismatched packets, check the packets are not distributed to que= ue > group. > @@ -1643,11 +2154,11 @@ Test case: MAC_IPV4_GTPU_IPV4_PAY queue > group > verify matched packets are not distributed to queue group. > Then check there is no rule listed. >=20 > -Test case: MAC_IPV4_GTPU_IPV4_PAY mark/count/query - > =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=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D > +Test case: MAC_IPV4_GTPU_EH mark/count/query > +=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=3D=3D=3D=3D=3D=3D=3D=3D=3D > 1. create filter rules:: >=20 > - flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x1234= 5678 / > gtp_psc qfi is 0x34 / ipv4 / end actions queue index 2 / mark id 2 / coun= t / > end > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is > + 0x12345678 / gtp_psc qfi is 0x34 / end actions queue index 2 / mark id > + 2 / count / end >=20 > 2. send matched packets, check the packets are distributed to queue 2, t= he > FDIR=3D0x2. > send mismatched packets, check the packets are not distributed to que= ue 2, > no FDIR. > @@ -1657,7 +2168,7 @@ Test case: MAC_IPV4_GTPU_IPV4_PAY > mark/count/query > count: > hits_set: 1 > bytes_set: 0 > - hits: 5 > + hits: 10 > bytes: 0 >=20 > 3. verify rules can be listed and destroyed:: > @@ -1672,20 +2183,21 @@ Test case: MAC_IPV4_GTPU_IPV4_PAY > mark/count/query > verify matched packets are not distributed to queue 2, and no FDIR. > Then check there is no rule listed. >=20 > -Test case: MAC_IPV4_GTPU_IPV4_PAY TEID mark/count/query - > =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=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D > +Test case: MAC_IPV4_GTPU mark/count/query > +=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=3D=3D=3D=3D=3D=3D >=20 > 1. create filter rules on port 1:: >=20 > - flow create 1 ingress pattern eth / ipv4 / udp / gtpu teid is 0x1234= 5678 / > gtp_psc / ipv4 / end actions rss queues 0 1 2 3 4 5 6 7 8 9 10 11 12 13 1= 4 15 16 > 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 4= 1 42 > 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 end / mark= id > 100 / count / end > + flow create 1 ingress pattern eth / ipv4 / udp / gtpu teid is > + 0x12345678 / end actions rss queues 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 > + 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 > + 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 > + 61 62 63 end / mark id 100 / count / end >=20 > 2. send matched packets, check the packets are distributed to queue in 0= -63, > the FDIR=3D0x64:: >=20 > p_gtpu1 =3D Ether(src=3D"a4:bf:01:51:27:ca", > dst=3D"00:00:00:00:01:03")/IP(src=3D"192.168.0.20", > dst=3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, > teid=3D0x12345678)/GTP_PDUSession_ExtensionHeader(pdu_type=3D0, > qos_flow=3D0x35)/IP()/Raw('x'*20) > + p_gtpu2 =3D Ether(src=3D"a4:bf:01:51:27:ca", > + dst=3D"00:00:00:00:01:03")/IP(src=3D"192.168.0.20", > + dst=3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, > + teid=3D0x12345678)/IP()/Raw('x'*20) >=20 > send mismatched packets, check the packets have not FDIR:: >=20 > - p_gtpu2 =3D Ether(src=3D"a4:bf:01:51:27:ca", > dst=3D"00:00:00:00:01:03")/IP(src=3D"192.168.0.20", > dst=3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, > teid=3D0x1234567)/GTP_PDUSession_ExtensionHeader(pdu_type=3D0, > qos_flow=3D0x34)/IP()/UDP()/Raw('x'*20) > + p_gtpu2 =3D Ether(src=3D"a4:bf:01:51:27:ca", > + dst=3D"00:00:00:00:01:03")/IP(src=3D"192.168.0.20", > + dst=3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, > + teid=3D0x1234567)/IP()/Raw('x'*20) >=20 > check the count number:: >=20 > @@ -1693,7 +2205,7 @@ Test case: MAC_IPV4_GTPU_IPV4_PAY TEID > mark/count/query > count: > hits_set: 1 > bytes_set: 0 > - hits: 1 > + hits: 2 > bytes: 0 >=20 > 3. verify rules can be listed and destroyed:: > @@ -1708,20 +2220,20 @@ Test case: MAC_IPV4_GTPU_IPV4_PAY TEID > mark/count/query > verify matched packets are distributed to queue in 0-63, and no FDIR. > Then check there is no rule listed. >=20 > -Test case: MAC_IPV4_GTPU_IPV4_PAY QFI mark/count/query - > =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=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D > +Test case: MAC_IPV4_GTPU_EH QFI mark/count/query > +=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=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >=20 > 1. create filter rules on port 1:: >=20 > - flow create 1 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc qfi = is 0x34 / > ipv4 / end actions drop / mark id 3 / count / end > + flow create 1 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc qfi > + is 0x34 / end actions drop / mark id 3 / count / end >=20 > 2. send matched packets, check the packets are dropped:: >=20 > - p_gtpu1 =3D Ether(src=3D"a4:bf:01:51:27:ca", > dst=3D"00:00:00:00:01:03")/IP(src=3D"192.168.0.20", > dst=3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, > teid=3D0x12345678)/GTP_PDUSession_ExtensionHeader(pdu_type=3D0, > qos_flow=3D0x34)/IP()/TCP()/Raw('x'*20) > + p_gtpu1 =3D Ether(src=3D"a4:bf:01:51:27:ca", > + dst=3D"00:00:00:00:01:03")/IP(src=3D"192.168.0.20", > + > dst=3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255)/GTP_= P > DU > + Session_ExtensionHeader(pdu_type=3D0, > + qos_flow=3D0x34)/IP()/TCP()/Raw('x'*20) >=20 > send mismatched packets, check the packets are not dropped, no FDIR:: >=20 > - p_gtpu2 =3D Ether(src=3D"a4:bf:01:51:27:ca", > dst=3D"00:00:00:00:01:03")/IP(src=3D"192.168.0.20", > dst=3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, > teid=3D0x12345678)/GTP_PDUSession_ExtensionHeader(pdu_type=3D0, > qos_flow=3D0x35)/IP()/Raw('x'*20) > + p_gtpu2 =3D Ether(src=3D"a4:bf:01:51:27:ca", > + dst=3D"00:00:00:00:01:03")/IP(src=3D"192.168.0.20", > + > dst=3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255)/GTP_= P > DU > + Session_ExtensionHeader(pdu_type=3D0, qos_flow=3D0x35)/IP()/Raw('x'*20) >=20 > check the count number:: >=20 > @@ -1744,26 +2256,62 @@ Test case: MAC_IPV4_GTPU_IPV4_PAY QFI > mark/count/query > verify matched packets are not dropped, and no FDIR. > Then check there is no rule listed. >=20 > -Test case: MAC_IPV4_GTPU_IPV4_PAY multirules - > =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=3D=3D=3D=3D=3D=3D=3D=3D=3D > +Test case: MAC_IPV4_GTPU_EH without QFI mark/count/query > +=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=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D >=20 > 1. create filter rules on port 0:: >=20 > - flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x1234= 5678 / > gtp_psc qfi is 0x34 / ipv4 / end actions queue index 1 / end > - flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x1234= 5678 / > gtp_psc qfi is 0x35 / ipv4 / end actions queue index 2 / end > - flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x1234= 567 / > gtp_psc qfi is 0x35 / ipv4 / end actions queue index 3 / end > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is > + 0x12345678 / gtp_psc / end actions queue index 15 / mark id 3 / count > + / end > + > +2. send matched packets, check the packets are distributed to queue 15, = the > FDIR=3D0x3:: > + > + p_gtpu1 =3D Ether(src=3D"a4:bf:01:51:27:ca", > + dst=3D"00:00:00:00:01:03")/IP(src=3D"192.168.0.20", > + dst=3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, > + > teid=3D0x12345678)/GTP_PDUSession_ExtensionHeader(pdu_type=3D0)/IP()/TCP(= ) > + /Raw('x'*20) > + > + send mismatched packets, check the packets are not distributed to que= ue > 15, no FDIR:: > + > + p_gtpu2 =3D Ether(src=3D"a4:bf:01:51:27:ca", > + dst=3D"00:00:00:00:01:03")/IP(src=3D"192.168.0.20", > + dst=3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, > + > teid=3D0x1234567)/GTP_PDUSession_ExtensionHeader(pdu_type=3D0)/IP()/TCP() > / > + Raw('x'*20) > + > + check the count number:: > + > + flow query 0 0 count > + count: > + hits_set: 1 > + bytes_set: 0 > + hits: 1 > + bytes: 0 > + > +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 > + > + verify matched packets are not distributed to queue 15, and no FDIR. > + Then check there is no rule listed. > + > +Test case: MAC_IPV4_GTPU_EH multirules > +=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=3D=3D=3D > + > +1. create filter rules on port 0:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x1234= 5678 / > gtp_psc qfi is 0x34 / end actions queue index 1 / end > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x1234= 5678 / > gtp_psc qfi is 0x35 / end actions queue index 2 / end > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is > + 0x1234567 / gtp_psc qfi is 0x35 / end actions queue index 3 / end >=20 > the three rules are created successfully. > then create the following rules:: >=20 > - flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x1234= 567 / > gtp_psc qfi is 0x35 / ipv4 / end actions queue index 3 / end > - flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x1234= 567 / > gtp_psc qfi is 0x35 / ipv4 / end actions queue index 4 / end > - flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x1234= 567 / > gtp_psc qfi is 0x75 / ipv4 / end actions queue index 4 / end > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x1234= 567 / > gtp_psc qfi is 0x35 / end actions queue index 3 / end > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x1234= 567 / > gtp_psc qfi is 0x35 / end actions queue index 4 / end > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is > + 0x1234567 / gtp_psc qfi is 0x75 / end actions queue index 4 / end >=20 > the three rules are failed to created. > then create the following rule:: >=20 > - flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x1234= 567 / > gtp_psc qfi is 0x34 / ipv4 / end actions queue index 3 / end > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is > + 0x1234567 / gtp_psc qfi is 0x34 / end actions queue index 3 / end >=20 > the rule is created successfully. >=20 > @@ -1791,13 +2339,13 @@ Test case: MAC_IPV4_GTPU_IPV4_PAY > multirules > verify matched packets are not distributed to same queue. > Then check there is no rule listed. >=20 > -Test case: MAC_IPV4_GTPU_IPV4_PAY two ports - > =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=3D=3D=3D=3D=3D=3D=3D=3D > +Test case: MAC_IPV4_GTPU_EH two ports > +=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=3D=3D >=20 > 1. create filter rules on two ports:: >=20 > - flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x1234= 5678 / > gtp_psc qfi is 0x34 / ipv4 / end actions queue index 1 / end > - flow create 1 ingress pattern eth / ipv4 / udp / gtpu teid is 0x1234= 5678 / > gtp_psc qfi is 0x34 / ipv4 / end actions queue index 1 / end > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x1234= 5678 / > gtp_psc qfi is 0x34 / end actions queue index 1 / end > + flow create 1 ingress pattern eth / ipv4 / udp / gtpu teid is > + 0x12345678 / gtp_psc qfi is 0x34 / end actions queue index 1 / end >=20 > send matched packets:: >=20 > @@ -1807,8 +2355,8 @@ Test case: MAC_IPV4_GTPU_IPV4_PAY two ports >=20 > 2. create filter rules on two ports:: >=20 > - flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x1234= 5678 / > gtp_psc qfi is 0x35 / ipv4 / end actions queue index 2 / end > - flow create 1 ingress pattern eth / ipv4 / udp / gtpu teid is 0x1234= 5678 / > gtp_psc qfi is 0x35 / ipv4 / end actions queue index 3 / end > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x1234= 5678 / > gtp_psc qfi is 0x35 / end actions queue index 2 / end > + flow create 1 ingress pattern eth / ipv4 / udp / gtpu teid is > + 0x12345678 / gtp_psc qfi is 0x35 / end actions queue index 3 / end >=20 > send matched packets:: >=20 > @@ -1823,16 +2371,17 @@ Test case: MAC_IPV4_GTPU_IPV4_PAY two ports >=20 > 4. create filter rules on two ports:: >=20 > - flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x1234= 5678 / > gtp_psc qfi is 0x34 / ipv4 / end actions queue index 1 / end > - flow create 1 ingress pattern eth / ipv4 / udp / gtpu teid is 0x1234= 5678 / > gtp_psc / ipv4 / end actions queue index 2 / end > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x1234= 5678 / > gtp_psc qfi is 0x34 / end actions queue index 1 / end > + flow create 1 ingress pattern eth / ipv4 / udp / gtpu teid is > + 0x12345678 / end actions queue index 2 / end >=20 > send matched packets:: >=20 > p_gtpu2 =3D Ether(src=3D"a4:bf:01:51:27:ca", > dst=3D"00:00:00:00:01:03")/IP(src=3D"192.168.0.20", > dst=3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, > teid=3D0x12345678)/GTP_PDUSession_ExtensionHeader(pdu_type=3D0, > qos_flow=3D0x35)/IP()/Raw('x'*20) > + p_gtpu3 =3D Ether(src=3D"a4:bf:01:51:27:ca", > + dst=3D"00:00:00:00:01:03")/IP(src=3D"192.168.0.20", > + dst=3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, > + teid=3D0x12345678)/GTP_PDUSession_ExtensionHeader(pdu_type=3D0, > + qos_flow=3D0x34)/IP()/Raw('x'*20) >=20 > - send the packet to two ports, it is not distributed to queue 1 of por= t 0, > - it is distributed to queue 2 of port 1. > - > + send the packets to two ports, > + p_gtpu2 is not distributed to queue 1 of port 0, it is distributed to= queue 2 > of port 1. > + p_gtpu3 is distributed to queue 2 of port 1, it is distributed to que= ue 1 of > port 0. >=20 > 5. verify rules can be listed and destroyed:: >=20 > @@ -1848,13 +2397,13 @@ Test case: MAC_IPV4_GTPU_IPV4_PAY two ports > verify matched packets are not distributed to expected queue. > Then check there is no rule listed. >=20 > -Test case: MAC_IPV4_GTPU_IPV4_PAY wrong parameters - > =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=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D > +Test case: MAC_IPV4_GTPU_EH wrong parameters > +=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=3D=3D=3D=3D=3D=3D=3D=3D=3D >=20 > 1. create filter rules on port 0:: >=20 > - flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x1234= 5678 / > gtp_psc qfi is 0x100 / ipv4 / end actions queue index 1 / end > - flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x1000= 00000 / > gtp_psc qfi is 0x5 / ipv4 / end actions queue index 2 / end > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x1234= 5678 / > gtp_psc qfi is 0x100 / end actions queue index 1 / end > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is > + 0x100000000 / gtp_psc qfi is 0x5 / end actions queue index 2 / end >=20 > the two flows can not be created successfully. >=20 > @@ -1864,6 +2413,21 @@ Test case: MAC_IPV4_GTPU_IPV4_PAY wrong > parameters >=20 > there is no flow listed. >=20 > +Test case: MAC_IPV4_GTPU wrong parameters > +=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=3D=3D=3D=3D=3D=3D > + > +1. create filter rules on port 0:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is > + 0x100000000 / end actions queue index 1 / end > + > + the flow can not be created successfully. > + > +2. list the flow:: > + > + testpmd> flow list 0 > + > + there is no flow listed. > + > Test case: count query identifier share > =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=3D=3D=3D=3D >=20 > -- > 2.7.4