From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id F25FFA0C42; Fri, 18 Jun 2021 07:56:34 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id BA2CF40150; Fri, 18 Jun 2021 07:56:34 +0200 (CEST) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mails.dpdk.org (Postfix) with ESMTP id 22FA640142 for ; Fri, 18 Jun 2021 07:56:31 +0200 (CEST) IronPort-SDR: F/eeozO+DX29i4FNMHj1TzsAs6962TEoz9dBjvXt6g7XiAzINIPBKD0W3iiBdmPM9IhxihNtzs CnRKBIkN7KTA== X-IronPort-AV: E=McAfee;i="6200,9189,10018"; a="292130939" X-IronPort-AV: E=Sophos;i="5.83,283,1616482800"; d="scan'208";a="292130939" Received: from orsmga003.jf.intel.com ([10.7.209.27]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 17 Jun 2021 22:56:30 -0700 IronPort-SDR: E8y20ce0rcQzHTyNA8H8pJ+lgt8ZuycjGynmFMgu1rbVY3vvAYxRiFRIQqQxyLpwuGxw5eL26T AceSG/niGymA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.83,283,1616482800"; d="scan'208";a="405183609" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by orsmga003.jf.intel.com with ESMTP; 17 Jun 2021 22:56:29 -0700 Received: from shsmsx601.ccr.corp.intel.com (10.109.6.141) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4; Thu, 17 Jun 2021 22:56:28 -0700 Received: from shsmsx601.ccr.corp.intel.com (10.109.6.141) by SHSMSX601.ccr.corp.intel.com (10.109.6.141) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2242.4; Fri, 18 Jun 2021 13:56:26 +0800 Received: from shsmsx601.ccr.corp.intel.com ([10.109.6.141]) by SHSMSX601.ccr.corp.intel.com ([10.109.6.141]) with mapi id 15.01.2242.008; Fri, 18 Jun 2021 13:56:26 +0800 From: "Tu, Lijuan" To: "Huang, ZhiminX" , "dts@dpdk.org" CC: "Lin, Xueqin" , "Huang, ZhiminX" Thread-Topic: [dts] [PATCH V2 1/2] test_plans/dcf_switch_gtpu: add dcf_switch_filter_gtpu test plan Thread-Index: AQHXV5jX3JR2+qFyqEGmVxqeftu4zKsZXSEA Date: Fri, 18 Jun 2021 05:56:26 +0000 Message-ID: <90e58915ecc14c85bbf9becff7b125c3@intel.com> References: <20210602185053.12642-1-zhiminx.huang@intel.com> <20210602185053.12642-2-zhiminx.huang@intel.com> In-Reply-To: <20210602185053.12642-2-zhiminx.huang@intel.com> Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-reaction: no-action dlp-version: 11.5.1.3 dlp-product: dlpe-windows x-originating-ip: [10.239.127.36] Content-Type: text/plain; charset="iso-2022-jp" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Subject: Re: [dts] [PATCH V2 1/2] test_plans/dcf_switch_gtpu: add dcf_switch_filter_gtpu test plan X-BeenThere: dts@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: test suite reviews and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dts-bounces@dpdk.org Sender: "dts" > -----Original Message----- > From: dts On Behalf Of Zhimin Huang > Sent: 2021=1B$BG/=1B(B6=1B$B7n=1B(B3=1B$BF|=1B(B 2:51 > To: dts@dpdk.org > Cc: Lin, Xueqin ; Huang, ZhiminX > > Subject: [dts] [PATCH V2 1/2] test_plans/dcf_switch_gtpu: add > dcf_switch_filter_gtpu test plan >=20 > *.add cvl_dcf_switch_filter_gtpu testplan >=20 > Signed-off-by: Zhimin Huang > --- > .../cvl_dcf_switch_filter_gtpu_test_plan.rst | 1424 +++++++++++++++++ > 1 file changed, 1424 insertions(+) > create mode 100644 test_plans/cvl_dcf_switch_filter_gtpu_test_plan.rst >=20 > diff --git a/test_plans/cvl_dcf_switch_filter_gtpu_test_plan.rst > b/test_plans/cvl_dcf_switch_filter_gtpu_test_plan.rst > new file mode 100644 > index 00000000..4991e0e6 > --- /dev/null > +++ b/test_plans/cvl_dcf_switch_filter_gtpu_test_plan.rst > @@ -0,0 +1,1424 @@ > +.. Copyright (c) <2021>, Intel Corporation > + All rights reserved. > + > + Redistribution and use in source and binary forms, with or without > + modification, are permitted provided that the following conditions > + are met: > + > + - Redistributions of source code must retain the above copyright > + notice, this list of conditions and the following disclaimer. > + > + - Redistributions in binary form must reproduce the above copyright > + notice, this list of conditions and the following disclaimer in > + the documentation and/or other materials provided with the > + distribution. > + > + - Neither the name of Intel Corporation nor the names of its > + contributors may be used to endorse or promote products derived > + from this software without specific prior written permission. > + > + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND > CONTRIBUTORS > + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT > + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS > + FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE > + COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, > INDIRECT, > + INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES > + (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS > OR > + SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) > + HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN > CONTRACT, > + STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) > + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED > + OF THE POSSIBILITY OF SUCH DAMAGE. > + > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D > +CVL DCF Switch Filter GTPU Tests > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D > + > +Description > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > + > +This document provides the plan for testing DCF switch filter of CVL The description is not align with your subject and content. And the file name is not align with existing test plan, e.g.=20 test_plans/cvl_dcf_switch_filter_test_plan.rst=20 test_plans/cvl_dcf_switch_filter_pppoe_test_plan.rst > + > +Pattern and input set > +--------------------- > + > + +---------------------+-------------------------------+---------------= ----------------------- > ----------------+ > + | Packet Types | Pattern | = Input Set | > + > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ > + | | MAC_IPV4_GTPU | [TEID], oute= r: l3[dst] [src] > | > + +---------------------+-------------------------------+---------------= ----------------------- > ----------------+ > + | | MAC_IPV6_GTPU | [TEID], oute= r: l3dst] [src] > | > + +---------------------+-------------------------------+---------------= ----------------------- > ----------------+ > + | | MAC_IPV4_GTPU_IPV4 | [TEID], inne= r: l3[dst] [src] > | > + +---------------------+-------------------------------+---------------= ----------------------- > ----------------+ > + | | MAC_IPV4_GTPU_IPV4_TCP | [TEID], inne= r: l3[dst] [src] > l4[dst] [src] | > + +---------------------+-------------------------------+---------------= ----------------------- > ----------------+ > + | | MAC_IPV4_GTPU_IPV4_UDP | [TEID], inne= r: l3[dst] [src] > l4[dst] [src] | > + +---------------------+-------------------------------+---------------= ----------------------- > ----------------+ > + | | MAC_IPV4_GTPU_IPV6 | [TEID], inne= r: l3[dst] [src] > | > + +---------------------+-------------------------------+---------------= ----------------------- > ----------------+ > + | | MAC_IPV4_GTPU_IPV6_TCP | [TEID], inne= r: l3[dst] [src] > l4[dst] [src] | > + +---------------------+-------------------------------+---------------= ----------------------- > ----------------+ > + | | MAC_IPV4_GTPU_IPV6_UDP | [TEID], inne= r: l3[dst] [src] > l4[dst] [src] | > + +---------------------+-------------------------------+---------------= ----------------------- > ----------------+ > + | | MAC_IPV6_GTPU_IPV4 | [TEID], inne= r: l3[dst] [src] > | > + +---------------------+-------------------------------+---------------= ----------------------- > ----------------+ > + | | MAC_IPV6_GTPU_IPV4_TCP | [TEID], inne= r: l3[dst] [src] > l4[dst] [src] | > + +---------------------+-------------------------------+---------------= ----------------------- > ----------------+ > + | | MAC_IPV6_GTPU_IPV4_UDP | [TEID], inne= r: l3[dst] [src] > l4[dst] [src] | > + +---------------------+-------------------------------+---------------= ----------------------- > ----------------+ > + | | MAC_IPV6_GTPU_IPV6 | [TEID], inne= r: l3[dst] [src] > | > + +---------------------+-------------------------------+---------------= ----------------------- > ----------------+ > + | | MAC_IPV6_GTPU_IPV6_TCP | [TEID], inne= r: l3[dst] [src] > l4[dst] [src] | > + +---------------------+-------------------------------+---------------= ----------------------- > ----------------+ > + | | MAC_IPV6_GTPU_IPV6_UDP | [TEID], inne= r: l3[dst] [src] > l4[dst] [src] | > + +---------------------+-------------------------------+---------------= ----------------------- > ----------------+ > + | | MAC_IPV4_GTPU_EH_IPV4 | [QFI] [TEID]= , inner: l3[dst] > [src] | > + +---------------------+-------------------------------+---------------= ----------------------- > ----------------+ > + | | MAC_IPV4_GTPU_EH_IPV4_TCP | [QFI] [TEID]= , inner: l3[dst] > [src] l4[dst] [src] | > + +---------------------+-------------------------------+---------------= ----------------------- > ----------------+ > + | | MAC_IPV4_GTPU_EH_IPV4_UDP | [QFI] [TEID]= , inner: l3[dst] > [src] l4[dst] [src] | > + +---------------------+-------------------------------+---------------= ----------------------- > ----------------+ > + | | MAC_IPV4_GTPU_EH_IPV6 | [QFI] [TEID]= , inner: l3[dst] > [src] | > + +---------------------+-------------------------------+---------------= ----------------------- > ----------------+ > + | | MAC_IPV4_GTPU_EH_IPV6_TCP | [QFI] [TEID]= , inner: l3[dst] > [src] l4[dst] [src] | > + +---------------------+-------------------------------+---------------= ----------------------- > ----------------+ > + | | MAC_IPV4_GTPU_EH_IPV6_UDP | [QFI] [TEID]= , inner: l3[dst] > [src] l4[dst] [src] | > + +---------------------+-------------------------------+---------------= ----------------------- > ----------------+ > + | | MAC_IPV6_GTPU_EH_IPV4 | [QFI] [TEID]= , inner: l3[dst] > [src] | > + +---------------------+-------------------------------+---------------= ----------------------- > ----------------+ > + | | MAC_IPV6_GTPU_EH_IPV4_TCP | [QFI] [TEID]= , inner: l3[dst] > [src] l4[dst] [src] | > + +---------------------+-------------------------------+---------------= ----------------------- > ----------------+ > + | | MAC_IPV6_GTPU_EH_IPV4_UDP | [QFI] [TEID]= , inner: l3[dst] > [src] l4[dst] [src] | > + +---------------------+-------------------------------+---------------= ----------------------- > ----------------+ > + | | MAC_IPV6_GTPU_EH_IPV6 | [QFI] [TEID]= , inner: l3[dst] > [src] | > + +---------------------+-------------------------------+---------------= ----------------------- > ----------------+ > + | | MAC_IPV6_GTPU_EH_IPV6_TCP | [QFI] [TEID]= , inner: l3[dst] > [src] l4[dst] [src] | > + +---------------------+-------------------------------+---------------= ----------------------- > ----------------+ > + | | MAC_IPV6_GTPU_EH_IPV6_UDP | [QFI] [TEID]= , inner: l3[dst] > [src] l4[dst] [src] | > + +---------------------+-------------------------------+---------------= ----------------------- > ----------------+ > + > +.. note:: > + > + 1. The maximum input set length of a switch rule is 32 bytes, and src= ipv6, > + dst ipv6 account for 32 bytes. Therefore, for ipv6 cases, if need = to test > + fields other than src, dst ip, we create rule by removing src or d= st ip in > + the test plan. > + > + > +Supported action type > +--------------------- > + > +* To vf/vsi > + > + > +Prerequisites > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > + > +1. Hardware: > + columbiaville_25g/columbiaville_100g > + > +2. Software:: > + > + dpdk: http://dpdk.org/git/dpdk > + scapy: http://www.secdev.org/projects/scapy/ > + > +3. Copy specific ice package to /lib/firmware/updates/intel/ice/ddp/ice.= pkg, > + then load driver:: > + > + rmmod ice > + insmod ice.ko > + > +4. Compile DPDK:: > + > + make -j install T=3Dx86_64-native-linuxapp-gcc > + > +5. Get the pci device id of DUT, for example:: > + > + ./usertools/dpdk-devbind.py -s > + > + 0000:18:00.0 'Device 1593' if=3Denp24s0f0 drv=3Dice unused=3Dvfio-p= ci > + 0000:18:00.1 'Device 1593' if=3Denp24s0f1 drv=3Dice unused=3Dvfio-p= ci > + > +6. Generate 2 VFs on PF0:: > + > + echo 2 > /sys/bus/pci/devices/0000:18:00.0/sriov_numvfs > + > + ./usertools/dpdk-devbind.py -s > + 0000:18:01.0 'Ethernet Adaptive Virtual Function 1889' if=3Denp24s1= drv=3Diavf > unused=3Dvfio-pci > + 0000:18:01.1 'Ethernet Adaptive Virtual Function 1889' if=3Denp24s1= f1 > drv=3Diavf unused=3Dvfio-pci > + > +7. Set VF0 as trust:: > + > + ip link set enp24s0f0 vf 0 trust on > + > +8. Bind VFs to dpdk driver:: > + > + modprobe vfio-pci > + ./usertools/dpdk-devbind.py -b vfio-pci 0000:18:01.0 0000:18:01.1 > + > +9. Launch dpdk on VF0 and VF1, and VF0 request DCF mode:: > + > + ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xf -n 4 -a > 0000:18:01.0,cap=3Ddcf -a 0000:18:01.1 -- -i > + testpmd> set portlist 1 > + testpmd> set fwd rxonly > + testpmd> set verbose 1 > + testpmd> start > + testpmd> show port info all > + > + check the VF0 driver is net_ice_dcf. > + > +Test step: > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > + > +* validate rule > +* create rule > +* send matched pkts and mismatched pkts > +* destroy rule > +* send matched pkts > +* flush rule > + > + > +take 'MAC_IPV4_GTPU_TEID_with_mask' for example: > + > +1.validate and create rule:: > + > + flow validate 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x123= 45678 teid > mask 0x00000001 / end actions vf id 1 / end > + Flow rule validated > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345= 678 teid > mask 0x00000001 / end actions vf id 1 / end > + Flow rule #0 created > + > +2.send 2 matched pkts and check port 1 received 2 pkts:: > + > + p1 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(teid=3D0x1234567= 8)/Ra > w("x" *20) > + p2 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(teid=3D0x1234568= 8)/Ra > w("x" *20) > + > + ---------------------- Forward statistics for port 1 ---------------= ------- > + RX-packets: 2 RX-dropped: 0 RX-total: 2 > + TX-packets: 0 TX-dropped: 0 TX-total: 0 > + ---------------------------------------------------------------------= ------- > + > + +++++++++++++++ Accumulated forward statistics for all > ports+++++++++++++++ > + RX-packets: 2 RX-dropped: 0 RX-total: 2 > + TX-packets: 0 TX-dropped: 0 TX-total: 0 > + > +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > +++++++++++ > + > +3.send 1 mismatched pkts and check port 1 not received pkts:: > + > + p =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(teid=3D0x1234567= 7)/Ra > w("x" *20) > + > + ---------------------- Forward statistics for port 1 ---------------= ------- > + RX-packets: 0 RX-dropped: 0 RX-total: 0 > + TX-packets: 0 TX-dropped: 0 TX-total: 0 > + ---------------------------------------------------------------------= ------- > + > + +++++++++++++++ Accumulated forward statistics for all > ports+++++++++++++++ > + RX-packets: 0 RX-dropped: 0 RX-total: 0 > + TX-packets: 0 TX-dropped: 0 TX-total: 0 > + > +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > +++++++++++ > + > +4.destory rule and re-send step 2 matched pkts check port 1 not received= pkts:: > + > + p1 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(teid=3D0x1234567= 8)/Ra > w("x" *20) > + p2 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(teid=3D0x1234568= 8)/Ra > w("x" *20) > + > + ---------------------- Forward statistics for port 1 ---------------= ------- > + RX-packets: 0 RX-dropped: 0 RX-total: 0 > + TX-packets: 0 TX-dropped: 0 TX-total: 0 > + ---------------------------------------------------------------------= ------- > + > + +++++++++++++++ Accumulated forward statistics for all > ports+++++++++++++++ > + RX-packets: 0 RX-dropped: 0 RX-total: 0 > + TX-packets: 0 TX-dropped: 0 TX-total: 0 > + > +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ > +++++++++++ > + > + > +Pattern: MAC_IPV4_GTPU > +---------------------- > + > +Test case: MAC_IPV4_GTPU > +>>>>>>>>>>>>>>>>>>>>>>>> > + > +subcase 1: MAC_IPV4_GTPU_TEID_with_mask > +::::::::::::::::::::::::::::::::::::::: > +rule:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345= 678 teid > mask 0x00000001 / end actions vf id 1 / end > + > +matched packets:: > + > + p1 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(teid=3D0x1234567= 8)/Ra > w("x" *20) > + p2 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(teid=3D0x1234568= 8)/Ra > w("x" *20) > + > +mismatched packets:: > + > + p3 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(teid=3D0x1234567= 7)/Ra > w("x" *20) > + > +subcase 2: MAC_IPV4_GTPU_TEID_without_mask > +:::::::::::::::::::::::::::::::::::::::::: > +rule:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345= 678 / end > actions vf id 1 / end > + > +matched packets:: > + > + p1 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(teid=3D0x1234567= 8)/Ra > w("x" *20) > + > +mismatched packets:: > + > + p2 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(teid=3D0x1234568= 8)/Ra > w("x" *20) > + p3 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(teid=3D0x1234567= 7)/Ra > w("x" *20) > + > +subcase 3: MAC_IPV4_GTPU_dst > +:::::::::::::::::::::::::::: > +rule:: > + > + flow create 0 ingress pattern eth / ipv4 dst is 192.168.1.2 / udp / g= tpu / end > actions vf id 1 / end > + > +matched packets:: > + > + p1 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP(dst=3D"192.168.1.2")/UDP()/GTP_U_Head= er()/R > aw("x" *20) > + > +mismatched packets:: > + > + p2 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP(dst=3D"192.168.1.22")/UDP()/GTP_U_Hea= der()/ > Raw("x" *20) > + > +subcase 4: MAC_IPV4_GTPU_src > +:::::::::::::::::::::::::::: > +rule:: > + > + flow create 0 ingress pattern eth / ipv4 src is 192.168.1.1 / udp / g= tpu / end > actions vf id 1 / end > + > +matched packets:: > + > + p1 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP(src=3D"192.168.1.1")/UDP()/GTP_U_Head= er()/R > aw("x" *20) > + > +mismatched packets:: > + > + p2 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP(src=3D"192.168.1.11")/UDP()/GTP_U_Hea= der()/ > Raw("x" *20) > + > +subcase 5: MAC_IPV4_GTPU_src_dst > +:::::::::::::::::::::::::::::::: > +rule:: > + > + flow create 0 ingress pattern eth / ipv4 src is 192.168.1.1 dst is 19= 2.168.1.2 / > udp / gtpu / end actions vf id 1 / end > + > +matched packets:: > + > + p1 =3D Ether(dst=3D"00:11:22:33:44:55")/IP(src=3D"192.168.1.1", > dst=3D"192.168.1.2")/UDP()/GTP_U_Header()/Raw("x" *20) > + > +mismatched packets:: > + > + p2 =3D Ether(dst=3D"00:11:22:33:44:55")/IP(src=3D"192.168.1.11", > dst=3D"192.168.1.2")/UDP()/GTP_U_Header()/Raw("x" *20) > + p3 =3D Ether(dst=3D"00:11:22:33:44:55")/IP(src=3D"192.168.1.1", > dst=3D"192.168.1.22")/UDP()/GTP_U_Header()/Raw("x" *20) > + p4 =3D Ether(dst=3D"00:11:22:33:44:55")/IP(src=3D"192.168.1.11", > dst=3D"192.168.1.22")/UDP()/GTP_U_Header()/Raw("x" *20) > + > +subcase 6: MAC_IPV4_GTPU_teid_dst > +::::::::::::::::::::::::::::::::: > +rule:: > + > + flow create 0 ingress pattern eth / ipv4 dst is 192.168.1.2 / udp / g= tpu teid is > 0x12345678 teid mask 0x00000001 / end actions vf id 1 / end > + > +matched packets:: > + > + p1 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP(dst=3D"192.168.1.2")/UDP()/GTP_U_Head= er(tei > d=3D0x12345678)/Raw("x" *20) > + > +mismatched packets:: > + > + p2 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP(dst=3D"192.168.1.22")/UDP()/GTP_U_Hea= der(te > id=3D0x12345678)/Raw("x" *20) > + p3 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP(dst=3D"192.168.1.2")/UDP()/GTP_U_Head= er(tei > d=3D0x12345677)/Raw("x" *20) > + p4 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP(dst=3D"192.168.1.22")/UDP()/GTP_U_Hea= der(te > id=3D0x12345677)/Raw("x" *20) > + > +subcase 7: MAC_IPV4_GTPU_teid_src > +::::::::::::::::::::::::::::::::: > +rule:: > + > + flow create 0 ingress pattern eth / ipv4 src is 192.168.1.1 / udp / g= tpu teid is > 0x12345678 teid mask 0x00000001 / end actions vf id 1 / end > + > +matched packets:: > + > + p1 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP(src=3D"192.168.1.1")/UDP()/GTP_U_Head= er(tei > d=3D0x12345678)/Raw("x" *20) > + > +mismatched packets:: > + > + p2 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP(src=3D"192.168.1.11")/UDP()/GTP_U_Hea= der(te > id=3D0x12345678)/Raw("x" *20) > + p3 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP(src=3D"192.168.1.1")/UDP()/GTP_U_Head= er(tei > d=3D0x12345677)/Raw("x" *20) > + p4 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP(src=3D"192.168.1.11")/UDP()/GTP_U_Hea= der(te > id=3D0x12345677)/Raw("x" *20) > + > + > +subcase 8: MAC_IPV4_GTPU_ALL > +:::::::::::::::::::::::::::: > +rule:: > + > + flow create 0 ingress pattern eth / ipv4 src is 192.168.1.1 dst is 19= 2.168.1.2 / > udp / gtpu teid is 0x12345678 teid mask 0x00000001 / end actions vf id 1 = / end > + > +matched packets:: > + > + p1 =3D Ether(dst=3D"00:11:22:33:44:55")/IP(src=3D"192.168.1.1", > dst=3D"192.168.1.2")/UDP()/GTP_U_Header(teid=3D0x12345678)/Raw("x" *20) > + > +mismatched packets:: > + > + p2 =3D Ether(dst=3D"00:11:22:33:44:55")/IP(src=3D"192.168.1.11", > dst=3D"192.168.1.2")/UDP()/GTP_U_Header(teid=3D0x12345678)/Raw("x" *20) > + p3 =3D Ether(dst=3D"00:11:22:33:44:55")/IP(src=3D"192.168.1.1", > dst=3D"192.168.1.22")/UDP()/GTP_U_Header(teid=3D0x12345678)/Raw("x" *20) > + p4 =3D Ether(dst=3D"00:11:22:33:44:55")/IP(src=3D"192.168.1.11", > dst=3D"192.168.1.22")/UDP()/GTP_U_Header(teid=3D0x12345678)/Raw("x" *20) > + p5 =3D Ether(dst=3D"00:11:22:33:44:55")/IP(src=3D"192.168.1.11", > dst=3D"192.168.1.22")/UDP()/GTP_U_Header(teid=3D0x12345677)/Raw("x" *20) > + > +Pattern: MAC_IPV6_GTPU > +---------------------- > +reconfig all the cases of "Test case: MAC_IPV4_GTPU" > + > + rule: > + change ipv4 to ipv6, ipv4 address to ipv6 address. > + packets: > + change the packet's L3 layer from IP to IPv6; > + change the ipv4 address to ipv6 address. > + > +Test case: MAC_IPV6_GTPU > +>>>>>>>>>>>>>>>>>>>>>>>> > + > +subcase 1: MAC_IPV6_GTPU_TEID_with_mask > +::::::::::::::::::::::::::::::::::::::: > + > +subcase 2: MAC_IPV6_GTPU_TEID_without_mask > +:::::::::::::::::::::::::::::::::::::::::: > + > +subcase 3: MAC_IPV6_GTPU_dst > +:::::::::::::::::::::::::::: > + > +subcase 4: MAC_IPV6_GTPU_src > +:::::::::::::::::::::::::::: > + > +subcase 5: MAC_IPV6_GTPU_src_dst > +:::::::::::::::::::::::::::::::: > + > +subcase 6: MAC_IPV6_GTPU_teid_dst > +::::::::::::::::::::::::::::::::: > + > +subcase 7: MAC_IPV6_GTPU_teid_src > +::::::::::::::::::::::::::::::::: > + > +subcase 8: MAC_IPV4_GTPU_ALL > +:::::::::::::::::::::::::::: > + > +Pattern: outer ipv4 + inner ipv4 > +-------------------------------- > + > +Test case: MAC_IPV4_GTPU_EH_IPV4 > +>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> > + > +basic pkts: > + > +ipv4-nonfrag packet:: > + > + > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer()/IP()/("X" *20) > + > +ipv4-frag packet:: > + > + > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer()/IP(frag=3D6)/("X" *20) > + > +subcase 1: MAC_IPV4_GTPU_EH_IPV4_TEID_with_mask > +::::::::::::::::::::::::::::::::::::::::::::::: > +rule:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345= 678 teid > mask 0x00000001 / gtp_psc / ipv4 / end actions vf id 1 / end > + > +matched packets:: > + > + pkts_set1: send basic pkts with GTP_U_Header(gtp_type=3D255, > teid=3D0x12345678) > + pkts_set2: send pkts_set1 with teid 0x12345688 > + > +mismatched packets:: > + > + pkts_set3: send pkts_set1 with teid 0x12345677 > + > +subcase 2: MAC_IPV4_GTPU_EH_IPV4_TEID_without_mask > +:::::::::::::::::::::::::::::::::::::::::::::::::: > +rule:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345= 678 / > gtp_psc / ipv4 / end actions vf id 1 / end > + > +matched packets:: > + > + pkts_set1:send basic pkts with GTP_U_Header(gtp_type=3D255, > teid=3D0x12345678) > + > +mismatched packets:: > + > + pkts_set2: send pkts_set1 with teid 0x12345677 > + pkts_set3: send pkts_set1 with teid 0x12345688 > + > +subcase 3: MAC_IPV4_GTPU_EH_IPV4_QFI > +:::::::::::::::::::::::::::::::::::: > +rule:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc qfi i= s 0x34 / ipv4 > / end actions vf id 1 / end > + > +matched packets:: > + > + pkts_set1: send basic pkts with GTPPDUSessionContainer(QFI=3D0x34) > + > +mismatched packets:: > + > + pkts_set2: send basic pkts with qfi 0x33 > + > +subcase 4: MAC_IPV4_GTPU_EH_IPV4_L3DST > +:::::::::::::::::::::::::::::::::::::: > +rule:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv= 4 dst is > 192.168.1.2 / end actions vf id 1 / end > + > +matched packets:: > + > + pkts_set1: send basic pkts with inner l3dst, take 'ipv4-nonfrag' for = example: > + > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer()/IP(dst=3D"192.168.1.2")/("X" *20) > + > +mismatched packets:: > + > + pkts_set2: send pkts_set1 with different inner l3dst, take 'ipv4-nonf= rag' for > example: > + > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer()/IP(dst=3D"192.168.1.22")/("X" *20) > + > +subcase 5: MAC_IPV4_GTPU_EH_IPV4_L3SRC > +:::::::::::::::::::::::::::::::::::::: > +rule:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv= 4 src is > 192.168.1.1 / end actions vf id 1 / end > + > +matched packets:: > + > + pkts_set1: send basic pkts with inner l3src, take 'ipv4-nonfrag' for = example: > + > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer()/IP(src=3D"192.168.1.1")/("X" *20) > + > +mismatched packets:: > + > + pkts_set2: send pkts_set1 with different inner l3src, take 'ipv4-nonf= rag' for > example: > + > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer()/IP(src=3D"192.168.1.11")/("X" *20) > + > +subcase 6: MAC_IPV4_GTPU_EH_IPV4_L3SRC_L3DST > +:::::::::::::::::::::::::::::::::::::::::::: > +rule:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv= 4 src is > 192.168.1.1 dst is 192.168.1.2 / end actions vf id 1 / end > + > +matched packets:: > + > + pkts_set1: send basic pkts with inner l3src l3dst, take 'ipv4-nonfrag= ' for > example: > + > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer()/IP(src=3D"192.168.1.1", dst=3D"192.168.1.2")/("X" *20) > + > +mismatched packets:: > + > + pkts_set2: send pkts_set1 with different inner l3src l3dst, take 'ipv= 4-nonfrag' > for example: > + > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer()/IP(src=3D"192.168.1.11", dst=3D"192.168.1.2")/("X" *20) > + > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer()/IP(src=3D"192.168.1.1", dst=3D"192.168.1.22")/("X" *20) > + > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer()/IP(src=3D"192.168.1.11", dst=3D"192.168.1.22")/("X" *20) > + > +subcase 7: MAC_IPV4_GTPU_EH_IPV4_TEID_L3SRC_L3DST > +::::::::::::::::::::::::::::::::::::::::::::::::: > +rule:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x1234= 5678 teid > mask 0x00000001 / gtp_psc / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / = end > actions vf id 1 / end > + > +matched packets:: > + > + pkts_set1: send basic pkts with inner l3src l3dst, take 'ipv4-nonfrag= ' for > example: > + Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(gtp_type= =3D255, > teid=3D0x12345678)/GTPPDUSessionContainer()/IP(src=3D"192.168.1.1", > dst=3D"192.168.1.2")/("X" *20) > + > +mismatched packets:: > + > + pkts_set2: send pkts_set1 with different inner l3src l3dst, take 'ipv= 4-nonfrag' > for example: > + Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(gtp_type= =3D255, > teid=3D0x12345678)/GTPPDUSessionContainer()/IP(src=3D"192.168.1.11", > dst=3D"192.168.1.22")/("X" *20) > + Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(gtp_type= =3D255, > teid=3D0x12345677)/GTPPDUSessionContainer()/IP(src=3D"192.168.1.1", > dst=3D"192.168.1.2")/("X" *20) > + Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(gtp_type= =3D255, > teid=3D0x12345677)/GTPPDUSessionContainer()/IP(src=3D"192.168.1.11", > dst=3D"192.168.1.21")/("X" *20) > + > +subcase 8: MAC_IPV4_GTPU_EH_IPV4_QFI_L3SRC_L3DST > +:::::::::::::::::::::::::::::::::::::::::::::::: > +rule:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc qfi i= s 0x34 / ipv4 > src is 192.168.1.1 dst is 192.168.1.2 / end actions vf id 1 / end > + > +matched packets:: > + > + pkts_set1: send basic pkts with inner l3src l3dst, take 'ipv4-nonfrag= ' for > example: > + > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer(QFI=3D0x34)/IP(src=3D"192.168.1.1", dst=3D"192.168.1.2")/("X" *20) > + > +mismatched packets:: > + > + pkts_set2: send pkts_set1 with different inner l3src l3dst, take 'ipv= 4-nonfrag' > for example: > + > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer(QFI=3D0x34)/IP(src=3D"192.168.1.11", dst=3D"192.168.1.22")/("X" *2= 0) > + > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer(QFI=3D0x33)/IP(src=3D"192.168.1.1", dst=3D"192.168.1.2")/("X" *20) > + > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer(QFI=3D0x33)/IP(src=3D"192.168.1.11", dst=3D"192.168.1.22")/("X" *2= 0) > + > + > +subcase 9: MAC_IPV4_GTPU_EH_IPV4_ALL > +:::::::::::::::::::::::::::::::::::: > +rule:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x1234= 5678 teid > mask 0x00000001 / gtp_psc qfi is 0x34 / ipv4 src is 192.168.1.1 dst is 19= 2.168.1.2 > / end actions vf id 1 / end > + > +matched packets:: > + > + pkts_set1: take 'ipv4-nonfrag' for example: > + Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(gtp_type= =3D255, > teid=3D0x12345678)/GTPPDUSessionContainer(QFI=3D0x34)/IP(src=3D"192.168.1= .1", > dst=3D"192.168.1.2")/("X" *20) > + > +mismatched packets:: > + > + pkts_set2: take 'ipv4-nonfrag' for example: > + Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(gtp_type= =3D255, > teid=3D0x12345678)/GTPPDUSessionContainer(QFI=3D0x34)/IP(src=3D"192.168.1= .11", > dst=3D"192.168.1.22")/("X" *20) > + Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(gtp_type= =3D255, > teid=3D0x12345678)/GTPPDUSessionContainer(QFI=3D0x33)/IP(src=3D"192.168.1= .1", > dst=3D"192.168.1.2")/("X" *20) > + Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(gtp_type= =3D255, > teid=3D0x12345677)/GTPPDUSessionContainer(QFI=3D0x34)/IP(src=3D"192.168.1= .1", > dst=3D"192.168.1.2")/("X" *20) > + Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(gtp_type= =3D255, > teid=3D0x12345677)/GTPPDUSessionContainer(QFI=3D0x33)/IP(src=3D"192.168.1= .11", > dst=3D"192.168.1.22")/("X" *20) > + > +Test case: MAC_IPV4_GTPU_EH_IPV4_UDP > +>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> > + > +basic pkts:: > + > + > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer()/IP()/UDP()/("X" *20) > + > +subcase 1: MAC_IPV4_GTPU_EH_IPV4_UDP_TEID_with_mask > +::::::::::::::::::::::::::::::::::::::::::::::::::: > +rule:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345= 678 teid > mask 0x00000001 / gtp_psc / ipv4 / udp / end actions vf id 1 / end > + > +matched packets:: > + > + p1 =3D Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(gtp_t= ype=3D255, > teid=3D0x12345678)/GTPPDUSessionContainer()/IP()/UDP()/("X" *20) > + p2 =3D Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(gtp_t= ype=3D255, > teid=3D0x12345688)/GTPPDUSessionContainer()/IP()/UDP()/("X" *20) > + > +mismatched packets:: > + > + p3 =3D Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(gtp_t= ype=3D255, > teid=3D0x12345677)/GTPPDUSessionContainer()/IP()/UDP()/("X" *20) > + > +subcase 2: MAC_IPV4_GTPU_EH_IPV4_UDP_TEID_without_mask > +:::::::::::::::::::::::::::::::::::::::::::::::::::::: > +rule:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345= 678 / > gtp_psc / ipv4 / udp / end actions vf id 1 / end > + > +matched packets:: > + > + p1 =3D Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(gtp_t= ype=3D255, > teid=3D0x12345678)/GTPPDUSessionContainer()/IP()/UDP()/("X" *20) > + > +mismatched packets:: > + > + p2 =3D Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(gtp_t= ype=3D255, > teid=3D0x12345688)/GTPPDUSessionContainer()/IP()/UDP()/("X" *20) > + p3 =3D Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(gtp_t= ype=3D255, > teid=3D0x12345677)/GTPPDUSessionContainer()/IP()/UDP()/("X" *20) > + > +subcase 3: MAC_IPV4_GTPU_EH_IPV4_UDP_QFI > +:::::::::::::::::::::::::::::::::::::::: > +rule:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc qfi i= s 0x34 / ipv4 > / udp / end actions vf id 1 / end > + > +matched packets:: > + > + p1 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer(QFI=3D0x34)/IP()/UDP()/("X" *20) > + > +mismatched packets:: > + > + p2 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer(QFI=3D0x33)/IP()/UDP()/("X" *20) > + > +subcase 4: MAC_IPV4_GTPU_EH_IPV4_UDP_L3DST > +:::::::::::::::::::::::::::::::::::::::::: > +rule:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv= 4 dst is > 192.168.1.2 / udp / end actions vf id 1 / end > + > +matched packets:: > + > + p1 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer()/IP(dst=3D"192.168.1.2")/UDP()/("X" *20) > + > +mismatched packets:: > + > + p2 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer()/IP(dst=3D"192.168.1.22")/UDP()/("X" *20) > + > +subcase 5: MAC_IPV4_GTPU_EH_IPV4_UDP_L3SRC > +:::::::::::::::::::::::::::::::::::::::::: > +rule:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv= 4 src is > 192.168.1.1 / udp / end actions vf id 1 / end > + > +matched packets:: > + > + p1 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer()/IP(src=3D"192.168.1.1")/UDP()/("X" *20) > + > +mismatched packets:: > + > + p2 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer()/IP(src=3D"192.168.1.11")/UDP()/("X" *20) > + > +subcase 6: MAC_IPV4_GTPU_EH_IPV4_UDP_L3SRC_L3DST > +:::::::::::::::::::::::::::::::::::::::::::::::: > +rule:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv= 4 src is > 192.168.1.1 dst is 192.168.1.2 / udp / end actions vf id 1 / end > + > +matched packets:: > + > + p1 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer()/IP(src=3D"192.168.1.1", dst=3D"192.168.1.2")/UDP()/("X" *20) > + > +mismatched packets:: > + > + p2 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer()/IP(src=3D"192.168.1.11", dst=3D"192.168.1.2")/UDP()/("X" *20) > + p2 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer()/IP(src=3D"192.168.1.1", dst=3D"192.168.1.22")/UDP()/("X" *20) > + p2 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer()/IP(src=3D"192.168.1.11", dst=3D"192.168.1.22")/UDP()/("X" *20) > + > +subcase 7: MAC_IPV4_GTPU_EH_IPV4_UDP_L3SRC_L4DST > +:::::::::::::::::::::::::::::::::::::::::::::::: > +rule:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv= 4 src is > 192.168.1.1 / udp dst is 23 / end actions vf id 1 / end > + > +matched packets:: > + > + p1 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer()/IP(src=3D"192.168.1.1")/UDP(dport=3D23)/("X" *20) > + > +mismatched packets:: > + > + p2 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer()/IP(src=3D"192.168.1.11")/UDP(dport=3D23)/("X" *20) > + p3 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer()/IP(src=3D"192.168.1.1")/UDP(dport=3D13)/("X" *20) > + p4 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer()/IP(src=3D"192.168.1.11")/UDP(dport=3D13)/("X" *20) > + > +subcase 8: MAC_IPV4_GTPU_EH_IPV4_UDP_L3SRC_L4SRC > +:::::::::::::::::::::::::::::::::::::::::::::::: > +rule:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv= 4 src is > 192.168.1.1 / udp src is 22 / end actions vf id 1 / end > + > +matched packets:: > + > + p1 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer()/IP(src=3D"192.168.1.1")/UDP(sport=3D22)/("X" *20) > + > +mismatched packets:: > + > + p2 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer()/IP(src=3D"192.168.1.11")/UDP(sport=3D22)/("X" *20) > + p3 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer()/IP(src=3D"192.168.1.1")/UDP(sport=3D12)/("X" *20) > + p4 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer()/IP(src=3D"192.168.1.11")/UDP(sport=3D12)/("X" *20) > + > + > +subcase 9: MAC_IPV4_GTPU_EH_IPV4_UDP_L3DST_L4SRC > +:::::::::::::::::::::::::::::::::::::::::::::::: > +rule:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv= 4 dst is > 192.168.1.2 / udp src is 22 / end actions vf id 1 / end > + > +matched packets:: > + > + p1 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer()/IP(dst=3D"192.168.1.2")/UDP(sport=3D22)/("X" *20) > + > +mismatched packets:: > + > + p2 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer()/IP(dst=3D"192.168.1.22")/UDP(sport=3D22)/("X" *20) > + p3 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer()/IP(dst=3D"192.168.1.2")/UDP(sport=3D12)/("X" *20) > + p4 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer()/IP(dst=3D"192.168.1.22")/UDP(sport=3D12)/("X" *20) > + > +subcase 10: MAC_IPV4_GTPU_EH_IPV4_UDP_L3DST_L4DST > +::::::::::::::::::::::::::::::::::::::::::::::::: > +rule:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv= 4 dst is > 192.168.1.2 / udp dst is 23 / end actions vf id 1 / end > + > +matched packets:: > + > + p1 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer()/IP(dst=3D"192.168.1.2")/UDP(dport=3D23)/("X" *20) > + > +mismatched packets:: > + > + p2 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer()/IP(dst=3D"192.168.1.22")/UDP(dport=3D23)/("X" *20) > + p3 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer()/IP(dst=3D"192.168.1.2")/UDP(dport=3D13)/("X" *20) > + p4 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer()/IP(dst=3D"192.168.1.22")/UDP(dport=3D13)/("X" *20) > + > +subcase 11: MAC_IPV4_GTPU_EH_IPV4_UDP_L4DST > +::::::::::::::::::::::::::::::::::::::::::: > +rule:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv= 4 / udp dst > is 23 / end actions vf id 1 / end > + > +matched packets:: > + > + p1 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer()/IP()/UDP(dport=3D23)/("X" *20) > + > +mismatched packets:: > + > + p2 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer()/IP()/UDP(dport=3D13)/("X" *20) > + > +subcase 12: MAC_IPV4_GTPU_EH_IPV4_UDP_L4SRC > +::::::::::::::::::::::::::::::::::::::::::: > +rule:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv= 4 / udp src > is 22 / end actions vf id 1 / end > + > +matched packets:: > + > + p1 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer()/IP()/UDP(sport=3D22)/("X" *20) > + > +mismatched packets:: > + > + p2 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer()/IP()/UDP(sport=3D12)/("X" *20) > + > +subcase 13: MAC_IPV4_GTPU_EH_IPV4_UDP_L4SRC_L4DST > +::::::::::::::::::::::::::::::::::::::::::::::::: > +rule:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv= 4 / udp src > is 22 dst is 23 / end actions vf id 1 / end > + > +matched packets:: > + > + p1 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer()/IP()/UDP(sport=3D22, dport=3D23)/("X" *20) > + > +mismatched packets:: > + > + p2 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer()/IP()/UDP(sport=3D12, dport=3D23)/("X" *20) > + p3 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer()/IP()/UDP(sport=3D22, dport=3D13)/("X" *20) > + p4 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer()/IP()/UDP(sport=3D12, dport=3D13)/("X" *20) > + > +subcase 14: MAC_IPV4_GTPU_EH_IPV4_UDP_TEID_L3SRC_L3DST > +:::::::::::::::::::::::::::::::::::::::::::::::::::::: > +rule:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345= 678 teid > mask 0x00000001 / gtp_psc / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / = udp / > end actions vf id 1 / end > + > +matched packets:: > + > + p1 =3D Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(gtp_t= ype=3D255, > teid=3D0x12345678)/GTPPDUSessionContainer()/IP(src=3D"192.168.1.1", > dst=3D"192.168.1.2")/UDP()/("X" *20) > + > +mismatched packets:: > + > + p2 =3D Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(gtp_t= ype=3D255, > teid=3D0x12345678)/GTPPDUSessionContainer()/IP(src=3D"192.168.1.11", > dst=3D"192.168.1.22")/UDP()/("X" *20) > + p3 =3D Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(gtp_t= ype=3D255, > teid=3D0x12345677)/GTPPDUSessionContainer()/IP(src=3D"192.168.1.1", > dst=3D"192.168.1.2")/UDP()/("X" *20) > + p4 =3D Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(gtp_t= ype=3D255, > teid=3D0x12345678)/GTPPDUSessionContainer()/IP(src=3D"192.168.1.11", > dst=3D"192.168.1.22")/UDP()/("X" *20) > + > +subcase 15: MAC_IPV4_GTPU_EH_IPV4_UDP_QFI_L3SRC_L3DST > +::::::::::::::::::::::::::::::::::::::::::::::::::::: > +rule:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc qfi i= s 0x34 / ipv4 > src is 192.168.1.1 dst is 192.168.1.2 / udp / end actions vf id 1 / end > + > +matched packets:: > + > + p1 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer(QFI=3D0x34)/IP(src=3D"192.168.1.1", dst=3D"192.168.1.2")/UDP()/("X= " *20) > + > +mismatched packets:: > + > + p2 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer(QFI=3D0x34)/IP(src=3D"192.168.1.11", dst=3D"192.168.1.22")/UDP()/(= "X" *20) > + p3 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer(QFI=3D0x33)/IP(src=3D"192.168.1.1", dst=3D"192.168.1.2")/UDP()/("X= " *20) > + p4 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer(QFI=3D0x33)/IP(src=3D"192.168.1.11", dst=3D"192.168.1.22")/UDP()/(= "X" *20) > + > +subcase 16: MAC_IPV4_GTPU_EH_IPV4_UDP_TEID_L4SRC_L4DST > +:::::::::::::::::::::::::::::::::::::::::::::::::::::: > +rule:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345= 678 teid > mask 0x00000001 / gtp_psc / ipv4 / udp src is 22 dst is 23 / end actions = vf id 1 / > end > + > +matched packets:: > + > + p1 =3D Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(gtp_t= ype=3D255, > teid=3D0x12345678)/GTPPDUSessionContainer()/IP()/UDP(sport=3D22, > dport=3D23)/("X" *20) > + > +mismatched packets:: > + > + p2 =3D Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(gtp_t= ype=3D255, > teid=3D0x12345678)/GTPPDUSessionContainer()/IP()/UDP(sport=3D12, > dport=3D13)/("X" *20) > + p3 =3D Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(gtp_t= ype=3D255, > teid=3D0x12345677)/GTPPDUSessionContainer()/IP()/UDP(sport=3D22, > dport=3D23)/("X" *20) > + p4 =3D Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(gtp_t= ype=3D255, > teid=3D0x12345677)/GTPPDUSessionContainer()/IP()/UDP(sport=3D12, > dport=3D13)/("X" *20) > + > +subcase 17: MAC_IPV4_GTPU_EH_IPV4_UDP_QFI_L4SRC_L4DST > +::::::::::::::::::::::::::::::::::::::::::::::::::::: > +rule:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc qfi i= s 0x34 / ipv4 > / udp src is 22 dst is 23 / end actions vf id 1 / end > + > +matched packets:: > + > + p1 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer(QFI=3D0x34)/IP()/UDP(sport=3D22, dport=3D23)/("X" *20) > + > +mismatched packets:: > + > + p4 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer(QFI=3D0x34)/IP()/UDP(sport=3D12, dport=3D13)/("X" *20) > + p4 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer(QFI=3D0x33)/IP()/UDP(sport=3D22, dport=3D23)/("X" *20) > + p4 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer(QFI=3D0x33)/IP()/UDP(sport=3D12, dport=3D13)/("X" *20) > + > +subcase 18: MAC_IPV4_GTPU_EH_IPV4_UDP_L3_l4 > +::::::::::::::::::::::::::::::::::::::::::: > +rule:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / gtp_psc / ipv= 4 src is > 192.168.1.1 dst is 192.168.1.2 / udp src is 22 dst is 23 / end actions vf= id 1 / end > + > +matched packets:: > + > + p1 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer()/IP(src=3D"192.168.1.1", dst=3D"192.168.1.2")/UDP(sport=3D22, dpo= rt=3D23)/("X" > *20) > + > +mismatched packets:: > + > + p2 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer()/IP(src=3D"192.168.1.1", dst=3D"192.168.1.2")/UDP(sport=3D12, dpo= rt=3D23)/("X" > *20) > + p3 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer()/IP(src=3D"192.168.1.1", dst=3D"192.168.1.2")/UDP(sport=3D22, dpo= rt=3D13)/("X" > *20) > + p4 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer()/IP(src=3D"192.168.1.1", dst=3D"192.168.1.2")/UDP(sport=3D12, dpo= rt=3D13)/("X" > *20) > + p5 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer()/IP(src=3D"192.168.1.11", dst=3D"192.168.1.2")/UDP(sport=3D22, > dport=3D23)/("X" *20) > + p6 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer()/IP(src=3D"192.168.1.1", dst=3D"192.168.1.22")/UDP(sport=3D22, > dport=3D23)/("X" *20) > + p7 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer()/IP(src=3D"192.168.1.11", dst=3D"192.168.1.22")/UDP(sport=3D22, > dport=3D23)/("X" *20) > + p8 =3D > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/GTPPDUSessionC= on > tainer()/IP(src=3D"192.168.1.11", dst=3D"192.168.1.22")/UDP(sport=3D12, > dport=3D13)/("X" *20) > + > +subcase 19: MAC_IPV4_GTPU_EH_IPV4_UDP_ALL > +::::::::::::::::::::::::::::::::::::::::: > +rule:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345= 678 teid > mask 0x00000001 / gtp_psc qfi is 0x34 / ipv4 src is 192.168.1.1 dst is 19= 2.168.1.2 > / udp src is 22 dst is 23 / end actions vf id 1 / end > + > +matched packets:: > + > + p1 =3D Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(gtp_t= ype=3D255, > teid=3D0x12345678)/GTPPDUSessionContainer(QFI=3D0x34)/IP(src=3D"192.168.1= .1", > dst=3D"192.168.1.2")/udp(sport=3D22, dport=3D23)/("X" *20) > + > +mismatched packets:: > + > + p2 =3D Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(gtp_t= ype=3D255, > teid=3D0x12345677)/GTPPDUSessionContainer(QFI=3D0x34)/IP(src=3D"192.168.1= .1", > dst=3D"192.168.1.2")/udp(sport=3D22, dport=3D23)/("X" *20) > + p3 =3D Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(gtp_t= ype=3D255, > teid=3D0x12345678)/GTPPDUSessionContainer(QFI=3D0x33)/IP(src=3D"192.168.1= .1", > dst=3D"192.168.1.2")/udp(sport=3D22, dport=3D23)/("X" *20) > + p4 =3D Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(gtp_t= ype=3D255, > teid=3D0x12345678)/GTPPDUSessionContainer(QFI=3D0x34)/IP(src=3D"192.168.1= .11", > dst=3D"192.168.1.22")/udp(sport=3D22, dport=3D23)/("X" *20) > + p5 =3D Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(gtp_t= ype=3D255, > teid=3D0x12345678)/GTPPDUSessionContainer(QFI=3D0x34)/IP(src=3D"192.168.1= .1", > dst=3D"192.168.1.2")/udp(sport=3D12, dport=3D13)/("X" *20) > + p6 =3D Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(gtp_t= ype=3D255, > teid=3D0x12345677)/GTPPDUSessionContainer(QFI=3D0x33)/IP(src=3D"192.168.1= .11", > dst=3D"192.168.1.22")/udp(sport=3D12, dport=3D13)/("X" *20) > + > +Test case: MAC_IPV4_GTPU_EH_IPV4_TCP > +>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> > + > +reconfig all case of 'Test case: MAC_IPV4_GTPU_EH_IPV4_UDP': > + rule and pkts: > + change inner 'udp' to 'tcp' > + > +subcase 1: MAC_IPV4_GTPU_EH_IPV4_TCP_TEID_with_mask > +::::::::::::::::::::::::::::::::::::::::::::::::::: > + > +subcase 2: MAC_IPV4_GTPU_EH_IPV4_TCP_TEID_without_mask > +:::::::::::::::::::::::::::::::::::::::::::::::::::::: > + > +subcase 3: MAC_IPV4_GTPU_EH_IPV4_TCP_QFI > +:::::::::::::::::::::::::::::::::::::::: > + > +subcase 4: MAC_IPV4_GTPU_EH_IPV4_TCP_L3DST > +:::::::::::::::::::::::::::::::::::::::::: > + > +subcase 5: MAC_IPV4_GTPU_EH_IPV4_TCP_L3SRC > +:::::::::::::::::::::::::::::::::::::::::: > + > +subcase 6: MAC_IPV4_GTPU_EH_IPV4_TCP_L3SRC_L3DST > +:::::::::::::::::::::::::::::::::::::::::::::::: > + > +subcase 7: MAC_IPV4_GTPU_EH_IPV4_TCP_L3SRC_L4DST > +:::::::::::::::::::::::::::::::::::::::::::::::: > + > +subcase 8: MAC_IPV4_GTPU_EH_IPV4_TCP_L3SRC_L4SRC > +:::::::::::::::::::::::::::::::::::::::::::::::: > + > +subcase 9: MAC_IPV4_GTPU_EH_IPV4_TCP_L3DST_L4SRC > +:::::::::::::::::::::::::::::::::::::::::::::::: > + > +subcase 10: MAC_IPV4_GTPU_EH_IPV4_TCP_L3DST_L4DST > +::::::::::::::::::::::::::::::::::::::::::::::::: > + > +subcase 11: MAC_IPV4_GTPU_EH_IPV4_TCP_L4DST > +::::::::::::::::::::::::::::::::::::::::::: > + > +subcase 12: MAC_IPV4_GTPU_EH_IPV4_TCP_L4SRC > +::::::::::::::::::::::::::::::::::::::::::: > + > +subcase 13: MAC_IPV4_GTPU_EH_IPV4_TCP_L4SRC_L4DST > +::::::::::::::::::::::::::::::::::::::::::::::::: > + > +subcase 14: MAC_IPV4_GTPU_EH_IPV4_TCP_TEID_L3SRC_L3DST > +:::::::::::::::::::::::::::::::::::::::::::::::::::::: > + > +subcase 15: MAC_IPV4_GTPU_EH_IPV4_TCP_QFI_L3SRC_L3DST > +::::::::::::::::::::::::::::::::::::::::::::::::::::: > + > +subcase 16: MAC_IPV4_GTPU_EH_IPV4_TCP_TEID_L4SRC_L4DST > +:::::::::::::::::::::::::::::::::::::::::::::::::::::: > + > +subcase 17: MAC_IPV4_GTPU_EH_IPV4_TCP_QFI_L4SRC_L4DST > +::::::::::::::::::::::::::::::::::::::::::::::::::::: > + > +subcase 18: MAC_IPV4_GTPU_EH_IPV4_TCP_L3_l4 > +::::::::::::::::::::::::::::::::::::::::::: > + > +subcase 19: MAC_IPV4_GTPU_EH_IPV4_TCP_ALL > +::::::::::::::::::::::::::::::::::::::::: > + > +Test case: MAC_IPV4_GTPU_IPV4 > +>>>>>>>>>>>>>>>>>>>>>>>>>>>>> > + > +basic pkts: > +ipv4-nonfrag packet:: > + > + Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/IP()/("X" = *20) > + > +ipv4-frag packet:: > + > + Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/IP(frag= =3D6)/("X" > *20) > + > +subcase 1: MAC_IPV4_GTPU_IPV4_TEID_with_mask > +:::::::::::::::::::::::::::::::::::::::::::: > +rule:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345= 678 teid > mask 0x00000001 / ipv4 / end actions vf id 1 / end > + > +matched packets:: > + > + pkts_set1:send basic pkts with GTP_U_Header(gtp_type=3D255, > teid=3D0x12345678) > + > + pkts_set2:send basic pkts with GTP_U_Header(gtp_type=3D255, > teid=3D0x12345688) > + > +mismatched packets:: > + > + pkts_set3:send basic pkts with GTP_U_Header(gtp_type=3D255, > teid=3D0x12345677) > + > +subcase 2: MAC_IPV4_GTPU_IPV4_TEID_without_mask > +::::::::::::::::::::::::::::::::::::::::::::::: > +rule:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345= 678 / ipv4 > / end actions vf id 1 / end > + > +matched packets:: > + > + pkts_set1:send basic pkts with GTP_U_Header(gtp_type=3D255, > teid=3D0x12345678) > + > +mismatched packets:: > + > + pkts_set2:send basic pkts with GTP_U_Header(gtp_type=3D255, > teid=3D0x12345688) > + > + pkts_set3:send basic pkts with GTP_U_Header(gtp_type=3D255, > teid=3D0x12345677) > + > +subcase 3: MAC_IPV4_GTPU_IPV4_L3DST > +::::::::::::::::::::::::::::::::::: > +rule:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 dst is 1= 92.168.1.2 / > end actions vf id 1 / end > + > +matched packets:: > + > + pkts_set1:send basic pkts with inner l3dst, take 'ipv4-nonfrag' for e= xample: > + > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/IP(dst=3D"192.= 168.1.2 > ")/("X" *20) > + > +mismatched packets:: > + > + pkts_set2: send pkts_set1 with different inner l3dst: > + > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/IP(dst=3D"192.= 168.1.2 > 2")/("X" *20) > + > +subcase 4: MAC_IPV4_GTPU_IPV4_L3SRC > +::::::::::::::::::::::::::::::::::: > +rule:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 1= 92.168.1.1 / > end actions vf id 1 / end > + > +matched packets:: > + > + pkts_set1:send basic pkts with inner l3src, take 'ipv4-nonfrag' for e= xample: > + > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/IP(src=3D"192.= 168.1.1 > ")/("X" *20) > + > +mismatched packets:: > + > + pkts_set2: send pkts_set1 with different inner l3src: > + > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/IP(src=3D"192.= 168.1.1 > 1")/("X" *20) > + > +subcase 4: MAC_IPV4_GTPU_IPV4_L3SRC_L3DST > +::::::::::::::::::::::::::::::::::::::::: > +rule:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 1= 92.168.1.1 > dst is 192.168.1.2 / end actions vf id 1 / end > + > +matched packets:: > + > + pkts_set1:send basic pkts with inner l3src l4dst, take 'ipv4-nonfrag'= for > example: > + > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/IP(src=3D"192.= 168.1.1 > " dst=3D"192.168.1.2")/("X" *20) > + > +mismatched packets:: > + > + pkts_set2: send pkts_set1 with different inner l3src l4dst: > + > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/IP(src=3D"192.= 168.1.1 > 1", dst=3D"192.168.1.2")/("X" *20) > + > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/IP(src=3D"192.= 168.1.1 > ", dst=3D"192.168.1.22")/("X" *20) > + > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/IP(src=3D"192.= 168.1.1 > 1", dst=3D"192.168.1.22")/("X" *20) > + > +subcase 5: MAC_IPV4_GTPU_IPV4_ALL > +::::::::::::::::::::::::::::::::: > +rule:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345= 678 teid > mask 0x00000001 / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / end action= s vf id 1 > / end > + > +matched packets:: > + > + pkts_set1:send basic pkts with inner l3src l4dst, take 'ipv4-nonfrag'= for > example: > + Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(gtp_type= =3D255, > teid=3D0x12345678)/IP(src=3D"192.168.1.1" dst=3D"192.168.1.2")/("X" *20) > + > +mismatched packets:: > + > + pkts_set2: send pkts_set1 with different inner l3src: > + Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(gtp_type= =3D255, > teid=3D0x12345678)/IP(src=3D"192.168.1.11", dst=3D"192.168.1.22")/("X" *2= 0) > + Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(gtp_type= =3D255, > teid=3D0x12345677)/IP(src=3D"192.168.1.11", dst=3D"192.168.1.22")/("X" *2= 0) > + > +Test case: MAC_IPV4_GTPU_IPV4_UDP > +>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> > + > +basic pkts:: > + > + Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/IP()/UDP(= )/("X" > *20) > + > +subcase 1: MAC_IPV4_GTPU_IPV4_UDP_TEID_with_mask > +:::::::::::::::::::::::::::::::::::::::::::::::: > +rule:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345= 678 teid > mask 0x00000001 / ipv4 / udp / end actions vf id 1 / end > + > +matched packets:: > + > + pkts_set1:send basic pkts with GTP_U_Header(gtp_type=3D255, > teid=3D0x12345678) > + > + pkts_set2:send basic pkts with GTP_U_Header(gtp_type=3D255, > teid=3D0x12345688) > + > +mismatched packets:: > + > + pkts_set3:send basic pkts with GTP_U_Header(gtp_type=3D255, > teid=3D0x12345677) > + > +subcase 2: MAC_IPV4_GTPU_IPV4_UDP_TEID_without_mask > +::::::::::::::::::::::::::::::::::::::::::::::::::: > +rule:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345= 678 / ipv4 > / udp / end actions vf id 1 / end > + > +matched packets:: > + > + pkts_set1:send basic pkts with GTP_U_Header(gtp_type=3D255, > teid=3D0x12345678) > + > +mismatched packets:: > + > + pkts_set2:send basic pkts with GTP_U_Header(gtp_type=3D255, > teid=3D0x12345688) > + > + pkts_set3:send basic pkts with GTP_U_Header(gtp_type=3D255, > teid=3D0x12345677) > + > + > +subcase 3: MAC_IPV4_GTPU_IPV4_UDP_L3DST > +::::::::::::::::::::::::::::::::::::::: > +rule:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 dst is 1= 92.168.1.2 / > udp / end actions vf id 1 / end > + > +matched packets:: > + > + pkts_set1:send basic pkts with inner l3dst > + > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/IP(dst=3D"192.= 168.1.2 > ")/UDP()/("X" *20) > + > +mismatched packets:: > + > + pkts_set2: send pkts_set1 with different inner l3dst: > + > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/IP(dst=3D"192.= 168.1.2 > 2")/UDP()/("X" *20) > + > +subcase 4: MAC_IPV4_GTPU_IPV4_UDP_L3SRC > +::::::::::::::::::::::::::::::::::::::: > +rule:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 1= 92.168.1.1 / > udp / end actions vf id 1 / end > + > +matched packets:: > + > + pkts_set1:send basic pkts with inner l3src > + > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/IP(src=3D"192.= 168.1.1 > ")/UDP()/("X" *20) > + > +mismatched packets:: > + > + pkts_set2: send pkts_set1 with different inner l3src: > + > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/IP(src=3D"192.= 168.1.1 > 1")/UDP()/("X" *20) > + > +subcase 5: MAC_IPV4_GTPU_IPV4_UDP_L3SRC_L3DST > +::::::::::::::::::::::::::::::::::::::::::::: > +rule:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 1= 92.168.1.1 > dst is 192.168.1.2 / udp / end actions vf id 1 / end > + > +matched packets:: > + > + pkts_set1:send basic pkts with inner l3src l3dst > + > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/IP(src=3D"192.= 168.1.1 > " dst=3D"192.168.1.2")/UDP()/("X" *20) > + > +mismatched packets:: > + > + pkts_set2: send pkts_set1 with different inner l3src l3dst > + > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/IP(src=3D"192.= 168.1.1 > 1", dst=3D"192.168.1.2")/UDP()/("X" *20) > + > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/IP(src=3D"192.= 168.1.1 > ", dst=3D"192.168.1.22")/UDP()/("X" *20) > + > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/IP(src=3D"192.= 168.1.1 > 1", dst=3D"192.168.1.22")/UDP()/("X" *20) > + > +subcase 6: MAC_IPV4_GTPU_IPV4_UDP_L3SRC_L4DST > +::::::::::::::::::::::::::::::::::::::::::::: > +rule:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 1= 92.168.1.1 / > udp dst is 23 / end actions vf id 1 / end > + > +matched packets:: > + > + pkts_set1:send basic pkts with inner l3src l4dst > + > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/IP(src=3D"192.= 168.1.1 > ")/UDP(dport=3D23)/("X" *20) > + > +mismatched packets:: > + > + pkts_set2: send pkts_set1 with different inner l3src l4dst > + > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/IP(src=3D"192.= 168.1.1 > 1")/UDP(dport=3D23)/("X" *20) > + > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/IP(src=3D"192.= 168.1.1 > ")/UDP(dport=3D13)/("X" *20) > + > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/IP(src=3D"192.= 168.1.1 > 1")/UDP(dport=3D13)/("X" *20) > + > +subcase 7: MAC_IPV4_GTPU_IPV4_UDP_L3SRC_L4SRC > +::::::::::::::::::::::::::::::::::::::::::::: > +rule:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 1= 92.168.1.1 / > udp src is 22 / end actions vf id 1 / end > + > +matched packets:: > + > + pkts_set1:send basic pkts with inner l3src l4src > + > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/IP(src=3D"192.= 168.1.1 > ")/UDP(sport=3D22)/("X" *20) > + > +mismatched packets:: > + > + pkts_set2: send pkts_set1 with different inner l3src l4src > + > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/IP(src=3D"192.= 168.1.1 > 1")/UDP(sport=3D22)/("X" *20) > + > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/IP(src=3D"192.= 168.1.1 > ")/UDP(sport=3D12)/("X" *20) > + > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/IP(src=3D"192.= 168.1.1 > 1")/UDP(sport=3D12)/("X" *20) > + > +subcase 8: MAC_IPV4_GTPU_IPV4_UDP_L3DST_L4SRC > +::::::::::::::::::::::::::::::::::::::::::::: > +rule:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 dst is 1= 92.168.1.2 / > udp src is 22 / end actions vf id 1 / end > + > +matched packets:: > + > + pkts_set1:send basic pkts with inner l3dst l4src > + > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/IP(dst=3D"192.= 168.1.2 > ")/UDP(sport=3D22)/("X" *20) > + > +mismatched packets:: > + > + pkts_set2: send pkts_set1 with different inner l3dst l4src > + > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/IP(dst=3D"192.= 168.1.1 > 2")/UDP(sport=3D22)/("X" *20) > + > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/IP(dst=3D"192.= 168.1.2 > ")/UDP(sport=3D12)/("X" *20) > + > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/IP(dst=3D"192.= 168.1.1 > 2")/UDP(sport=3D12)/("X" *20) > + > +subcase 9: MAC_IPV4_GTPU_IPV4_UDP_L3DST_L4DST > +::::::::::::::::::::::::::::::::::::::::::::: > +rule:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 dst is 1= 92.168.1.2 / > udp dst is 23 / end actions vf id 1 / end > + > +matched packets:: > + > + pkts_set1:send basic pkts with inner l3dst l4dst > + > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/IP(dst=3D"192.= 168.1.2 > ")/UDP(dport=3D23)/("X" *20) > + > +mismatched packets:: > + > + pkts_set2: send pkts_set1 with different inner l3dst l4dst > + > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/IP(dst=3D"192.= 168.1.1 > 2")/UDP(dport=3D23)/("X" *20) > + > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/IP(dst=3D"192.= 168.1.2 > ")/UDP(dport=3D13)/("X" *20) > + > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/IP(dst=3D"192.= 168.1.1 > 2")/UDP(dport=3D13)/("X" *20) > + > +subcase 10: MAC_IPV4_GTPU_IPV4_UDP_L4DST > +:::::::::::::::::::::::::::::::::::::::: > +rule:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 / udp ds= t is 23 / end > actions vf id 1 / end > + > +matched packets:: > + > + pkts_set1:send basic pkts with inner l4dst > + > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/IP()/UDP(dport= =3D23) > /("X" *20) > + > +mismatched packets:: > + > + pkts_set2: send pkts_set1 with different inner l4dst > + > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/IP()/UDP(dport= =3D13) > /("X" *20) > + > +subcase 11: MAC_IPV4_GTPU_IPV4_UDP_L4SRC > +:::::::::::::::::::::::::::::::::::::::: > +rule:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 / udp sr= c is 22 / end > actions vf id 1 / end > + > +matched packets:: > + > + pkts_set1:send basic pkts with inner l4src > + > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/IP()/UDP(sport= =3D22)/ > ("X" *20) > + > +mismatched packets:: > + > + pkts_set2: send pkts_set1 with different inner l4src > + > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/IP()/UDP(sport= =3D12)/ > ("X" *20) > + > +subcase 12: MAC_IPV4_GTPU_IPV4_UDP_L4SRC_L4DST > +:::::::::::::::::::::::::::::::::::::::::::::: > +rule:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 / udp sr= c is 22 dst is > 23 / end actions vf id 1 / end > + > +matched packets:: > + > + pkts_set1:send basic pkts with inner l4src l4dst > + > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/IP()/UDP(sport= =3D22, > dport=3D23)/("X" *20) > + > +mismatched packets:: > + > + pkts_set2: send pkts_set1 with different inner l4src l4dst > + > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/IP()/UDP(sport= =3D22, > dport=3D13)/("X" *20) > + > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/IP()/UDP(sport= =3D12, > dport=3D23)/("X" *20) > + > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/IP()/UDP(sport= =3D12, > dport=3D13)/("X" *20) > + > +subcase 13: MAC_IPV4_GTPU_IPV4_UDP_TIED_L3SRC_L3DST > +::::::::::::::::::::::::::::::::::::::::::::::::::: > +rule:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345= 678 teid > mask 0x00000001 / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp / end = actions > vf id 1 / end > + > +matched packets:: > + > + pkts_set1:send basic pkts with inner l3src l3dst > + Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(gtp_type= =3D255, > teid=3D0x12345678)/IP(src=3D"192.168.1.1" dst=3D"192.168.1.2")/UDP()/("X"= *20) > + > +mismatched packets:: > + > + pkts_set2: send pkts_set1 with different inner l3src l3dst > + Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(gtp_type= =3D255, > teid=3D0x12345678)/IP(src=3D"192.168.1.11", dst=3D"192.168.1.22")/UDP()/(= "X" *20) > + Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(gtp_type= =3D255, > teid=3D0x12345677)/IP(src=3D"192.168.1.1", dst=3D"192.168.1.2")/UDP()/("X= " *20) > + Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(gtp_type= =3D255, > teid=3D0x12345677)/IP(src=3D"192.168.1.11", dst=3D"192.168.1.22")/UDP()/(= "X" *20) > + > + > +subcase 14: MAC_IPV4_GTPU_IPV4_UDP_TEID_L4SRC_L4DST > +::::::::::::::::::::::::::::::::::::::::::::::::::: > +rule:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345= 678 teid > mask 0x00000001 / ipv4 / udp src is 22 dst is 23 / end actions vf id 1 / = end > + > +matched packets:: > + > + pkts_set1:send basic pkts with inner l4src l4dst > + Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(gtp_type= =3D255, > teid=3D0x12345678)/IP()/UDP(sport=3D22, dport=3D23)/("X" *20) > + > +mismatched packets:: > + > + pkts_set2: send pkts_set1 with different inner l4src l4dst > + Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(gtp_type= =3D255, > teid=3D0x12345678)/IP()/UDP(sport=3D12, dport=3D13)/("X" *20) > + Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(gtp_type= =3D255, > teid=3D0x12345677)/IP()/UDP(sport=3D22, dport=3D23)/("X" *20) > + Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(gtp_type= =3D255, > teid=3D0x12345677)/IP()/UDP(sport=3D12, dport=3D13)/("X" *20) > + > + > +subcase 15: MAC_IPV4_GTPU_IPV4_UDP_L3_L4 > +:::::::::::::::::::::::::::::::::::::::: > +rule:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu / ipv4 src is 1= 92.168.1.1 > dst is 192.168.1.2 / udp src is 22 dst is 23 / end actions vf id 1 / end > + > +matched packets:: > + > + pkts_set1:send basic pkts with inner l3src l3dst l4src l4dst > + > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/IP(src=3D"192.= 168.1.1 > ", dst=3D"192.168.1.2")/UDP(sport=3D22, dport=3D23)/("X" *20) > + > +mismatched packets:: > + > + pkts_set2: send pkts_set1 with different inner l3src l3dst l4src l4ds= t > + > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/IP(src=3D"192.= 168.1.1 > 1", dst=3D"192.168.1.22")/UDP(sport=3D22, dport=3D23)/("X" *20) > + > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/IP(src=3D"192.= 168.1.1 > ", dst=3D"192.168.1.2")/UDP(sport=3D12, dport=3D13)/("X" *20) > + > Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header()/IP(src=3D"192.= 168.1.1 > 1", dst=3D"192.168.1.22")/UDP(sport=3D12, dport=3D13)/("X" *20) > + > +subcase 16: MAC_IPV4_GTPU_IPV4_UDP_ALL > +:::::::::::::::::::::::::::::::::::::: > +rule:: > + > + flow create 0 ingress pattern eth / ipv4 / udp / gtpu teid is 0x12345= 678 teid > mask 0x00000001 / ipv4 src is 192.168.1.1 dst is 192.168.1.2 / udp src is= 22 dst is > 23 / end actions vf id 1 / end > + > +matched packets:: > + > + pkts_set1:send basic pkts with inner l3src l3dst l4src l4dst > + Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(gtp_type= =3D255, > teid=3D0x12345678)/IP(src=3D"192.168.1.1", dst=3D"192.168.1.2")/UDP(sport= =3D22, > dport=3D23)/("X" *20) > + > +mismatched packets:: > + > + pkts_set2: send pkts_set1 with different inner l3src l3dst l4src l4ds= t > + Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(gtp_type= =3D255, > teid=3D0x12345678)/IP(src=3D"192.168.1.11", dst=3D"192.168.1.22")/UDP(spo= rt=3D22, > dport=3D23)/("X" *20) > + Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(gtp_type= =3D255, > teid=3D0x12345678)/IP(src=3D"192.168.1.1", dst=3D"192.168.1.2")/UDP(sport= =3D12, > dport=3D13)/("X" *20) > + Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/GTP_U_Header(gtp_type= =3D255, > teid=3D0x12345677)/IP(src=3D"192.168.1.11", dst=3D"192.168.1.22")/UDP(spo= rt=3D12, > dport=3D13)/("X" *20) > + > + > +Test case: MAC_IPV4_GTPU_IPV4_TCP > +>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> > + > +reconfig all case of 'Test case: MAC_IPV4_GTPU_IPV4_UDP': > + rule and pkts: > + change inner 'udp' to 'tcp' > + > +subcase 1: MAC_IPV4_GTPU_IPV4_TCP_TEID_with_mask > +:::::::::::::::::::::::::::::::::::::::::::::::: > + > +subcase 2: MAC_IPV4_GTPU_IPV4_TCP_TEID_without_mask > +::::::::::::::::::::::::::::::::::::::::::::::::::: > + > +subcase 3: MAC_IPV4_GTPU_IPV4_TCP_L3DST > +::::::::::::::::::::::::::::::::::::::: > + > +subcase 4: MAC_IPV4_GTPU_IPV4_TCP_L3SRC > +::::::::::::::::::::::::::::::::::::::: > + > +subcase 5: MAC_IPV4_GTPU_IPV4_TCP_L3SRC_L3DST > +::::::::::::::::::::::::::::::::::::::::::::: > + > +subcase 6: MAC_IPV4_GTPU_IPV4_TCP_L3SRC_L4DST > +::::::::::::::::::::::::::::::::::::::::::::: > + > +subcase 7: MAC_IPV4_GTPU_IPV4_TCP_L3SRC_L4SRC > +::::::::::::::::::::::::::::::::::::::::::::: > + > +subcase 8: MAC_IPV4_GTPU_IPV4_TCP_L3DST_L4SRC > +::::::::::::::::::::::::::::::::::::::::::::: > + > +subcase 9: MAC_IPV4_GTPU_IPV4_TCP_L3DST_L4DST > +::::::::::::::::::::::::::::::::::::::::::::: > + > +subcase 10: MAC_IPV4_GTPU_IPV4_TCP_L4DST > +:::::::::::::::::::::::::::::::::::::::: > + > +subcase 11: MAC_IPV4_GTPU_IPV4_TCP_L4SRC > +:::::::::::::::::::::::::::::::::::::::: > + > +subcase 12: MAC_IPV4_GTPU_IPV4_TCP_L4SRC_L4DST > +:::::::::::::::::::::::::::::::::::::::::::::: > + > +subcase 13: MAC_IPV4_GTPU_IPV4_TCP_TIED_L3SRC_L3DST > +::::::::::::::::::::::::::::::::::::::::::::::::::: > + > +subcase 14: MAC_IPV4_GTPU_IPV4_TCP_TEID_L4SRC_L4DST > +::::::::::::::::::::::::::::::::::::::::::::::::::: > + > +subcase 15: MAC_IPV4_GTPU_IPV4_TCP_L3_L4 > +:::::::::::::::::::::::::::::::::::::::: > + > +subcase 16: MAC_IPV4_GTPU_IPV4_TCP_ALL > +:::::::::::::::::::::::::::::::::::::: > + > +Pattern: outer ipv4 + inner ipv6 > +-------------------------------- > + > +reconfig all the cases of "Pattern: outer ipv4 + inner ipv4" > + > + rule: > + change inner ipv4 to ipv6 > + packets: > + change the packet's inner L3 layer from IP to IPv6; > + change the ipv4 address to ipv6 address. > + > +Pattern: outer ipv6 + inner ipv4 > +-------------------------------- > + > +reconfig all the cases of "Pattern: outer ipv4 + inner ipv4" > + > + rule: > + change outer ipv4 to ipv6. > + packets: > + change the packet's outer L3 layer from IP to IPv6; > + > +Pattern: outer ipv6 + inner ipv6 > +-------------------------------- > + > +reconfig all the cases of "Pattern: outer ipv4 + inner ipv4" > + > + rule: > + change outer ipv4 to ipv6. > + change inner ipv4 to ipv6. > + packets: > + change the packet's outer L3 layer from IP to IPv6; > + change the packet's inner L3 layer from IP to IPv6; > + change the ipv4 address to ipv6 address. > -- > 2.17.1