Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/117021/?format=api
http://patches.dpdk.org/api/patches/117021/?format=api", "web_url": "http://patches.dpdk.org/project/dts/patch/20220928045719.108552-5-qi.fu@intel.com/", "project": { "id": 3, "url": "http://patches.dpdk.org/api/projects/3/?format=api", "name": "DTS", "link_name": "dts", "list_id": "dts.dpdk.org", "list_email": "dts@dpdk.org", "web_url": "", "scm_url": "git://dpdk.org/tools/dts", "webscm_url": "http://git.dpdk.org/tools/dts/", "list_archive_url": "https://inbox.dpdk.org/dts", "list_archive_url_format": "https://inbox.dpdk.org/dts/{}", "commit_url_format": "" }, "msgid": "<20220928045719.108552-5-qi.fu@intel.com>", "list_archive_url": "https://inbox.dpdk.org/dts/20220928045719.108552-5-qi.fu@intel.com", "date": "2022-09-28T04:57:19", "name": "[V5,4/4] test_plans:add test plan for ice fdir protocol agnostic flow offloading", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": false, "hash": "ac728518c3a5221c8d6064abce9598c566f5dbeb", "submitter": { "id": 1689, "url": "http://patches.dpdk.org/api/people/1689/?format=api", "name": "Fu, Qi", "email": "qi.fu@intel.com" }, "delegate": null, "mbox": "http://patches.dpdk.org/project/dts/patch/20220928045719.108552-5-qi.fu@intel.com/mbox/", "series": [ { "id": 24871, "url": "http://patches.dpdk.org/api/series/24871/?format=api", "web_url": "http://patches.dpdk.org/project/dts/list/?series=24871", "date": "2022-09-28T04:57:15", "name": "test_plans: add test plans for CVL PF/VF FDIR/RSS protocol agnostic flow offloading", "version": 5, "mbox": "http://patches.dpdk.org/series/24871/mbox/" } ], "comments": "http://patches.dpdk.org/api/patches/117021/comments/", "check": "warning", "checks": "http://patches.dpdk.org/api/patches/117021/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<dts-bounces@dpdk.org>", "X-Original-To": "patchwork@inbox.dpdk.org", "Delivered-To": "patchwork@inbox.dpdk.org", "Received": [ "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 7330BA00C2;\n\tWed, 28 Sep 2022 06:57:37 +0200 (CEST)", "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 6F08D4114E;\n\tWed, 28 Sep 2022 06:57:37 +0200 (CEST)", "from mga04.intel.com (mga04.intel.com [192.55.52.120])\n by mails.dpdk.org (Postfix) with ESMTP id DC72141133\n for <dts@dpdk.org>; Wed, 28 Sep 2022 06:57:34 +0200 (CEST)", "from fmsmga003.fm.intel.com ([10.253.24.29])\n by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 27 Sep 2022 21:57:34 -0700", "from dpdk-qifu-cxl.sh.intel.com ([10.67.119.32])\n by FMSMGA003.fm.intel.com with ESMTP; 27 Sep 2022 21:57:33 -0700" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple;\n d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n t=1664341055; x=1695877055;\n h=from:to:cc:subject:date:message-id:in-reply-to:\n references:mime-version:content-transfer-encoding;\n bh=aFes2JWHMjEK+YmY16DUdGmaVl4l8KrtkDgd3pMFy0c=;\n b=MfWnDdUzigy1FAVMa4UqPWqrRakQ2azEeI8SBi/3IPNtBVyuLdjUSrfy\n jqU55wrB9EBhKiWI++VP31bSF9sw04r2CxrhMKf8peID3Wv/6FL0KU9nz\n rtN/lH5CxjxLrEeOEJUF0l0NisdQizjZ+9vWH1yYVMju5iYvpFwAK9E4i\n ehtb5bmdF+67RdKSVpJWc+cdJMyuY0qGIxgZ4E4dYvulKt69uFXDhLwPX\n Gc2Penrim/COuEvfS2pqcW+Bp5yGToBXAS7UVpv31+qW1N/lTvfWEQZzr\n nP3OmGv6aP5vQJk+qMCC8BLiU7GHNa2Sy4osawS/A8YnhRlaRGEG23jds A==;", "X-IronPort-AV": [ "E=McAfee;i=\"6500,9779,10483\"; a=\"300222221\"", "E=Sophos;i=\"5.93,351,1654585200\"; d=\"scan'208\";a=\"300222221\"", "E=McAfee;i=\"6500,9779,10483\"; a=\"710822490\"", "E=Sophos;i=\"5.93,351,1654585200\"; d=\"scan'208\";a=\"710822490\"" ], "X-ExtLoop1": "1", "From": "Qi Fu <qi.fu@intel.com>", "To": "dts@dpdk.org", "Cc": "Qi Fu <qi.fu@intel.com>", "Subject": "[dts][PATCH V5 4/4]test_plans:add test plan for ice fdir protocol\n agnostic flow offloading", "Date": "Wed, 28 Sep 2022 12:57:19 +0800", "Message-Id": "<20220928045719.108552-5-qi.fu@intel.com>", "X-Mailer": "git-send-email 2.25.1", "In-Reply-To": "<20220928045719.108552-1-qi.fu@intel.com>", "References": "<20220928045719.108552-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 <dts.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dts>,\n <mailto:dts-request@dpdk.org?subject=unsubscribe>", "List-Archive": "<http://mails.dpdk.org/archives/dts/>", "List-Post": "<mailto:dts@dpdk.org>", "List-Help": "<mailto:dts-request@dpdk.org?subject=help>", "List-Subscribe": "<https://mails.dpdk.org/listinfo/dts>,\n <mailto:dts-request@dpdk.org?subject=subscribe>", "Errors-To": "dts-bounces@dpdk.org" }, "content": "Add test plan for ice fdir protocol agnostic flow offloading.\n\nSigned-off-by: Qi Fu <qi.fu@intel.com>\n---\n ..._fdir_protocol_agnostic_flow_test_plan.rst | 429 ++++++++++++++++++\n test_plans/index.rst | 1 +\n 2 files changed, 430 insertions(+)\n create mode 100644 test_plans/ice_fdir_protocol_agnostic_flow_test_plan.rst", "diff": "diff --git a/test_plans/ice_fdir_protocol_agnostic_flow_test_plan.rst b/test_plans/ice_fdir_protocol_agnostic_flow_test_plan.rst\nnew file mode 100644\nindex 00000000..14d87598\n--- /dev/null\n+++ b/test_plans/ice_fdir_protocol_agnostic_flow_test_plan.rst\n@@ -0,0 +1,429 @@\n+.. SPDX-License-Identifier: BSD-3-Clause\r\n+ Copyright(c) 2022 Intel Corporation\r\n+\r\n+=======================================================\r\n+ICE PF enable Protocol agnostic flow offloading in FDIR\r\n+=======================================================\r\n+\r\n+Description\r\n+===========\r\n+ICE PF enable protocol agnostic flow offloading in fdir, that means we can use raw packet filter instead of naming filter(legacy flow offloading).\r\n+As the raw packet filter using spec and mask to describr pattern and input set,\r\n+the protocol agnostic flow offloading is more flexible and customizable compared with legacy flow offloading.\r\n+To reduce redundancy, we don't check all the patterns and input set which is covered by naming filter test cases.\r\n+this plan only cover below test hints to check the feasibility of protocol agnostic flow offloading:\r\n+\r\n+1. try FDIR with regular 5 tuples for any UDP or TCP packet\r\n+2. try FDIR with VXLAN inner IP match (make sure VXLAN tunnel port has been configured either by DCF or swtichdev)\r\n+3. try FDIR with GTPU inner IP match\r\n+4. try FDIR with GTPU outer IP match\r\n+5. try FDIR with un-word-aligned key\r\n+\r\n+And all the rules are created by packageviewer(ICE parser emulator).\r\n+The first string of numbers in the rule represents the matched packet's raw pattern spec,\r\n+the second string represents the mask, using 'F' to mask the inputset.\r\n+Pls get the tool from Intel DPDK team.\r\n+\r\n+\r\n+Prerequisites\r\n+=============\r\n+\r\n+Hardware\r\n+--------\r\n+Supportted NICs: columbiaville_25g/columbiaville_100g\r\n+\r\n+Software\r\n+--------\r\n+DPDK: http://dpdk.org/git/dpdk\r\n+Scapy: http://www.secdev.org/projects/scapy/\r\n+\r\n+General Set Up\r\n+--------------\r\n+1. Compile DPDK::\r\n+\r\n+ # CC=gcc meson --werror -Denable_kmods=True -Dlibdir=lib --default-library=static <dpdk build dir>\r\n+ # ninja -C <dpdk build dir> -j 110\r\n+\r\n+2. Get the pci device id and interface of DUT and tester. \r\n+ For example, 0000:18:00.0 and 0000:18:00.1 is pci device id,\r\n+ ens785f0 and ens785f1 is interface::\r\n+\r\n+ <dpdk dir># ./usertools/dpdk-devbind.py -s\r\n+\r\n+ 0000:18:00.0 'Device 159b' if=ens785f0 drv=ice unused=vfio-pci\r\n+ 0000:18:00.1 'Device 159b' if=ens785f1 drv=ice unused=vfio-pci\r\n+\r\n+3. Bind the DUT port to dpdk::\r\n+\r\n+ <dpdk dir># ./usertools/dpdk-devbind.py -b vfio-pci <DUT port pci device id>\r\n+\r\n+4. Launch the userland ``testpmd`` application on DUT as follows and ::\r\n+\r\n+ <dpdk build dir>/app/dpdk-testpmd <EAL options> -- -i --rxq=<queue number> --txq=<queue number>\r\n+ testpmd> set fwd rxonly\r\n+ testpmd> set verbose 1\r\n+ testpmd> rx_vxlan_port add 4789 0\r\n+ testpmd> start\r\n+\r\n+..note:: \r\n+\r\n+ For <EAL options>, you can use \"-c 0xf -n 1\", you can also refer to testpmd doc for other setings.\r\n+\r\n+5. Import layers when start scapy::\r\n+\r\n+ >>> import sys\r\n+ >>> from scapy.contrib.gtp import *\r\n+\r\n+\r\n+Test Case\r\n+=========\r\n+common steps\r\n+------------\r\n+1. validate rules.\r\n+2. create rules and list rules.\r\n+3. send matched packets, check the action is right::\r\n+\r\n+ queue index: to right queue with mark id\r\n+ rss queues: to right queue group with mark id\r\n+ passthru: distributed by rss with mark id\r\n+ drop: not receive pkt\r\n+\r\n+4. send mismatched packets, check the action is not right::\r\n+\r\n+ queue index: not to right queue without mark id\r\n+ rss queues: not to right queue group without mark id\r\n+ passthru: distributed by rss without mark id\r\n+ drop: receive pkt\r\n+\r\n+5. destroy rule, list rules.\r\n+6. send matched packets, check the action is not right.\r\n+\r\n+Test case 1: ICE_FDIR_MAC/IPv4/UDP\r\n+----------------------------------\r\n+pattern::\r\n+\r\n+ MAC/IPv4/UDP\r\n+\r\n+inputset::\r\n+\r\n+ IP src/dst, UDP sport/dport\r\n+\r\n+rule::\r\n+\r\n+ flow create 0 ingress pattern raw pattern spec 00112233445500000000000208004500001C0000000000110000C0A80014C0A800150016001700080000 pattern mask 0000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF00000000 / end actions queue index 1 / mark id 10 / end\r\n+ flow create 0 ingress pattern raw pattern spec 00112233445500000000000208004500001C0000000000110000C0A80014C0A800150016001700080000 pattern mask 0000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF00000000 / end actions rss queues 0 1 2 3 end / mark id 4 / end\r\n+ flow create 0 ingress pattern raw pattern spec 00112233445500000000000208004500001C0000000000110000C0A80014C0A800150016001700080000 pattern mask 0000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF00000000 / end actions passthru / mark id 1 / end\r\n+ flow create 0 ingress pattern raw pattern spec 00112233445500000000000208004500001C0000000000110000C0A80014C0A800150016001700080000 pattern mask 0000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF00000000 / end actions drop / end\r\n+\r\n+matched packets::\r\n+\r\n+ sendp([Ether(dst=\"00:11:22:33:44:55\")/IP(src=\"192.168.0.20\",dst=\"192.168.0.21\")/UDP(sport=22,dport=23)/Raw('x' * 80)],iface=\"ens786f0\")\r\n+\r\n+mismatched packets::\r\n+\r\n+ sendp([Ether(dst=\"00:11:22:33:44:55\")/IP(src=\"192.168.1.20\",dst=\"192.168.0.21\")/UDP(sport=22,dport=23)/Raw('x' * 80)],iface=\"ens786f0\")\r\n+ sendp([Ether(dst=\"00:11:22:33:44:55\")/IP(src=\"192.168.0.20\",dst=\"192.168.0.22\")/UDP(sport=22,dport=23)/Raw('x' * 80)],iface=\"ens786f0\")\r\n+ sendp([Ether(dst=\"00:11:22:33:44:55\")/IP(src=\"192.168.0.20\",dst=\"192.168.0.21\")/UDP(sport=21,dport=23)/Raw('x' * 80)],iface=\"ens786f0\")\r\n+ sendp([Ether(dst=\"00:11:22:33:44:55\")/IP(src=\"192.168.0.20\",dst=\"192.168.0.21\")/UDP(sport=22,dport=24)/Raw('x' * 80)],iface=\"ens786f0\")\r\n+ sendp([Ether(dst=\"00:11:22:33:44:55\")/IP(src=\"192.168.0.20\",dst=\"192.168.0.21\")/TCP(sport=22,dport=23)/Raw('x' * 80)],iface=\"ens786f0\")\r\n+\r\n+\r\n+Test case 2: ICE_FDIR_MAC/IPv6/TCP\r\n+----------------------------------\r\n+pattern::\r\n+\r\n+ MAC/IPv6/TCP\r\n+\r\n+inputset::\r\n+\r\n+ IP src/dst, TCP sport/dport\r\n+\r\n+rule::\r\n+\r\n+ flow create 0 ingress pattern raw pattern spec 00112233445500000000000286DD6000000000140600CDCD910A222254988475111139001010CDCD910A2222549884751111390020200016001700000000000000005000000000000000 pattern mask 00000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000000 / end actions queue index 1 / mark id 10 / end\r\n+ flow create 0 ingress pattern raw pattern spec 00112233445500000000000286DD6000000000140600CDCD910A222254988475111139001010CDCD910A2222549884751111390020200016001700000000000000005000000000000000 pattern mask 00000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000000 / end actions rss queues 0 1 2 3 end / mark id 4 / end\r\n+ flow create 0 ingress pattern raw pattern spec 00112233445500000000000286DD6000000000140600CDCD910A222254988475111139001010CDCD910A2222549884751111390020200016001700000000000000005000000000000000 pattern mask 00000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000000 / end actions passthru / mark id 1 / end\r\n+ flow create 0 ingress pattern raw pattern spec 00112233445500000000000286DD6000000000140600CDCD910A222254988475111139001010CDCD910A2222549884751111390020200016001700000000000000005000000000000000 pattern mask 00000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF00000000000000000000000000000000 / end actions drop / end\r\n+\r\n+matched packets::\r\n+\r\n+ sendp([Ether(dst=\"00:11:22:33:44:55\")/IPv6(dst=\"CDCD:910A:2222:5498:8475:1111:3900:2020\", src=\"CDCD:910A:2222:5498:8475:1111:3900:1010\")/TCP(sport=22,dport=23)/(\"X\"*480)], iface=\"ens786f0\")\r\n+\r\n+mismatched packets::\r\n+\r\n+ sendp([Ether(dst=\"00:11:22:33:44:55\")/IPv6(dst=\"CDCD:910A:2222:5498:8475:1111:3900:2021\", src=\"CDCD:910A:2222:5498:8475:1111:3900:1010\")/TCP(sport=22,dport=23)/(\"X\"*480)], iface=\"ens786f0\")\r\n+ sendp([Ether(dst=\"00:11:22:33:44:55\")/IPv6(dst=\"CDCD:910A:2222:5498:8475:1111:3900:2020\", src=\"CDCD:910A:2222:5498:8475:1111:3900:1011\")/TCP(sport=22,dport=23)/(\"X\"*480)], iface=\"ens786f0\")\r\n+ sendp([Ether(dst=\"00:11:22:33:44:55\")/IPv6(dst=\"CDCD:910A:2222:5498:8475:1111:3900:2020\", src=\"CDCD:910A:2222:5498:8475:1111:3900:1010\")/TCP(sport=21,dport=23)/(\"X\"*480)], iface=\"ens786f0\")\r\n+ sendp([Ether(dst=\"00:11:22:33:44:55\")/IPv6(dst=\"CDCD:910A:2222:5498:8475:1111:3900:2020\", src=\"CDCD:910A:2222:5498:8475:1111:3900:1010\")/TCP(sport=22,dport=24)/(\"X\"*480)], iface=\"ens786f0\")\r\n+ sendp([Ether(dst=\"00:11:22:33:44:55\")/IPv6(dst=\"CDCD:910A:2222:5498:8475:1111:3900:2020\", src=\"CDCD:910A:2222:5498:8475:1111:3900:1010\")/UDP(sport=22,dport=23)/(\"X\"*480)], iface=\"ens786f0\")\r\n+\r\n+\r\n+Test case 3: ICE_FDIR_MAC/IPv4/UDP/VXLAN/MAC/IPv4/PAY\r\n+-----------------------------------------------------\r\n+pattern::\r\n+\r\n+ MAC/IPv4/UDP/VXLAN/MAC/IPv4/PAY\r\n+\r\n+inputset::\r\n+\r\n+ inner IP src/dst\r\n+\r\n+rule::\r\n+\r\n+ flow create 0 ingress pattern raw pattern spec 0011223344550000000000020800450000460000000000110000C0A80014C0A80015000012B50032000008000000000000000000000000010000000000020800450000140000000000000000C0A80014C0A80015 pattern mask 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF / end actions queue index 1 / mark id 10 / end\r\n+ flow create 0 ingress pattern raw pattern spec 0011223344550000000000020800450000460000000000110000C0A80014C0A80015000012B50032000008000000000000000000000000010000000000020800450000140000000000000000C0A80014C0A80015 pattern mask 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF / end actions rss queues 0 1 2 3 end / mark id 4 / end\r\n+ flow create 0 ingress pattern raw pattern spec 0011223344550000000000020800450000460000000000110000C0A80014C0A80015000012B50032000008000000000000000000000000010000000000020800450000140000000000000000C0A80014C0A80015 pattern mask 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF / end actions passthru / mark id 1 / end\r\n+ flow create 0 ingress pattern raw pattern spec 0011223344550000000000020800450000460000000000110000C0A80014C0A80015000012B50032000008000000000000000000000000010000000000020800450000140000000000000000C0A80014C0A80015 pattern mask 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF / end actions drop / end\r\n+\r\n+matched packets::\r\n+\r\n+ sendp([Ether(dst=\"00:11:22:33:44:55\")/IP()/UDP()/VXLAN()/Ether()/IP(src=\"192.168.0.20\",dst=\"192.168.0.21\")/Raw('x' * 80)],iface=\"ens786f0\")\r\n+\r\n+mismatched packets::\r\n+\r\n+ sendp([Ether(dst=\"00:11:22:33:44:55\")/IP()/UDP()/VXLAN()/Ether()/IP(src=\"192.168.0.20\",dst=\"192.168.1.21\")/Raw('x' * 80)],iface=\"ens786f0\")\r\n+ sendp([Ether(dst=\"00:11:22:33:44:55\")/IP()/UDP()/VXLAN()/Ether()/IP(src=\"192.168.1.20\",dst=\"192.168.0.21\")/Raw('x' * 80)],iface=\"ens786f0\")\r\n+\r\n+\r\n+Test case 4: ICE_FDIR_MAC/IPv4/UDP/VXLAN/MAC/IPv4/UDP\r\n+-----------------------------------------------------\r\n+pattern::\r\n+\r\n+ MAC/IPv4/UDP/VXLAN/MAC/IPv4/UDP\r\n+\r\n+inputset::\r\n+\r\n+ inner IP src/dst\r\n+\r\n+rule::\r\n+\r\n+ flow create 0 ingress pattern raw pattern spec 00112233445500000000000208004500004E00000000001100000101010102020202000012B5003A0000080000000000000000000000000100000000000208004500001C0000000000110000C0A80014C0A800150000000000080000 pattern mask 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF0000000000000000 / end actions queue index 1 / mark id 10 / end\r\n+ flow create 0 ingress pattern raw pattern spec 00112233445500000000000208004500004E00000000001100000101010102020202000012B5003A0000080000000000000000000000000100000000000208004500001C0000000000110000C0A80014C0A800150000000000080000 pattern mask 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF0000000000000000 / end actions rss queues 0 1 2 3 end / mark id 4 / end\r\n+ flow create 0 ingress pattern raw pattern spec 00112233445500000000000208004500004E00000000001100000101010102020202000012B5003A0000080000000000000000000000000100000000000208004500001C0000000000110000C0A80014C0A800150000000000080000 pattern mask 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF0000000000000000 / end actions passthru / mark id 1 / end\r\n+ flow create 0 ingress pattern raw pattern spec 00112233445500000000000208004500004E00000000001100000101010102020202000012B5003A0000080000000000000000000000000100000000000208004500001C0000000000110000C0A80014C0A800150000000000080000 pattern mask 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF0000000000000000 / end actions drop / end\r\n+\r\n+matched packets::\r\n+\r\n+ sendp([Ether(dst=\"00:11:22:33:44:55\")/IP()/UDP()/VXLAN()/Ether()/IP(src=\"192.168.0.20\",dst=\"192.168.0.21\")/UDP()/(\"X\"*480)], iface=\"ens786f0\")\r\n+\r\n+mismatched packets::\r\n+\r\n+ sendp([Ether(dst=\"00:11:22:33:44:55\")/IP()/UDP()/VXLAN()/Ether()/IP(src=\"192.168.10.20\",dst=\"192.168.0.21\")/UDP()/(\"X\"*480)], iface=\"ens786f0\")\r\n+ sendp([Ether(dst=\"00:11:22:33:44:55\")/IP()/UDP()/VXLAN()/Ether()/IP(src=\"192.168.0.20\",dst=\"192.168.10.21\")/UDP()/(\"X\"*480)], iface=\"ens786f0\")\r\n+ sendp([Ether(dst=\"00:11:22:33:44:55\")/IP()/UDP()/VXLAN()/Ether()/IP(src=\"192.168.0.20\",dst=\"192.168.0.21\")/TCP()/(\"X\"*480)], iface=\"ens786f0\")\r\n+\r\n+\r\n+Test case 5: ICE_FDIR_MAC/IPv4/UDP/VXLAN/MAC/IPv4_vni\r\n+-----------------------------------------------------\r\n+pattern::\r\n+\r\n+ MAC/IPv4/UDP/VXLAN/MAC/IPv4\r\n+\r\n+inputset::\r\n+\r\n+ vni\r\n+\r\n+rule::\r\n+\r\n+ flow create 0 ingress pattern raw pattern spec 00112233445500000000000208004500004600000000001100000101010102020202000012B50032000008000000000003000000000000010000000000020800450000140000000000000000C0A80014C0A80015 pattern mask 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000F0000000000000000000000000000000000000000000000000000000000000000000000 / end actions queue index 1 / mark id 10 / end\r\n+ flow create 0 ingress pattern raw pattern spec 00112233445500000000000208004500004600000000001100000101010102020202000012B50032000008000000000003000000000000010000000000020800450000140000000000000000C0A80014C0A80015 pattern mask 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000F0000000000000000000000000000000000000000000000000000000000000000000000 / end actions rss queues 0 1 2 3 end / mark id 4 / end\r\n+ flow create 0 ingress pattern raw pattern spec 00112233445500000000000208004500004600000000001100000101010102020202000012B50032000008000000000003000000000000010000000000020800450000140000000000000000C0A80014C0A80015 pattern mask 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000F0000000000000000000000000000000000000000000000000000000000000000000000 / end actions passthru / mark id 1 / end\r\n+ flow create 0 ingress pattern raw pattern spec 00112233445500000000000208004500004600000000001100000101010102020202000012B50032000008000000000003000000000000010000000000020800450000140000000000000000C0A80014C0A80015 pattern mask 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000F0000000000000000000000000000000000000000000000000000000000000000000000 / end actions drop / end\r\n+\r\n+matched packets::\r\n+\r\n+ sendp([Ether(dst=\"00:11:22:33:44:55\")/IP()/UDP()/VXLAN(vni=3)/Ether()/IP(src=\"192.168.0.20\",dst=\"192.168.0.21\")/(\"X\"*480)], iface=\"ens786f0\")\r\n+ sendp([Ether(dst=\"00:11:22:33:44:55\")/IP()/UDP()/VXLAN(vni=3)/Ether()/IP(src=\"192.168.10.20\",dst=\"192.168.0.21\")/(\"X\"*480)], iface=\"ens786f0\")\r\n+ sendp([Ether(dst=\"00:11:22:33:44:55\")/IP()/UDP()/VXLAN(vni=3)/Ether()/IP(src=\"192.168.0.20\",dst=\"192.168.10.21\")/(\"X\"*480)], iface=\"ens786f0\")\r\n+\r\n+mismatched packets::\r\n+\r\n+ sendp([Ether(dst=\"00:11:22:33:44:55\")/IP()/UDP()/VXLAN(vni=13)/Ether()/IP(src=\"192.168.0.20\",dst=\"192.168.0.21\")/(\"X\"*480)], iface=\"ens786f0\")\r\n+\r\n+\r\n+Test case 6: ICE_FDIR_MAC/IPV4/UDP/GTPU/IPV4\r\n+--------------------------------------------\r\n+pattern::\r\n+\r\n+ MAC/IPV4/UDP/GTPU/IPV4\r\n+\r\n+inputset::\r\n+\r\n+ outer IP src/dst, inner IP src/dst\r\n+\r\n+rule::\r\n+\r\n+ flow create 0 ingress pattern raw pattern spec 0011223344550000000000020800450000380000000000110000C0A80014C0A80015000008680024000030FF001400000000450000140000000000000000C0A80A14C0A80A15 pattern mask 0000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF / end actions queue index 1 / mark id 10 / end\r\n+ flow create 0 ingress pattern raw pattern spec 0011223344550000000000020800450000380000000000110000C0A80014C0A80015000008680024000030FF001400000000450000140000000000000000C0A80A14C0A80A15 pattern mask 0000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF / end actions rss queues 0 1 2 3 end / mark id 4 / end\r\n+ flow create 0 ingress pattern raw pattern spec 0011223344550000000000020800450000380000000000110000C0A80014C0A80015000008680024000030FF001400000000450000140000000000000000C0A80A14C0A80A15 pattern mask 0000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF / end actions passthru / mark id 1 / end\r\n+ flow create 0 ingress pattern raw pattern spec 0011223344550000000000020800450000380000000000110000C0A80014C0A80015000008680024000030FF001400000000450000140000000000000000C0A80A14C0A80A15 pattern mask 0000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF00000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF / end actions drop / end\r\n+\r\n+matched packets::\r\n+\r\n+ sendp([Ether(dst=\"00:11:22:33:44:55\")/IP(src=\"192.168.0.20\", dst=\"192.168.0.21\")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/IP(src=\"192.168.10.20\", dst=\"192.168.10.21\")/Raw('x'*20)], iface=\"ens786f0\")\r\n+\r\n+mismatched packets::\r\n+\r\n+ sendp([Ether(dst=\"00:11:22:33:44:55\")/IP(src=\"192.168.0.30\", dst=\"192.168.0.21\")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/IP(src=\"192.168.10.20\", dst=\"192.168.10.21\")/Raw('x'*20)], iface=\"ens786f0\")\r\n+ sendp([Ether(dst=\"00:11:22:33:44:55\")/IP(src=\"192.168.0.20\", dst=\"192.168.0.31\")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/IP(src=\"192.168.10.20\", dst=\"192.168.10.21\")/Raw('x'*20)], iface=\"ens786f0\")\r\n+ sendp([Ether(dst=\"00:11:22:33:44:55\")/IP(src=\"192.168.0.20\", dst=\"192.168.0.21\")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/IP(src=\"192.168.10.30\", dst=\"192.168.10.21\")/Raw('x'*20)], iface=\"ens786f0\")\r\n+ sendp([Ether(dst=\"00:11:22:33:44:55\")/IP(src=\"192.168.0.20\", dst=\"192.168.0.21\")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/IP(src=\"192.168.10.20\", dst=\"192.168.10.31\")/Raw('x'*20)], iface=\"ens786f0\")\r\n+\r\n+\r\n+Test case 7: ICE_FDIR_MAC/IPV4/UDP/GTPU/IPV6/UDP\r\n+------------------------------------------------\r\n+pattern::\r\n+\r\n+ MAC/IPV4/UDP/GTPU/IPV6/UDP\r\n+\r\n+inputset::\r\n+\r\n+ outer IP src/dst, inner IP src/dst\r\n+\r\n+rule::\r\n+\r\n+ flow create 0 ingress pattern raw pattern spec 0011223344550000000000020800450000540000000000110000C0A80014C0A80015000008680040000030FF0030000000006000000000081100CDCD910A222254988475111139001010CDCD910A2222549884751111390020210000000000080000 pattern mask 0000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000 / end actions queue index 1 / mark id 10 / end\r\n+ flow create 0 ingress pattern raw pattern spec 0011223344550000000000020800450000540000000000110000C0A80014C0A80015000008680040000030FF0030000000006000000000081100CDCD910A222254988475111139001010CDCD910A2222549884751111390020210000000000080000 pattern mask 0000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000 / end actions rss queues 0 1 2 3 end / mark id 4 / end\r\n+ flow create 0 ingress pattern raw pattern spec 0011223344550000000000020800450000540000000000110000C0A80014C0A80015000008680040000030FF0030000000006000000000081100CDCD910A222254988475111139001010CDCD910A2222549884751111390020210000000000080000 pattern mask 0000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000 / end actions passthru / mark id 1 / end\r\n+ flow create 0 ingress pattern raw pattern spec 0011223344550000000000020800450000540000000000110000C0A80014C0A80015000008680040000030FF0030000000006000000000081100CDCD910A222254988475111139001010CDCD910A2222549884751111390020210000000000080000 pattern mask 0000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF0000000000000000 / end actions drop / end\r\n+\r\n+matched packets::\r\n+\r\n+ sendp([Ether(dst=\"00:11:22:33:44:55\")/IP(src=\"192.168.0.20\", dst=\"192.168.0.21\")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/IPv6(src=\"CDCD:910A:2222:5498:8475:1111:3900:1010\", dst=\"CDCD:910A:2222:5498:8475:1111:3900:2021\")/UDP()/Raw('x'*20)], iface=\"ens786f0\")\r\n+\r\n+mismatched packets::\r\n+\r\n+ sendp([Ether(dst=\"00:11:22:33:44:55\")/IP(src=\"192.168.10.20\", dst=\"192.168.0.21\")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/IPv6(src=\"CDCD:910A:2222:5498:8475:1111:3900:1010\", dst=\"CDCD:910A:2222:5498:8475:1111:3900:2021\")/UDP()/Raw('x'*20)], iface=\"ens786f0\")\r\n+ sendp([Ether(dst=\"00:11:22:33:44:55\")/IP(src=\"192.168.0.20\", dst=\"192.168.10.21\")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/IPv6(src=\"CDCD:910A:2222:5498:8475:1111:3900:1010\", dst=\"CDCD:910A:2222:5498:8475:1111:3900:2021\")/UDP()/Raw('x'*20)], iface=\"ens786f0\")\r\n+ sendp([Ether(dst=\"00:11:22:33:44:55\")/IP(src=\"192.168.0.20\", dst=\"192.168.0.21\")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/IPv6(src=\"CDCD:910A:2222:5498:8475:1111:3900:1011\", dst=\"CDCD:910A:2222:5498:8475:1111:3900:2021\")/UDP()/Raw('x'*20)], iface=\"ens786f0\")\r\n+ sendp([Ether(dst=\"00:11:22:33:44:55\")/IP(src=\"192.168.0.20\", dst=\"192.168.0.21\")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/IPv6(src=\"CDCD:910A:2222:5498:8475:1111:3900:1010\", dst=\"CDCD:910A:2222:5498:8475:1111:3900:2022\")/UDP()/Raw('x'*20)], iface=\"ens786f0\")\r\n+\r\n+\r\n+Test case 8: ICE_FDIR_MAC/IPV6/UDP/GTPU/DL/IPV4\r\n+-----------------------------------------------\r\n+pattern::\r\n+\r\n+ MAC/IPV6/UDP/GTPU/DL/IPV4\r\n+\r\n+inputset::\r\n+\r\n+ outer IP src/dst, inner IP src/dst\r\n+\r\n+rules::\r\n+\r\n+ flow create 0 ingress pattern raw pattern spec 00112233445500000000000286DD6000000000281100CDCD910A222254988475111139001010CDCD910A222254988475111139002021000008680028000034FF001C000000000000008501000000450000140000000000000000C0A80014C0A80015 pattern mask 00000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF / end actions queue index 1 / mark id 10 / end\r\n+ flow create 0 ingress pattern raw pattern spec 00112233445500000000000286DD6000000000281100CDCD910A222254988475111139001010CDCD910A222254988475111139002021000008680028000034FF001C000000000000008501000000450000140000000000000000C0A80014C0A80015 pattern mask 00000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF / end actions rss queues 0 1 2 3 end / mark id 4 / end\r\n+ flow create 0 ingress pattern raw pattern spec 00112233445500000000000286DD6000000000281100CDCD910A222254988475111139001010CDCD910A222254988475111139002021000008680028000034FF001C000000000000008501000000450000140000000000000000C0A80014C0A80015 pattern mask 00000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF / end actions passthru / mark id 1 / end\r\n+ flow create 0 ingress pattern raw pattern spec 00112233445500000000000286DD6000000000281100CDCD910A222254988475111139001010CDCD910A222254988475111139002021000008680028000034FF001C000000000000008501000000450000140000000000000000C0A80014C0A80015 pattern mask 00000000000000000000000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF000000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF / end actions drop / end\r\n+\r\n+matched packets::\r\n+\r\n+ sendp([Ether(dst=\"00:11:22:33:44:55\")/IPv6(src=\"CDCD:910A:2222:5498:8475:1111:3900:1010\", dst=\"CDCD:910A:2222:5498:8475:1111:3900:2021\")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src=\"192.168.0.20\", dst=\"192.168.0.21\")/Raw('x'*20)], iface=\"ens786f0\")\r\n+\r\n+mismatched packets::\r\n+\r\n+ sendp([Ether(dst=\"00:11:22:33:44:55\")/IPv6(src=\"CDCD:910A:2222:5498:8475:1111:3900:1011\", dst=\"CDCD:910A:2222:5498:8475:1111:3900:2021\")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src=\"192.168.0.20\", dst=\"192.168.0.21\")/Raw('x'*20)], iface=\"ens786f0\")\r\n+ sendp([Ether(dst=\"00:11:22:33:44:55\")/IPv6(src=\"CDCD:910A:2222:5498:8475:1111:3900:1010\", dst=\"CDCD:910A:2222:5498:8475:1111:3900:2022\")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src=\"192.168.0.20\", dst=\"192.168.0.21\")/Raw('x'*20)], iface=\"ens786f0\")\r\n+ sendp([Ether(dst=\"00:11:22:33:44:55\")/IPv6(src=\"CDCD:910A:2222:5498:8475:1111:3900:1010\", dst=\"CDCD:910A:2222:5498:8475:1111:3900:2021\")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src=\"192.168.10.20\", dst=\"192.168.0.21\")/Raw('x'*20)], iface=\"ens786f0\")\r\n+ sendp([Ether(dst=\"00:11:22:33:44:55\")/IPv6(src=\"CDCD:910A:2222:5498:8475:1111:3900:1010\", dst=\"CDCD:910A:2222:5498:8475:1111:3900:2021\")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src=\"192.168.0.20\", dst=\"192.168.10.21\")/Raw('x'*20)], iface=\"ens786f0\")\r\n+ sendp([Ether(dst=\"00:11:22:33:44:55\")/IPv6(src=\"CDCD:910A:2222:5498:8475:1111:3900:1010\", dst=\"CDCD:910A:2222:5498:8475:1111:3900:2021\")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34)/IP(src=\"192.168.0.20\", dst=\"192.168.0.21\")/Raw('x'*20)], iface=\"ens786f0\")\r\n+\r\n+\r\n+Test case 9: ICE_FDIR_MAC/IPV4/UDP/GTPU/UL/IPV4\r\n+-----------------------------------------------\r\n+pattern::\r\n+\r\n+ MAC/IPV4/UDP/GTPU/UL/IPV4\r\n+\r\n+inputset::\r\n+\r\n+ outer IP src/dst, inner IP src/dst\r\n+\r\n+rule::\r\n+\r\n+ flow create 0 ingress pattern raw pattern spec 00112233445500000000000208004500003C0000000000110000C0A80014C0A80015000008680028000034FF001C000000000000008501100000450000140000000000000000C0A80114C0A80115 pattern mask 0000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF000000000000000000000000000000000000000000F00000000000000000000000000000FFFFFFFFFFFFFFFF / end actions queue index 1 / mark id 10 / end\r\n+ flow create 0 ingress pattern raw pattern spec 00112233445500000000000208004500003C0000000000110000C0A80014C0A80015000008680028000034FF001C000000000000008501100000450000140000000000000000C0A80114C0A80115 pattern mask 0000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF000000000000000000000000000000000000000000F00000000000000000000000000000FFFFFFFFFFFFFFFF / end actions rss queues 0 1 2 3 end / mark id 4 / end\r\n+ flow create 0 ingress pattern raw pattern spec 00112233445500000000000208004500003C0000000000110000C0A80014C0A80015000008680028000034FF001C000000000000008501100000450000140000000000000000C0A80114C0A80115 pattern mask 0000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF000000000000000000000000000000000000000000F00000000000000000000000000000FFFFFFFFFFFFFFFF / end actions passthru / mark id 1 / end\r\n+ flow create 0 ingress pattern raw pattern spec 00112233445500000000000208004500003C0000000000110000C0A80014C0A80015000008680028000034FF001C000000000000008501100000450000140000000000000000C0A80114C0A80115 pattern mask 0000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF000000000000000000000000000000000000000000F00000000000000000000000000000FFFFFFFFFFFFFFFF / end actions drop / end\r\n+\r\n+matched packets::\r\n+\r\n+ sendp([Ether(dst=\"00:11:22:33:44:55\")/IP(src=\"192.168.0.20\", dst=\"192.168.0.21\")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34)/IP(src=\"192.168.1.20\", dst=\"192.168.1.21\")/Raw('x'*20)], iface=\"ens786f0\")\r\n+\r\n+mismatched packets::\r\n+\r\n+ sendp([Ether(dst=\"00:11:22:33:44:55\")/IP(src=\"192.168.0.20\", dst=\"192.168.0.21\")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src=\"192.168.1.20\", dst=\"192.168.1.21\")/Raw('x'*20)], iface=\"ens786f0\")\r\n+ sendp([Ether(dst=\"00:11:22:33:44:55\")/IP(src=\"192.168.10.20\", dst=\"192.168.0.21\")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34)/IP(src=\"192.168.1.20\", dst=\"192.168.1.21\")/Raw('x'*20)], iface=\"ens786f0\")\r\n+ sendp([Ether(dst=\"00:11:22:33:44:55\")/IP(src=\"192.168.0.20\", dst=\"192.168.10.21\")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34)/IP(src=\"192.168.1.20\", dst=\"192.168.1.21\")/Raw('x'*20)], iface=\"ens786f0\")\r\n+ sendp([Ether(dst=\"00:11:22:33:44:55\")/IP(src=\"192.168.0.20\", dst=\"192.168.0.21\")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34)/IP(src=\"192.168.11.20\", dst=\"192.168.1.21\")/Raw('x'*20)], iface=\"ens786f0\")\r\n+ sendp([Ether(dst=\"00:11:22:33:44:55\")/IP(src=\"192.168.0.20\", dst=\"192.168.0.21\")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34)/IP(src=\"192.168.1.20\", dst=\"192.168.11.21\")/Raw('x'*20)], iface=\"ens786f0\")\r\n+\r\n+\r\n+Test case 10: ICE_FDIR_MAC/IPV4/UDP/GTPU/DL/IPV6\r\n+------------------------------------------------\r\n+pattern::\r\n+\r\n+ MAC/IPV4/UDP/GTPU/DL/IPV6\r\n+\r\n+inputset::\r\n+\r\n+ outer IP src/dst, inner IP src/dst\r\n+\r\n+rule::\r\n+\r\n+ flow create 0 ingress pattern raw pattern spec 0011223344550000000000020800450000500000000000110000C0A80014C0A8001500000868003C000034FF00300000000000000085010000006000000000000000CDCD910A222254988475111140001010CDCD910A222254988475111140002021 pattern mask 0000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF000000000000000000000000000000000000000000F000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF / end actions queue index 1 / mark id 10 / end\r\n+ flow create 0 ingress pattern raw pattern spec 0011223344550000000000020800450000500000000000110000C0A80014C0A8001500000868003C000034FF00300000000000000085010000006000000000000000CDCD910A222254988475111140001010CDCD910A222254988475111140002021 pattern mask 0000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF000000000000000000000000000000000000000000F000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF / end actions rss queues 0 1 2 3 end / mark id 4 / end\r\n+ flow create 0 ingress pattern raw pattern spec 0011223344550000000000020800450000500000000000110000C0A80014C0A8001500000868003C000034FF00300000000000000085010000006000000000000000CDCD910A222254988475111140001010CDCD910A222254988475111140002021 pattern mask 0000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF000000000000000000000000000000000000000000F000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF / end actions passthru / mark id 1 / end\r\n+ flow create 0 ingress pattern raw pattern spec 0011223344550000000000020800450000500000000000110000C0A80014C0A8001500000868003C000034FF00300000000000000085010000006000000000000000CDCD910A222254988475111140001010CDCD910A222254988475111140002021 pattern mask 0000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF000000000000000000000000000000000000000000F000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF / end actions drop / end\r\n+\r\n+matched packets::\r\n+\r\n+ sendp([Ether(dst=\"00:11:22:33:44:55\")/IP(src=\"192.168.0.20\", dst=\"192.168.0.21\")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IPv6(src=\"CDCD:910A:2222:5498:8475:1111:4000:1010\", dst=\"CDCD:910A:2222:5498:8475:1111:4000:2021\")/Raw('x'*20)], iface=\"ens786f0\")\r\n+\r\n+mismatched packets::\r\n+\r\n+ sendp([Ether(dst=\"00:11:22:33:44:55\")/IP(src=\"192.168.0.20\", dst=\"192.168.0.21\")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34)/IPv6(src=\"CDCD:910A:2222:5498:8475:1111:4000:1010\", dst=\"CDCD:910A:2222:5498:8475:1111:4000:2021\")/Raw('x'*20)], iface=\"ens786f0\")\r\n+ sendp([Ether(dst=\"00:11:22:33:44:55\")/IP(src=\"192.168.10.20\", dst=\"192.168.0.21\")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IPv6(src=\"CDCD:910A:2222:5498:8475:1111:4000:1010\", dst=\"CDCD:910A:2222:5498:8475:1111:4000:2021\")/Raw('x'*20)], iface=\"ens786f0\")\r\n+ sendp([Ether(dst=\"00:11:22:33:44:55\")/IP(src=\"192.168.0.20\", dst=\"192.168.10.21\")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IPv6(src=\"CDCD:910A:2222:5498:8475:1111:4000:1010\", dst=\"CDCD:910A:2222:5498:8475:1111:4000:2021\")/Raw('x'*20)], iface=\"ens786f0\")\r\n+ sendp([Ether(dst=\"00:11:22:33:44:55\")/IP(src=\"192.168.0.20\", dst=\"192.168.0.21\")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IPv6(src=\"CDCD:910A:2222:5498:8475:1111:4000:1011\", dst=\"CDCD:910A:2222:5498:8475:1111:4000:2021\")/Raw('x'*20)], iface=\"ens786f0\")\r\n+ sendp([Ether(dst=\"00:11:22:33:44:55\")/IP(src=\"192.168.0.20\", dst=\"192.168.0.21\")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IPv6(src=\"CDCD:910A:2222:5498:8475:1111:4000:1010\", dst=\"CDCD:910A:2222:5498:8475:1111:4000:2022\")/Raw('x'*20)], iface=\"ens786f0\")\r\n+\r\n+\r\n+Test case 11: ICE_FDIR_MAC/IPV4/UDP/GTPU/UL/IPV4/TCP_un-word-aligned key\r\n+------------------------------------------------------------------------\r\n+pattern::\r\n+\r\n+ MAC/IPV4/UDP/GTPU/UL/IPV4/TCP\r\n+\r\n+inputset::\r\n+\r\n+ the second field of outer IP src , the third field of inner IP dst\r\n+\r\n+rule::\r\n+\r\n+ flow create 0 ingress pattern raw pattern spec 0011223344550000000000020800450000500000000000110000C0A80014C0A8001500000868003C000034FF0030000000000000008501100000450000280000000000060000C0A80114C0A801150000000000000000000000005000000000000000 pattern mask 000000000000000000000000000000000000000000000000000000FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FF000000000000000000000000000000000000000000 / end actions queue index 1 / mark id 10 / end\r\n+ flow create 0 ingress pattern raw pattern spec 0011223344550000000000020800450000500000000000110000C0A80014C0A8001500000868003C000034FF0030000000000000008501100000450000280000000000060000C0A80114C0A801150000000000000000000000005000000000000000 pattern mask 000000000000000000000000000000000000000000000000000000FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FF000000000000000000000000000000000000000000 / end actions rss queues 0 1 2 3 end / mark id 4 / end\r\n+ flow create 0 ingress pattern raw pattern spec 0011223344550000000000020800450000500000000000110000C0A80014C0A8001500000868003C000034FF0030000000000000008501100000450000280000000000060000C0A80114C0A801150000000000000000000000005000000000000000 pattern mask 000000000000000000000000000000000000000000000000000000FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FF000000000000000000000000000000000000000000 / end actions passthru / mark id 1 / end\r\n+ flow create 0 ingress pattern raw pattern spec 0011223344550000000000020800450000500000000000110000C0A80014C0A8001500000868003C000034FF0030000000000000008501100000450000280000000000060000C0A80114C0A801150000000000000000000000005000000000000000 pattern mask 000000000000000000000000000000000000000000000000000000FF000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FF000000000000000000000000000000000000000000 / end actions drop / end\r\n+\r\n+matched packets::\r\n+\r\n+ sendp([Ether(dst=\"00:11:22:33:44:55\")/IP(src=\"192.168.0.20\", dst=\"192.168.0.21\")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34)/IP(src=\"192.168.1.20\", dst=\"192.168.1.21\")/TCP()/Raw('x'*20)], iface=\"ens786f0\")\r\n+\r\n+mismatched packets::\r\n+\r\n+ sendp([Ether(dst=\"00:11:22:33:44:55\")/IP(src=\"192.16.0.20\", dst=\"192.168.0.21\")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34)/IP(src=\"192.168.1.20\", dst=\"192.168.1.21\")/TCP()/Raw('x'*20)], iface=\"ens786f0\")\r\n+ sendp([Ether(dst=\"00:11:22:33:44:55\")/IP(src=\"192.168.0.20\", dst=\"192.168.0.21\")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/GTPPDUSessionContainer(type=1, P=1, QFI=0x34)/IP(src=\"192.168.1.20\", dst=\"192.168.10.21\")/TCP()/Raw('x'*20)], iface=\"ens786f0\")\r\n+ sendp([Ether(dst=\"00:11:22:33:44:55\")/IP(src=\"192.168.0.20\", dst=\"192.168.0.21\")/UDP(dport=2152)/GTP_U_Header(gtp_type=255, teid=0x12345678)/GTPPDUSessionContainer(type=0, P=1, QFI=0x34)/IP(src=\"192.168.1.20\", dst=\"192.168.1.21\")/TCP()/Raw('x'*20)], iface=\"ens786f0\")\r\n+\r\n+\r\n+Test case 12: ICE_FDIR_multi-rules_MAC/IPv6/UDP/VXLAN/IPv4\r\n+----------------------------------------------------------\r\n+1. relaunch testpmd, create 2 rules, same pattern(MAC/IPv6/UDP/VXLAN/IP), different inputset(inner IP src, inner IP dst), different actions::\r\n+\r\n+ flow create 0 ingress pattern raw pattern spec 00112233445500000000000286DD6000000000241100CDCD910A222254988475111139001010CDCD910A222254988475111139002020000012B5002400000800000000000000450000140000000000000000C0A80014C0A80015 pattern mask 00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF / end actions queue index 4 / mark id 11 / end\r\n+ flow create 0 ingress pattern raw pattern spec 00112233445500000000000286DD6000000000241100CDCD910A222254988475111139001010CDCD910A222254988475111139002020000012B5002400000800000000000000450000140000000000000000C0A80014C0A80015 pattern mask 0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000FFFFFFFFFFFFFFFF0000000000000000 / end actions queue index 1 / mark id 1 / end\r\n+\r\n+2. send matched packet, check the first rule can work, the second rule can't work::\r\n+\r\n+ sendp([Ether(dst=\"00:11:22:33:44:55\")/IPv6()/UDP()/VXLAN()/IP(src=\"192.168.0.20\",dst=\"192.168.0.21\")/(\"X\"*480)], iface=\"ens786f0\")\n\\ No newline at end of file\ndiff --git a/test_plans/index.rst b/test_plans/index.rst\nindex 0a0774e7..d1ea26a4 100644\n--- a/test_plans/index.rst\n+++ b/test_plans/index.rst\n@@ -52,6 +52,7 @@ The following are the test plans for the DPDK DTS automated test system.\n ice_vf_support_multicast_address_test_plan\n ice_1pps_signal_test_plan\n ice_rss_protocol_agnostic_flow_test_plan\n+ ice_fdir_protocol_agnostic_flow_test_plan\n cloud_filter_with_l4_port_test_plan\n dcf_lifecycle_test_plan\n crypto_perf_cryptodev_perf_test_plan\n", "prefixes": [ "V5", "4/4" ] }{ "id": 117021, "url": "