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 12271A034C; Tue, 30 Aug 2022 05:33:57 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0DA58427ED; Tue, 30 Aug 2022 05:33:57 +0200 (CEST) Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by mails.dpdk.org (Postfix) with ESMTP id 73BCC40F17 for ; Tue, 30 Aug 2022 05:33:54 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1661830434; x=1693366434; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=/8Fki3iGWOxz4h8PdWxYqs80GssfW81LPR+nscVX7+k=; b=XM6RJyd6LkVB4Tq4Vjb9t3GKQpW8WehhNOcwA76xptEj/Qi4yB6ICjec V5Ee91S7lduMuNsG1p0+fMVM7gY3hHTMpNGXFm71DMoZkFbbRujnrOH7Q adKpGJk641MkVx7Ro4APeYWisHPtzWlCnAZYHZsMUwiF03OLShdGguAHN BN/4EsAXVBz8cLIBx0SYLOf0+MrwDn5jYUcK3OlgQH/HZO2EAsvsNxyBu +AE1dZb65ALTeMINgdWSAOZt2APV94Le5exWWdMbgdOXVoDhg47YvwQWK 6lpmFNWEWLWd5cg8fMELPlXyujtJ9thLiB88ebsOVRA9r82zZYCsbZj6w w==; X-IronPort-AV: E=McAfee;i="6500,9779,10454"; a="295070809" X-IronPort-AV: E=Sophos;i="5.93,274,1654585200"; d="scan'208";a="295070809" Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Aug 2022 20:33:54 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.93,274,1654585200"; d="scan'208";a="856955459" Received: from dpdk-qifu-cxl.sh.intel.com ([10.67.119.10]) by fmsmga006.fm.intel.com with ESMTP; 29 Aug 2022 20:33:52 -0700 From: Qi Fu To: dts@dpdk.org Cc: Qi Fu Subject: [dts][PATCH V3 2/4]test_plans:add test plan for iavf fdir protocol agnostic flow Date: Tue, 30 Aug 2022 11:33:40 +0800 Message-Id: <20220830033342.4006428-3-qi.fu@intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20220830033342.4006428-1-qi.fu@intel.com> References: <20220830033342.4006428-1-qi.fu@intel.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable 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 Add test plan for iavf fdir protocol agnostic flow offloading. Signed-off-by: Qi Fu --- ..._fdir_protocol_agnostic_flow_test_plan.rst | 344 ++++++++++++++++++ test_plans/index.rst | 1 + 2 files changed, 345 insertions(+) create mode 100644 test_plans/iavf_fdir_protocol_agnostic_flow_test_plan.r= st diff --git a/test_plans/iavf_fdir_protocol_agnostic_flow_test_plan.rst b/te= st_plans/iavf_fdir_protocol_agnostic_flow_test_plan.rst new file mode 100644 index 00000000..f3b8b2ee --- /dev/null +++ b/test_plans/iavf_fdir_protocol_agnostic_flow_test_plan.rst @@ -0,0 +1,344 @@ +.. SPDX-License-Identifier: BSD-3-Clause=0D + Copyright(c) 2022 Intel Corporation=0D +=0D +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=0D +IAVF enable Protocol agnostic flow offloading in FDIR=0D +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=0D +=0D +Description=0D +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0D +IAVF enable protocol agnostic flow offloading in fdir, that means we can u= se raw packet filter instead of naming filter(legacy flow offloading).=0D +As the raw packet filter using spec and mask to describr pattern and input= set,=0D +the protocol agnostic flow offloading is more flexible and customizable co= mpared with legacy flow offloading.=0D +To reduce redundancy, we don't check all the patterns and input set which = is covered by naming filter test cases.=0D +this plan only cover below test hints to check the feasibility of protocol= agnostic flow offloading:=0D +=0D +1. try FDIR with regular 5 tuples for any UDP or TCP packet=0D +2. try FDIR with VXLAN inner IP match (make sure VXLAN tunnel port has bee= n configured either by DCF or swtichdev)=0D +3. try FDIR with GTPU inner IP match=0D +4. try FDIR with GTPU outer IP match=0D +5. try FDIR with un-word-aligned key=0D +=0D +And all the rules are created by packageviewer(ICE parser emulator).=0D +=0D +=0D +Prerequisites=0D +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=0D +=0D +Hardware=0D +--------=0D +Supportted NICs: columbiaville_25g/columbiaville_100g=0D +=0D +Software=0D +--------=0D +DPDK: http://dpdk.org/git/dpdk=0D +Scapy: http://www.secdev.org/projects/scapy/=0D +=0D +General Set Up=0D +--------------=0D +1. Compile DPDK::=0D +=0D + # CC=3Dgcc meson --werror -Denable_kmods=3DTrue -Dlibdir=3Dlib --defau= lt-library=3Dstatic =0D + # ninja -C -j 110=0D +=0D +2. Generate 2 VF from PF(0000:18:00.0 here), ::=0D +=0D + # echo 2 > /sys/bus/pci/devices/0000\:18\:00.0/sriov_numvfs=0D +=0D +3. Get the pci device id and interface of DUT and tester::=0D +=0D + # ./usertools/dpdk-devbind.py -s=0D +=0D + 0000:18:01.0 'Ethernet Adaptive Virtual Function 1889' if=3Dens785f0v0= drv=3Diavf unused=3Dvfio-pci=0D + 0000:18:01.1 'Ethernet Adaptive Virtual Function 1889' if=3Dens785f0v1= drv=3Diavf unused=3Dvfio-pci=0D +=0D +4. set VF0 trust on::=0D +=0D + # ip link set ens785f0 vf 0 trust on=0D +=0D +5. set mac address for VF1::=0D +=0D + # ip link set ens785f0 vf 1 mac 00:11:22:33:44:55=0D +=0D +6. Bind the DUT port to dpdk::=0D +=0D + # ./usertools/dpdk-devbind.py -b vfio-pci =0D +=0D +7. Launch the userland ``testpmd`` application on DUT as follows and ::=0D +=0D + /app/dpdk-testpmd -a 0000:18:01.0,cap=3D= dcf -a 0000:18:01.1 -- -i --rxq=3D --txq=3D=0D + testpmd> set fwd rxonly=0D + testpmd> set verbose 1=0D + testpmd> port config 0 udp_tunnel_port add vxlan 0x12b5=0D + testpmd> start=0D +=0D +..note:: =0D +=0D + For , you can use "-c 0xf -n 1", you can also refer to te= stpmd doc for other setings.=0D +=0D +8. Import layers when start scapy::=0D +=0D + >>> import sys=0D + >>> from scapy.contrib.gtp import *=0D +=0D +=0D +Test Case=0D +=3D=3D=3D=3D=3D=3D=3D=3D=3D=0D +common steps=0D +------------=0D +1. validate rules.=0D +2. create rules and list rules.=0D +3. send matched packets, check the action is right:=0D + queue index: to right queue with mark id=0D + rss queues: to right queue group with mark id=0D + passthru: distributed by rss with mark id=0D + drop: not receive pkt=0D +4. send mismatched packets, check the action is not right:=0D + queue index: not to right queue without mark id=0D + rss queues: not to right queue group without mark id=0D + passthru: distributed by rss without mark id=0D + drop: receive pkt=0D +5. destroy rule, list rules.=0D +6. send matched packets, check the action is not right.=0D +=0D +Test case 1: VF_FDIR_MAC/IPv4/UDP=0D +---------------------------------=0D +rule::=0D +=0D + flow create 1 ingress pattern raw pattern spec 00112233445500000000000= 208004500001C0000000000110000C0A80014C0A800150016001700080000 pattern mask = 0000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFF= F00000000 / end actions queue index 1 / mark id 10 / end=0D + flow create 1 ingress pattern raw pattern spec 00112233445500000000000= 208004500001C0000000000110000C0A80014C0A800150016001700080000 pattern mask = 0000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFF= F00000000 / end actions rss queues 0 1 2 3 end / mark id 4 / end=0D + flow create 1 ingress pattern raw pattern spec 00112233445500000000000= 208004500001C0000000000110000C0A80014C0A800150016001700080000 pattern mask = 0000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFF= F00000000 / end actions passthru / mark id 1 / end=0D + flow create 1 ingress pattern raw pattern spec 00112233445500000000000= 208004500001C0000000000110000C0A80014C0A800150016001700080000 pattern mask = 0000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFF= F00000000 / end actions drop / end=0D +=0D +matched packets::=0D +=0D + sendp([Ether(dst=3D"00:11:22:33:44:55")/IP(src=3D"192.168.0.20",dst=3D= "192.168.0.21")/UDP(sport=3D22,dport=3D23)/Raw('x' * 80)],iface=3D"ens786f0= ")=0D +=0D +mismatched packets::=0D +=0D + sendp([Ether(dst=3D"00:11:22:33:44:55")/IP(src=3D"192.168.1.20",dst=3D= "192.168.0.21")/UDP(sport=3D22,dport=3D23)/Raw('x' * 80)],iface=3D"ens786f0= ")=0D + sendp([Ether(dst=3D"00:11:22:33:44:55")/IP(src=3D"192.168.0.20",dst=3D= "192.168.0.22")/UDP(sport=3D22,dport=3D23)/Raw('x' * 80)],iface=3D"ens786f0= ")=0D + sendp([Ether(dst=3D"00:11:22:33:44:55")/IP(src=3D"192.168.0.20",dst=3D= "192.168.0.21")/UDP(sport=3D21,dport=3D23)/Raw('x' * 80)],iface=3D"ens786f0= ")=0D + sendp([Ether(dst=3D"00:11:22:33:44:55")/IP(src=3D"192.168.0.20",dst=3D= "192.168.0.21")/UDP(sport=3D22,dport=3D24)/Raw('x' * 80)],iface=3D"ens786f0= ")=0D + sendp([Ether(dst=3D"00:11:22:33:44:55")/IP(src=3D"192.168.0.20",dst=3D= "192.168.0.21")/TCP(sport=3D22,dport=3D23)/Raw('x' * 80)],iface=3D"ens786f0= ")=0D +=0D +=0D +Test case 2: VF_FDIR_MAC/IPv6/TCP=0D +---------------------------------=0D +rule::=0D +=0D + flow create 1 ingress pattern raw pattern spec 00112233445500000000000= 286DD6000000000140600CDCD910A222254988475111139001010CDCD910A22225498847511= 11390020200016001700000000000000005000000000000000 pattern mask 00000000000= 000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF= FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000000 / end action= s queue index 1 / mark id 10 / end=0D + flow create 1 ingress pattern raw pattern spec 00112233445500000000000= 286DD6000000000140600CDCD910A222254988475111139001010CDCD910A22225498847511= 11390020200016001700000000000000005000000000000000 pattern mask 00000000000= 000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF= FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000000 / end action= s rss queues 0 1 2 3 end / mark id 4 / end=0D + flow create 1 ingress pattern raw pattern spec 00112233445500000000000= 286DD6000000000140600CDCD910A222254988475111139001010CDCD910A22225498847511= 11390020200016001700000000000000005000000000000000 pattern mask 00000000000= 000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF= FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000000 / end action= s passthru / mark id 1 / end=0D + flow create 1 ingress pattern raw pattern spec 00112233445500000000000= 286DD6000000000140600CDCD910A222254988475111139001010CDCD910A22225498847511= 11390020200016001700000000000000005000000000000000 pattern mask 00000000000= 000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF= FFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000000 / end action= s drop / end=0D +=0D +matched packets::=0D +=0D + sendp([Ether(dst=3D"00:11:22:33:44:55")/IPv6(dst=3D"CDCD:910A:2222:549= 8:8475:1111:3900:2020", src=3D"CDCD:910A:2222:5498:8475:1111:3900:1010")/TC= P(sport=3D22,dport=3D23)/("X"*480)], iface=3D"ens786f0")=0D +=0D +mismatched packets::=0D +=0D + sendp([Ether(dst=3D"00:11:22:33:44:55")/IPv6(dst=3D"CDCD:910A:2222:549= 8:8475:1111:3900:2021", src=3D"CDCD:910A:2222:5498:8475:1111:3900:1010")/TC= P(sport=3D22,dport=3D23)/("X"*480)], iface=3D"ens786f0")=0D + sendp([Ether(dst=3D"00:11:22:33:44:55")/IPv6(dst=3D"CDCD:910A:2222:549= 8:8475:1111:3900:2020", src=3D"CDCD:910A:2222:5498:8475:1111:3900:1011")/TC= P(sport=3D22,dport=3D23)/("X"*480)], iface=3D"ens786f0")=0D + sendp([Ether(dst=3D"00:11:22:33:44:55")/IPv6(dst=3D"CDCD:910A:2222:549= 8:8475:1111:3900:2020", src=3D"CDCD:910A:2222:5498:8475:1111:3900:1010")/TC= P(sport=3D21,dport=3D23)/("X"*480)], iface=3D"ens786f0")=0D + sendp([Ether(dst=3D"00:11:22:33:44:55")/IPv6(dst=3D"CDCD:910A:2222:549= 8:8475:1111:3900:2020", src=3D"CDCD:910A:2222:5498:8475:1111:3900:1010")/TC= P(sport=3D22,dport=3D24)/("X"*480)], iface=3D"ens786f0")=0D + sendp([Ether(dst=3D"00:11:22:33:44:55")/IPv6(dst=3D"CDCD:910A:2222:549= 8:8475:1111:3900:2020", src=3D"CDCD:910A:2222:5498:8475:1111:3900:1010")/UD= P(sport=3D22,dport=3D23)/("X"*480)], iface=3D"ens786f0")=0D +=0D +=0D +Test case 3: VF_FDIR_MAC/IPv4/UDP/VXLAN/MAC/IPv4/PAY=0D +----------------------------------------------------=0D +rule::=0D +=0D + flow create 1 ingress pattern raw pattern spec 00112233445500000000000= 20800450000460000000000110000C0A80014C0A80015000012B50032000008000000000000= 000000000000010000000000020800450000140000000000000000C0A80014C0A80015 patt= ern mask 000000000000000000000000000000000000000000000000000000000000000000= 000000000000000000000000000000000000000000000000000000000000000000000000000= 00000000000FFFFFFFFFFFFFFFF / end actions queue index 1 / mark id 10 / end= =0D + flow create 1 ingress pattern raw pattern spec 00112233445500000000000= 20800450000460000000000110000C0A80014C0A80015000012B50032000008000000000000= 000000000000010000000000020800450000140000000000000000C0A80014C0A80015 patt= ern mask 000000000000000000000000000000000000000000000000000000000000000000= 000000000000000000000000000000000000000000000000000000000000000000000000000= 00000000000FFFFFFFFFFFFFFFF / end actions rss queues 0 1 2 3 end / mark id = 4 / end=0D + flow create 1 ingress pattern raw pattern spec 00112233445500000000000= 20800450000460000000000110000C0A80014C0A80015000012B50032000008000000000000= 000000000000010000000000020800450000140000000000000000C0A80014C0A80015 patt= ern mask 000000000000000000000000000000000000000000000000000000000000000000= 000000000000000000000000000000000000000000000000000000000000000000000000000= 00000000000FFFFFFFFFFFFFFFF / end actions passthru / mark id 1 / end=0D + flow create 1 ingress pattern raw pattern spec 00112233445500000000000= 20800450000460000000000110000C0A80014C0A80015000012B50032000008000000000000= 000000000000010000000000020800450000140000000000000000C0A80014C0A80015 patt= ern mask 000000000000000000000000000000000000000000000000000000000000000000= 000000000000000000000000000000000000000000000000000000000000000000000000000= 00000000000FFFFFFFFFFFFFFFF / end actions drop / end=0D +=0D +matched packets::=0D +=0D + sendp([Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/VXLAN()/Ether()/IP(= src=3D"192.168.0.20",dst=3D"192.168.0.21")/Raw('x' * 80)],iface=3D"ens786f0= ")=0D +=0D +mismatched packets::=0D +=0D + sendp([Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/VXLAN()/Ether()/IP(= src=3D"192.168.0.20",dst=3D"192.168.1.21")/Raw('x' * 80)],iface=3D"ens786f0= ")=0D + sendp([Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/VXLAN()/Ether()/IP(= src=3D"192.168.1.20",dst=3D"192.168.0.21")/Raw('x' * 80)],iface=3D"ens786f0= ")=0D +=0D +=0D +Test case 4: VF_FDIR_MAC/IPv4/UDP/VXLAN/MAC/IPv4/UDP=0D +----------------------------------------------------=0D +rule::=0D +=0D + flow create 1 ingress pattern raw pattern spec 00112233445500000000000= 208004500004E00000000001100000101010102020202000012B5003A000008000000000000= 0000000000000100000000000208004500001C0000000000110000C0A80014C0A8001500000= 00000080000 pattern mask 00000000000000000000000000000000000000000000000000= 000000000000000000000000000000000000000000000000000000000000000000000000000= 000000000000000000000000000FFFFFFFFFFFFFFFF0000000000000000 / end actions q= ueue index 1 / mark id 10 / end=0D + flow create 1 ingress pattern raw pattern spec 00112233445500000000000= 208004500004E00000000001100000101010102020202000012B5003A000008000000000000= 0000000000000100000000000208004500001C0000000000110000C0A80014C0A8001500000= 00000080000 pattern mask 00000000000000000000000000000000000000000000000000= 000000000000000000000000000000000000000000000000000000000000000000000000000= 000000000000000000000000000FFFFFFFFFFFFFFFF0000000000000000 / end actions r= ss queues 0 1 2 3 end / mark id 4 / end=0D + flow create 1 ingress pattern raw pattern spec 00112233445500000000000= 208004500004E00000000001100000101010102020202000012B5003A000008000000000000= 0000000000000100000000000208004500001C0000000000110000C0A80014C0A8001500000= 00000080000 pattern mask 00000000000000000000000000000000000000000000000000= 000000000000000000000000000000000000000000000000000000000000000000000000000= 000000000000000000000000000FFFFFFFFFFFFFFFF0000000000000000 / end actions p= assthru / mark id 1 / end=0D + flow create 1 ingress pattern raw pattern spec 00112233445500000000000= 208004500004E00000000001100000101010102020202000012B5003A000008000000000000= 0000000000000100000000000208004500001C0000000000110000C0A80014C0A8001500000= 00000080000 pattern mask 00000000000000000000000000000000000000000000000000= 000000000000000000000000000000000000000000000000000000000000000000000000000= 000000000000000000000000000FFFFFFFFFFFFFFFF0000000000000000 / end actions d= rop / end=0D +=0D +matched packets::=0D +=0D + sendp([Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/VXLAN()/Ether()/IP(= src=3D"192.168.0.20",dst=3D"192.168.0.21")/UDP()/("X"*480)], iface=3D"ens78= 6f0")=0D +=0D +mismatched packets::=0D +=0D + sendp([Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/VXLAN()/Ether()/IP(= src=3D"192.168.10.20",dst=3D"192.168.0.21")/UDP()/("X"*480)], iface=3D"ens7= 86f0")=0D + sendp([Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/VXLAN()/Ether()/IP(= src=3D"192.168.0.20",dst=3D"192.168.10.21")/UDP()/("X"*480)], iface=3D"ens7= 86f0")=0D + sendp([Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/VXLAN()/Ether()/IP(= src=3D"192.168.0.20",dst=3D"192.168.0.21")/TCP()/("X"*480)], iface=3D"ens78= 6f0")=0D +=0D +=0D +Test case 5: VF_FDIR_MAC/IPv4/UDP/VXLAN/MAC/IPv4_vni=0D +----------------------------------------------------=0D +rule::=0D +=0D + flow create 1 ingress pattern raw pattern spec 00112233445500000000000= 208004500004600000000001100000101010102020202000012B50032000008000000000003= 000000000000010000000000020800450000140000000000000000C0A80014C0A80015 patt= ern mask 000000000000000000000000000000000000000000000000000000000000000000= 0000000000000000000000000000000F0000000000000000000000000000000000000000000= 000000000000000000000000000 / end actions queue index 1 / mark id 10 / end= =0D + flow create 1 ingress pattern raw pattern spec 00112233445500000000000= 208004500004600000000001100000101010102020202000012B50032000008000000000003= 000000000000010000000000020800450000140000000000000000C0A80014C0A80015 patt= ern mask 000000000000000000000000000000000000000000000000000000000000000000= 0000000000000000000000000000000F0000000000000000000000000000000000000000000= 000000000000000000000000000 / end actions rss queues 0 1 2 3 end / mark id = 4 / end=0D + flow create 1 ingress pattern raw pattern spec 00112233445500000000000= 208004500004600000000001100000101010102020202000012B50032000008000000000003= 000000000000010000000000020800450000140000000000000000C0A80014C0A80015 patt= ern mask 000000000000000000000000000000000000000000000000000000000000000000= 0000000000000000000000000000000F0000000000000000000000000000000000000000000= 000000000000000000000000000 / end actions passthru / mark id 1 / end=0D + flow create 1 ingress pattern raw pattern spec 00112233445500000000000= 208004500004600000000001100000101010102020202000012B50032000008000000000003= 000000000000010000000000020800450000140000000000000000C0A80014C0A80015 patt= ern mask 000000000000000000000000000000000000000000000000000000000000000000= 0000000000000000000000000000000F0000000000000000000000000000000000000000000= 000000000000000000000000000 / end actions drop / end=0D +=0D +matched packets::=0D +=0D + sendp([Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/VXLAN(vni=3D3)/Ethe= r()/IP(src=3D"192.168.0.20",dst=3D"192.168.0.21")/("X"*480)], iface=3D"ens7= 86f0")=0D + sendp([Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/VXLAN(vni=3D3)/Ethe= r()/IP(src=3D"192.168.10.20",dst=3D"192.168.0.21")/("X"*480)], iface=3D"ens= 786f0")=0D + sendp([Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/VXLAN(vni=3D3)/Ethe= r()/IP(src=3D"192.168.0.20",dst=3D"192.168.10.21")/("X"*480)], iface=3D"ens= 786f0")=0D +=0D +mismatched packets::=0D +=0D + sendp([Ether(dst=3D"00:11:22:33:44:55")/IP()/UDP()/VXLAN(vni=3D13)/Eth= er()/IP(src=3D"192.168.0.20",dst=3D"192.168.0.21")/("X"*480)], iface=3D"ens= 786f0")=0D +=0D +=0D +Test case 6: VF_FDIR_MAC/IPV4/UDP/GTPU/IPV4=0D +-------------------------------------------=0D +rule::=0D +=0D + flow create 1 ingress pattern raw pattern spec 00112233445500000000000= 20800450000380000000000110000C0A80014C0A80015000008680024000030FF0014000000= 00450000140000000000000000C0A80A14C0A80A15 pattern mask 0000000000000000000= 000000000000000000000000000000000FFFFFFFFFFFFFFFF00000000000000000000000000= 000000000000000000000000000000FFFFFFFFFFFFFFFF / end actions queue index 1 = / mark id 10 / end=0D + flow create 1 ingress pattern raw pattern spec 00112233445500000000000= 20800450000380000000000110000C0A80014C0A80015000008680024000030FF0014000000= 00450000140000000000000000C0A80A14C0A80A15 pattern mask 0000000000000000000= 000000000000000000000000000000000FFFFFFFFFFFFFFFF00000000000000000000000000= 000000000000000000000000000000FFFFFFFFFFFFFFFF / end actions rss queues 0 1= 2 3 end / mark id 4 / end=0D + flow create 1 ingress pattern raw pattern spec 00112233445500000000000= 20800450000380000000000110000C0A80014C0A80015000008680024000030FF0014000000= 00450000140000000000000000C0A80A14C0A80A15 pattern mask 0000000000000000000= 000000000000000000000000000000000FFFFFFFFFFFFFFFF00000000000000000000000000= 000000000000000000000000000000FFFFFFFFFFFFFFFF / end actions passthru / mar= k id 1 / end=0D + flow create 1 ingress pattern raw pattern spec 00112233445500000000000= 20800450000380000000000110000C0A80014C0A80015000008680024000030FF0014000000= 00450000140000000000000000C0A80A14C0A80A15 pattern mask 0000000000000000000= 000000000000000000000000000000000FFFFFFFFFFFFFFFF00000000000000000000000000= 000000000000000000000000000000FFFFFFFFFFFFFFFF / end actions drop / end=0D +=0D +matched packets::=0D +=0D + sendp([Ether(dst=3D"00:11:22:33:44:55")/IP(src=3D"192.168.0.20", dst= =3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x= 12345678)/IP(src=3D"192.168.10.20", dst=3D"192.168.10.21")/Raw('x'*20)], if= ace=3D"ens786f0")=0D +=0D +mismatched packets::=0D +=0D + sendp([Ether(dst=3D"00:11:22:33:44:55")/IP(src=3D"192.168.0.30", dst= =3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x= 12345678)/IP(src=3D"192.168.10.20", dst=3D"192.168.10.21")/Raw('x'*20)], if= ace=3D"ens786f0")=0D + sendp([Ether(dst=3D"00:11:22:33:44:55")/IP(src=3D"192.168.0.20", dst= =3D"192.168.0.31")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x= 12345678)/IP(src=3D"192.168.10.20", dst=3D"192.168.10.21")/Raw('x'*20)], if= ace=3D"ens786f0")=0D + sendp([Ether(dst=3D"00:11:22:33:44:55")/IP(src=3D"192.168.0.20", dst= =3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x= 12345678)/IP(src=3D"192.168.10.30", dst=3D"192.168.10.21")/Raw('x'*20)], if= ace=3D"ens786f0")=0D + sendp([Ether(dst=3D"00:11:22:33:44:55")/IP(src=3D"192.168.0.20", dst= =3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x= 12345678)/IP(src=3D"192.168.10.20", dst=3D"192.168.10.31")/Raw('x'*20)], if= ace=3D"ens786f0")=0D +=0D +=0D +Test case 7: VF_FDIR_MAC/IPV4/UDP/GTPU/IPV6/UDP=0D +-----------------------------------------------=0D +rule::=0D +=0D + flow create 1 ingress pattern raw pattern spec 00112233445500000000000= 20800450000540000000000110000C0A80014C0A80015000008680040000030FF0030000000= 006000000000081100CDCD910A222254988475111139001010CDCD910A22225498847511113= 90020210000000000080000 pattern mask 00000000000000000000000000000000000000= 00000000000000FFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000= 000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000= 00000000 / end actions queue index 1 / mark id 10 / end=0D + flow create 1 ingress pattern raw pattern spec 00112233445500000000000= 20800450000540000000000110000C0A80014C0A80015000008680040000030FF0030000000= 006000000000081100CDCD910A222254988475111139001010CDCD910A22225498847511113= 90020210000000000080000 pattern mask 00000000000000000000000000000000000000= 00000000000000FFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000= 000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000= 00000000 / end actions rss queues 0 1 2 3 end / mark id 4 / end=0D + flow create 1 ingress pattern raw pattern spec 00112233445500000000000= 20800450000540000000000110000C0A80014C0A80015000008680040000030FF0030000000= 006000000000081100CDCD910A222254988475111139001010CDCD910A22225498847511113= 90020210000000000080000 pattern mask 00000000000000000000000000000000000000= 00000000000000FFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000= 000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000= 00000000 / end actions passthru / mark id 1 / end=0D + flow create 1 ingress pattern raw pattern spec 00112233445500000000000= 20800450000540000000000110000C0A80014C0A80015000008680040000030FF0030000000= 006000000000081100CDCD910A222254988475111139001010CDCD910A22225498847511113= 90020210000000000080000 pattern mask 00000000000000000000000000000000000000= 00000000000000FFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000= 000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000= 00000000 / end actions drop / end=0D +=0D +matched packets::=0D +=0D + sendp([Ether(dst=3D"00:11:22:33:44:55")/IP(src=3D"192.168.0.20", dst= =3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x= 12345678)/IPv6(src=3D"CDCD:910A:2222:5498:8475:1111:3900:1010", dst=3D"CDCD= :910A:2222:5498:8475:1111:3900:2021")/UDP()/Raw('x'*20)], iface=3D"ens786f0= ")=0D +=0D +mismatched packets::=0D +=0D + sendp([Ether(dst=3D"00:11:22:33:44:55")/IP(src=3D"192.168.10.20", dst= =3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x= 12345678)/IPv6(src=3D"CDCD:910A:2222:5498:8475:1111:3900:1010", dst=3D"CDCD= :910A:2222:5498:8475:1111:3900:2021")/UDP()/Raw('x'*20)], iface=3D"ens786f0= ")=0D + sendp([Ether(dst=3D"00:11:22:33:44:55")/IP(src=3D"192.168.0.20", dst= =3D"192.168.10.21")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0= x12345678)/IPv6(src=3D"CDCD:910A:2222:5498:8475:1111:3900:1010", dst=3D"CDC= D:910A:2222:5498:8475:1111:3900:2021")/UDP()/Raw('x'*20)], iface=3D"ens786f= 0")=0D + sendp([Ether(dst=3D"00:11:22:33:44:55")/IP(src=3D"192.168.0.20", dst= =3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x= 12345678)/IPv6(src=3D"CDCD:910A:2222:5498:8475:1111:3900:1011", dst=3D"CDCD= :910A:2222:5498:8475:1111:3900:2021")/UDP()/Raw('x'*20)], iface=3D"ens786f0= ")=0D + sendp([Ether(dst=3D"00:11:22:33:44:55")/IP(src=3D"192.168.0.20", dst= =3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x= 12345678)/IPv6(src=3D"CDCD:910A:2222:5498:8475:1111:3900:1010", dst=3D"CDCD= :910A:2222:5498:8475:1111:3900:2022")/UDP()/Raw('x'*20)], iface=3D"ens786f0= ")=0D +=0D +=0D +Test case 8: VF_FDIR_MAC/IPV6/UDP/GTPU/DL/IPV4=0D +----------------------------------------------=0D +rules::=0D +=0D + flow create 1 ingress pattern raw pattern spec 00112233445500000000000= 286DD6000000000281100CDCD910A222254988475111139001010CDCD910A22225498847511= 1139002021000008680028000034FF001C00000000000000850100000045000014000000000= 0000000C0A80014C0A80015 pattern mask 00000000000000000000000000000000000000= 000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000= 0000000000000000000000000000000000000000000000000000000000000000000FFFFFFFF= FFFFFFFF / end actions queue index 1 / mark id 10 / end=0D + flow create 1 ingress pattern raw pattern spec 00112233445500000000000= 286DD6000000000281100CDCD910A222254988475111139001010CDCD910A22225498847511= 1139002021000008680028000034FF001C00000000000000850100000045000014000000000= 0000000C0A80014C0A80015 pattern mask 00000000000000000000000000000000000000= 000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000= 0000000000000000000000000000000000000000000000000000000000000000000FFFFFFFF= FFFFFFFF / end actions rss queues 0 1 2 3 end / mark id 4 / end=0D + flow create 1 ingress pattern raw pattern spec 00112233445500000000000= 286DD6000000000281100CDCD910A222254988475111139001010CDCD910A22225498847511= 1139002021000008680028000034FF001C00000000000000850100000045000014000000000= 0000000C0A80014C0A80015 pattern mask 00000000000000000000000000000000000000= 000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000= 0000000000000000000000000000000000000000000000000000000000000000000FFFFFFFF= FFFFFFFF / end actions passthru / mark id 1 / end=0D + flow create 1 ingress pattern raw pattern spec 00112233445500000000000= 286DD6000000000281100CDCD910A222254988475111139001010CDCD910A22225498847511= 1139002021000008680028000034FF001C00000000000000850100000045000014000000000= 0000000C0A80014C0A80015 pattern mask 00000000000000000000000000000000000000= 000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000= 0000000000000000000000000000000000000000000000000000000000000000000FFFFFFFF= FFFFFFFF / end actions drop / end=0D +=0D +matched packets::=0D +=0D + sendp([Ether(dst=3D"00:11:22:33:44:55")/IPv6(src=3D"CDCD:910A:2222:549= 8:8475:1111:3900:1010", dst=3D"CDCD:910A:2222:5498:8475:1111:3900:2021")/UD= P(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x12345678)/GTPPDUSessi= onContainer(type=3D0, P=3D1, QFI=3D0x34)/IP(src=3D"192.168.0.20", dst=3D"19= 2.168.0.21")/Raw('x'*20)], iface=3D"ens786f0")=0D +=0D +mismatched packets::=0D +=0D + sendp([Ether(dst=3D"00:11:22:33:44:55")/IPv6(src=3D"CDCD:910A:2222:549= 8:8475:1111:3900:1011", dst=3D"CDCD:910A:2222:5498:8475:1111:3900:2021")/UD= P(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x12345678)/GTPPDUSessi= onContainer(type=3D0, P=3D1, QFI=3D0x34)/IP(src=3D"192.168.0.20", dst=3D"19= 2.168.0.21")/Raw('x'*20)], iface=3D"ens786f0")=0D + sendp([Ether(dst=3D"00:11:22:33:44:55")/IPv6(src=3D"CDCD:910A:2222:549= 8:8475:1111:3900:1010", dst=3D"CDCD:910A:2222:5498:8475:1111:3900:2022")/UD= P(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x12345678)/GTPPDUSessi= onContainer(type=3D0, P=3D1, QFI=3D0x34)/IP(src=3D"192.168.0.20", dst=3D"19= 2.168.0.21")/Raw('x'*20)], iface=3D"ens786f0")=0D + sendp([Ether(dst=3D"00:11:22:33:44:55")/IPv6(src=3D"CDCD:910A:2222:549= 8:8475:1111:3900:1010", dst=3D"CDCD:910A:2222:5498:8475:1111:3900:2021")/UD= P(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x12345678)/GTPPDUSessi= onContainer(type=3D0, P=3D1, QFI=3D0x34)/IP(src=3D"192.168.10.20", dst=3D"1= 92.168.0.21")/Raw('x'*20)], iface=3D"ens786f0")=0D + sendp([Ether(dst=3D"00:11:22:33:44:55")/IPv6(src=3D"CDCD:910A:2222:549= 8:8475:1111:3900:1010", dst=3D"CDCD:910A:2222:5498:8475:1111:3900:2021")/UD= P(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x12345678)/GTPPDUSessi= onContainer(type=3D0, P=3D1, QFI=3D0x34)/IP(src=3D"192.168.0.20", dst=3D"19= 2.168.10.21")/Raw('x'*20)], iface=3D"ens786f0")=0D + sendp([Ether(dst=3D"00:11:22:33:44:55")/IPv6(src=3D"CDCD:910A:2222:549= 8:8475:1111:3900:1010", dst=3D"CDCD:910A:2222:5498:8475:1111:3900:2021")/UD= P(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x12345678)/GTPPDUSessi= onContainer(type=3D1, P=3D1, QFI=3D0x34)/IP(src=3D"192.168.0.20", dst=3D"19= 2.168.0.21")/Raw('x'*20)], iface=3D"ens786f0")=0D +=0D +=0D +Test case 9: VF_FDIR_MAC/IPV4/UDP/GTPU/UL/IPV4=0D +----------------------------------------------=0D +rule::=0D +=0D + flow create 1 ingress pattern raw pattern spec 00112233445500000000000= 208004500003C0000000000110000C0A80014C0A80015000008680028000034FF001C000000= 000000008501100000450000140000000000000000C0A80114C0A80115 pattern mask 000= 0000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF0000000000= 00000000000000000000000000000000F00000000000000000000000000000FFFFFFFFFFFFF= FFF / end actions queue index 1 / mark id 10 / end=0D + flow create 1 ingress pattern raw pattern spec 00112233445500000000000= 208004500003C0000000000110000C0A80014C0A80015000008680028000034FF001C000000= 000000008501100000450000140000000000000000C0A80114C0A80115 pattern mask 000= 0000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF0000000000= 00000000000000000000000000000000F00000000000000000000000000000FFFFFFFFFFFFF= FFF / end actions rss queues 0 1 2 3 end / mark id 4 / end=0D + flow create 1 ingress pattern raw pattern spec 00112233445500000000000= 208004500003C0000000000110000C0A80014C0A80015000008680028000034FF001C000000= 000000008501100000450000140000000000000000C0A80114C0A80115 pattern mask 000= 0000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF0000000000= 00000000000000000000000000000000F00000000000000000000000000000FFFFFFFFFFFFF= FFF / end actions passthru / mark id 1 / end=0D + flow create 1 ingress pattern raw pattern spec 00112233445500000000000= 208004500003C0000000000110000C0A80014C0A80015000008680028000034FF001C000000= 000000008501100000450000140000000000000000C0A80114C0A80115 pattern mask 000= 0000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF0000000000= 00000000000000000000000000000000F00000000000000000000000000000FFFFFFFFFFFFF= FFF / end actions drop / end=0D +=0D +matched packets::=0D +=0D + sendp([Ether(dst=3D"00:11:22:33:44:55")/IP(src=3D"192.168.0.20", dst= =3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x= 12345678)/GTPPDUSessionContainer(type=3D1, P=3D1, QFI=3D0x34)/IP(src=3D"192= .168.1.20", dst=3D"192.168.1.21")/Raw('x'*20)], iface=3D"ens786f0")=0D +=0D +mismatched packets::=0D +=0D + sendp([Ether(dst=3D"00:11:22:33:44:55")/IP(src=3D"192.168.0.20", dst= =3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x= 12345678)/GTPPDUSessionContainer(type=3D0, P=3D1, QFI=3D0x34)/IP(src=3D"192= .168.1.20", dst=3D"192.168.1.21")/Raw('x'*20)], iface=3D"ens786f0")=0D + sendp([Ether(dst=3D"00:11:22:33:44:55")/IP(src=3D"192.168.10.20", dst= =3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x= 12345678)/GTPPDUSessionContainer(type=3D1, P=3D1, QFI=3D0x34)/IP(src=3D"192= .168.1.20", dst=3D"192.168.1.21")/Raw('x'*20)], iface=3D"ens786f0")=0D + sendp([Ether(dst=3D"00:11:22:33:44:55")/IP(src=3D"192.168.0.20", dst= =3D"192.168.10.21")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0= x12345678)/GTPPDUSessionContainer(type=3D1, P=3D1, QFI=3D0x34)/IP(src=3D"19= 2.168.1.20", dst=3D"192.168.1.21")/Raw('x'*20)], iface=3D"ens786f0")=0D + sendp([Ether(dst=3D"00:11:22:33:44:55")/IP(src=3D"192.168.0.20", dst= =3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x= 12345678)/GTPPDUSessionContainer(type=3D1, P=3D1, QFI=3D0x34)/IP(src=3D"192= .168.11.20", dst=3D"192.168.1.21")/Raw('x'*20)], iface=3D"ens786f0")=0D + sendp([Ether(dst=3D"00:11:22:33:44:55")/IP(src=3D"192.168.0.20", dst= =3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x= 12345678)/GTPPDUSessionContainer(type=3D1, P=3D1, QFI=3D0x34)/IP(src=3D"192= .168.1.20", dst=3D"192.168.11.21")/Raw('x'*20)], iface=3D"ens786f0")=0D +=0D +=0D +Test case 10: VF_FDIR_MAC/IPV4/UDP/GTPU/DL/IPV6=0D +-----------------------------------------------=0D +rule::=0D +=0D + flow create 1 ingress pattern raw pattern spec 00112233445500000000000= 20800450000500000000000110000C0A80014C0A8001500000868003C000034FF0030000000= 0000000085010000006000000000000000CDCD910A222254988475111140001010CDCD910A2= 22254988475111140002021 pattern mask 00000000000000000000000000000000000000= 00000000000000FFFFFFFFFFFFFFFF000000000000000000000000000000000000000000F00= 0000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF= FFFFFFFF / end actions queue index 1 / mark id 10 / end=0D + flow create 1 ingress pattern raw pattern spec 00112233445500000000000= 20800450000500000000000110000C0A80014C0A8001500000868003C000034FF0030000000= 0000000085010000006000000000000000CDCD910A222254988475111140001010CDCD910A2= 22254988475111140002021 pattern mask 00000000000000000000000000000000000000= 00000000000000FFFFFFFFFFFFFFFF000000000000000000000000000000000000000000F00= 0000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF= FFFFFFFF / end actions rss queues 0 1 2 3 end / mark id 4 / end=0D + flow create 1 ingress pattern raw pattern spec 00112233445500000000000= 20800450000500000000000110000C0A80014C0A8001500000868003C000034FF0030000000= 0000000085010000006000000000000000CDCD910A222254988475111140001010CDCD910A2= 22254988475111140002021 pattern mask 00000000000000000000000000000000000000= 00000000000000FFFFFFFFFFFFFFFF000000000000000000000000000000000000000000F00= 0000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF= FFFFFFFF / end actions passthru / mark id 1 / end=0D + flow create 1 ingress pattern raw pattern spec 00112233445500000000000= 20800450000500000000000110000C0A80014C0A8001500000868003C000034FF0030000000= 0000000085010000006000000000000000CDCD910A222254988475111140001010CDCD910A2= 22254988475111140002021 pattern mask 00000000000000000000000000000000000000= 00000000000000FFFFFFFFFFFFFFFF000000000000000000000000000000000000000000F00= 0000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF= FFFFFFFF / end actions drop / end=0D +=0D +matched packets::=0D +=0D + sendp([Ether(dst=3D"00:11:22:33:44:55")/IP(src=3D"192.168.0.20", dst= =3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x= 12345678)/GTPPDUSessionContainer(type=3D0, P=3D1, QFI=3D0x34)/IPv6(src=3D"C= DCD:910A:2222:5498:8475:1111:4000:1010", dst=3D"CDCD:910A:2222:5498:8475:11= 11:4000:2021")/Raw('x'*20)], iface=3D"ens786f0")=0D +=0D +mismatched packets::=0D +=0D + sendp([Ether(dst=3D"00:11:22:33:44:55")/IP(src=3D"192.168.0.20", dst= =3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x= 12345678)/GTPPDUSessionContainer(type=3D1, P=3D1, QFI=3D0x34)/IPv6(src=3D"C= DCD:910A:2222:5498:8475:1111:4000:1010", dst=3D"CDCD:910A:2222:5498:8475:11= 11:4000:2021")/Raw('x'*20)], iface=3D"ens786f0")=0D + sendp([Ether(dst=3D"00:11:22:33:44:55")/IP(src=3D"192.168.10.20", dst= =3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x= 12345678)/GTPPDUSessionContainer(type=3D0, P=3D1, QFI=3D0x34)/IPv6(src=3D"C= DCD:910A:2222:5498:8475:1111:4000:1010", dst=3D"CDCD:910A:2222:5498:8475:11= 11:4000:2021")/Raw('x'*20)], iface=3D"ens786f0")=0D + sendp([Ether(dst=3D"00:11:22:33:44:55")/IP(src=3D"192.168.0.20", dst= =3D"192.168.10.21")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0= x12345678)/GTPPDUSessionContainer(type=3D0, P=3D1, QFI=3D0x34)/IPv6(src=3D"= CDCD:910A:2222:5498:8475:1111:4000:1010", dst=3D"CDCD:910A:2222:5498:8475:1= 111:4000:2021")/Raw('x'*20)], iface=3D"ens786f0")=0D + sendp([Ether(dst=3D"00:11:22:33:44:55")/IP(src=3D"192.168.0.20", dst= =3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x= 12345678)/GTPPDUSessionContainer(type=3D0, P=3D1, QFI=3D0x34)/IPv6(src=3D"C= DCD:910A:2222:5498:8475:1111:4000:1011", dst=3D"CDCD:910A:2222:5498:8475:11= 11:4000:2021")/Raw('x'*20)], iface=3D"ens786f0")=0D + sendp([Ether(dst=3D"00:11:22:33:44:55")/IP(src=3D"192.168.0.20", dst= =3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x= 12345678)/GTPPDUSessionContainer(type=3D0, P=3D1, QFI=3D0x34)/IPv6(src=3D"C= DCD:910A:2222:5498:8475:1111:4000:1010", dst=3D"CDCD:910A:2222:5498:8475:11= 11:4000:2022")/Raw('x'*20)], iface=3D"ens786f0")=0D +=0D +=0D +Test case 11: VF_FDIR_MAC/IPV4/UDP/GTPU/UL/IPV4/TCP_un-word-aligned key=0D +-----------------------------------------------------------------------=0D +rule::=0D +=0D + flow create 1 ingress pattern raw pattern spec 00112233445500000000000= 20800450000500000000000110000C0A80014C0A8001500000868003C000034FF0030000000= 000000008501100000450000280000000000060000C0A80114C0A8011500000000000000000= 00000005000000000000000 pattern mask 00000000000000000000000000000000000000= 0000000000000000FF000000000000000000000000000000000000000000000000000000000= 000000000000000000000000000000000000000FF0000000000000000000000000000000000= 00000000 / end actions queue index 1 / mark id 10 / end=0D + flow create 1 ingress pattern raw pattern spec 00112233445500000000000= 20800450000500000000000110000C0A80014C0A8001500000868003C000034FF0030000000= 000000008501100000450000280000000000060000C0A80114C0A8011500000000000000000= 00000005000000000000000 pattern mask 00000000000000000000000000000000000000= 0000000000000000FF000000000000000000000000000000000000000000000000000000000= 000000000000000000000000000000000000000FF0000000000000000000000000000000000= 00000000 / end actions rss queues 0 1 2 3 end / mark id 4 / end=0D + flow create 1 ingress pattern raw pattern spec 00112233445500000000000= 20800450000500000000000110000C0A80014C0A8001500000868003C000034FF0030000000= 000000008501100000450000280000000000060000C0A80114C0A8011500000000000000000= 00000005000000000000000 pattern mask 00000000000000000000000000000000000000= 0000000000000000FF000000000000000000000000000000000000000000000000000000000= 000000000000000000000000000000000000000FF0000000000000000000000000000000000= 00000000 / end actions passthru / mark id 1 / end=0D + flow create 1 ingress pattern raw pattern spec 00112233445500000000000= 20800450000500000000000110000C0A80014C0A8001500000868003C000034FF0030000000= 000000008501100000450000280000000000060000C0A80114C0A8011500000000000000000= 00000005000000000000000 pattern mask 00000000000000000000000000000000000000= 0000000000000000FF000000000000000000000000000000000000000000000000000000000= 000000000000000000000000000000000000000FF0000000000000000000000000000000000= 00000000 / end actions drop / end=0D +=0D +matched packets::=0D +=0D + sendp([Ether(dst=3D"00:11:22:33:44:55")/IP(src=3D"192.168.0.20", dst= =3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x= 12345678)/GTPPDUSessionContainer(type=3D1, P=3D1, QFI=3D0x34)/IP(src=3D"192= .168.1.20", dst=3D"192.168.1.21")/TCP()/Raw('x'*20)], iface=3D"ens786f0")=0D +=0D +mismatched packets::=0D +=0D + sendp([Ether(dst=3D"00:11:22:33:44:55")/IP(src=3D"192.16.0.20", dst=3D= "192.168.0.21")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x123= 45678)/GTPPDUSessionContainer(type=3D1, P=3D1, QFI=3D0x34)/IP(src=3D"192.16= 8.1.20", dst=3D"192.168.1.21")/TCP()/Raw('x'*20)], iface=3D"ens786f0")=0D + sendp([Ether(dst=3D"00:11:22:33:44:55")/IP(src=3D"192.168.0.20", dst= =3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x= 12345678)/GTPPDUSessionContainer(type=3D1, P=3D1, QFI=3D0x34)/IP(src=3D"192= .168.1.20", dst=3D"192.168.10.21")/TCP()/Raw('x'*20)], iface=3D"ens786f0")= =0D + sendp([Ether(dst=3D"00:11:22:33:44:55")/IP(src=3D"192.168.0.20", dst= =3D"192.168.0.21")/UDP(dport=3D2152)/GTP_U_Header(gtp_type=3D255, teid=3D0x= 12345678)/GTPPDUSessionContainer(type=3D0, P=3D1, QFI=3D0x34)/IP(src=3D"192= .168.1.20", dst=3D"192.168.1.21")/TCP()/Raw('x'*20)], iface=3D"ens786f0")=0D +=0D +=0D +Test case 12: VF_FDIR_multi-rules_MAC/IPv6/UDP/VXLAN/IPv4=0D +---------------------------------------------------------=0D +1. relaunch testpmd, create 2 rules, same pattern, different inputset, dif= ferent actions::=0D +=0D + flow create 1 ingress pattern raw pattern spec 00112233445500000000000= 286DD6000000000241100CDCD910A222254988475111139001010CDCD910A22225498847511= 1139002020000012B5002400000800000000000000450000140000000000000000C0A80014C= 0A80015 pattern mask 000000000000000000000000000000000000000000000000000000= 000000000000000000000000000000000000000000000000000000000000000000000000000= 00000000000000000000000000000000000FFFFFFFFFFFFFFFF / end actions queue ind= ex 4 / mark id 11 / end=0D + flow create 1 ingress pattern raw pattern spec 00112233445500000000000= 286DD6000000000241100CDCD910A222254988475111139001010CDCD910A22225498847511= 1139002020000012B5002400000800000000000000450000140000000000000000C0A80014C= 0A80015 pattern mask 000000000000000000000000000000000000000000000000000000= 000000000000000000000000000000000000000000000000000000000000000000000000000= 0000000000000000000FFFFFFFFFFFFFFFF0000000000000000 / end actions queue ind= ex 1 / mark id 1 / end=0D +=0D +2. send matched packet, check the first rule can work, the second rule can= 't work::=0D +=0D + sendp([Ether(dst=3D"00:11:22:33:44:55")/IPv6()/UDP()/VXLAN()/IP(src=3D= "192.168.0.20",dst=3D"192.168.0.21")/("X"*480)], iface=3D"ens786f0") \ No newline at end of file diff --git a/test_plans/index.rst b/test_plans/index.rst index 6063d4b6..20192230 100644 --- a/test_plans/index.rst +++ b/test_plans/index.rst @@ -75,6 +75,7 @@ The following are the test plans for the DPDK DTS automat= ed test system. ice_iavf_fdir_gtpogre_test_plan iavf_flexible_descriptor_test_plan iavf_package_driver_error_handle_test_plan + iavf_fdir_protocol_agnostic_flow_test_plan ieee1588_test_plan inline_ipsec_test_plan interrupt_pmd_test_plan --=20 2.25.1