Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/120171/?format=api
https://patches.dpdk.org/api/patches/120171/?format=api", "web_url": "https://patches.dpdk.org/project/dts/patch/20221128015416.4018440-4-jin.ling@intel.com/", "project": { "id": 3, "url": "https://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": "<20221128015416.4018440-4-jin.ling@intel.com>", "list_archive_url": "https://inbox.dpdk.org/dts/20221128015416.4018440-4-jin.ling@intel.com", "date": "2022-11-28T01:54:16", "name": "[V1,3/3] test_plans/ice_disable_acl_filter: add ice_dcf_disable_acl_filter test plan", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": false, "hash": "ad526db89a5150228805c1dee199f5c5c2604678", "submitter": { "id": 2652, "url": "https://patches.dpdk.org/api/people/2652/?format=api", "name": "Jin Ling", "email": "jin.ling@intel.com" }, "delegate": null, "mbox": "https://patches.dpdk.org/project/dts/patch/20221128015416.4018440-4-jin.ling@intel.com/mbox/", "series": [ { "id": 25897, "url": "https://patches.dpdk.org/api/series/25897/?format=api", "web_url": "https://patches.dpdk.org/project/dts/list/?series=25897", "date": "2022-11-28T01:54:13", "name": "add ice_dcf_disable_acl_filter", "version": 1, "mbox": "https://patches.dpdk.org/series/25897/mbox/" } ], "comments": "https://patches.dpdk.org/api/patches/120171/comments/", "check": "fail", "checks": "https://patches.dpdk.org/api/patches/120171/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 F35BEA0093;\n\tMon, 28 Nov 2022 02:54:35 +0100 (CET)", "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id EB49440A79;\n\tMon, 28 Nov 2022 02:54:35 +0100 (CET)", "from mga02.intel.com (mga02.intel.com [134.134.136.20])\n by mails.dpdk.org (Postfix) with ESMTP id 62A8140156\n for <dts@dpdk.org>; Mon, 28 Nov 2022 02:54:34 +0100 (CET)", "from orsmga005.jf.intel.com ([10.7.209.41])\n by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 27 Nov 2022 17:54:34 -0800", "from dpdk-lingjin.sh.intel.com ([10.67.115.8])\n by orsmga005.jf.intel.com with ESMTP; 27 Nov 2022 17:54:32 -0800" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/simple;\n d=intel.com; i=@intel.com; q=dns/txt; s=Intel;\n t=1669600474; x=1701136474;\n h=from:to:cc:subject:date:message-id:in-reply-to:\n references:mime-version:content-transfer-encoding;\n bh=atdR+TYeL1KzHkQBvQH0fTwqDVBSbTLrDP177Ojbin8=;\n b=eHpt4tMcZXELz9lc/So5jCZIjkXaR2GggZb5mvm1gTywdQOz3Sp47ryz\n PhNpsXpXxGzQ6Cc32ueT7IsZtM70aSnSr5PjjykkytxiQVCs64p6UjhM/\n 7OAG/DO5d6e3vbyotPmqKVG+cayPLoo+QIwG9Mv2uK1/0Lk+Nt7p/val1\n CaaDmurOoEXpYUDppLVc9rGskaUF8/ARhnF9JBbagpPFlgG0bZUt52df9\n RGlQAOiYy4AFmGAppqcYRFp6bJ7K/gdNGAsHBbO0pEt4NgqD0hc44hYUs\n 29VjD/D4q3/bLTsiDSXjaYj5Z/BtroChmvOvg+Ni0ViDluQpJRIme+9uL w==;", "X-IronPort-AV": [ "E=McAfee;i=\"6500,9779,10544\"; a=\"302304099\"", "E=Sophos;i=\"5.96,199,1665471600\"; d=\"scan'208\";a=\"302304099\"", "E=McAfee;i=\"6500,9779,10544\"; a=\"817652976\"", "E=Sophos;i=\"5.96,199,1665471600\"; d=\"scan'208\";a=\"817652976\"" ], "X-ExtLoop1": "1", "From": "jinling <jin.ling@intel.com>", "To": "dts@dpdk.org", "Cc": "lijuan.tu@intel.com,\n\tjinling <jin.ling@intel.com>", "Subject": "[dts][PATCH V1 3/3] test_plans/ice_disable_acl_filter: add\n ice_dcf_disable_acl_filter test plan", "Date": "Mon, 28 Nov 2022 09:54:16 +0800", "Message-Id": "<20221128015416.4018440-4-jin.ling@intel.com>", "X-Mailer": "git-send-email 2.25.1", "In-Reply-To": "<20221128015416.4018440-1-jin.ling@intel.com>", "References": "<20221128015416.4018440-1-jin.ling@intel.com>", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "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": "The startup time of ACL engine is too long (6s+), so add a devargs that customers can use it to disable/enable ACL engine.\nadd new test plan to test acl angine is disabled\n\nSigned-off-by: jinling <jin.ling@intel.com>\n---\n .../ice_dcf_disable_acl_filter_test_plan.rst | 252 ++++++++++++++++++\n 1 file changed, 252 insertions(+)\n create mode 100644 test_plans/ice_dcf_disable_acl_filter_test_plan.rst", "diff": "diff --git a/test_plans/ice_dcf_disable_acl_filter_test_plan.rst b/test_plans/ice_dcf_disable_acl_filter_test_plan.rst\nnew file mode 100644\nindex 00000000..12a6562b\n--- /dev/null\n+++ b/test_plans/ice_dcf_disable_acl_filter_test_plan.rst\n@@ -0,0 +1,252 @@\n+.. Copyright (c) <2015-2017>, Intel Corporation\n+ All rights reserved.\n+\n+ Redistribution and use in source and binary forms, with or without\n+ modification, are permitted provided that the following conditions\n+ are met:\n+\n+ - Redistributions of source code must retain the above copyright\n+ notice, this list of conditions and the following disclaimer.\n+\n+ - Redistributions in binary form must reproduce the above copyright\n+ notice, this list of conditions and the following disclaimer in\n+ the documentation and/or other materials provided with the\n+ distribution.\n+\n+ - Neither the name of Intel Corporation nor the names of its\n+ contributors may be used to endorse or promote products derived\n+ from this software without specific prior written permission.\n+\n+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n+ \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n+ LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS\n+ FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE\n+ COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,\n+ INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR\n+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)\n+ HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,\n+ STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n+ ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED\n+ OF THE POSSIBILITY OF SUCH DAMAGE.\n+\n+==========================\n+ICE DCF disable ACL engine\n+==========================\n+\n+Description\n+===========\n+\n+Support disabling DCF ACL engine via devarg \"acl=off\" in cmdline, aiming to shorten the DCF startup time.\n+After disabling the ACL engine, some of the rules supported by the ACL engine will be created by the switch engine and others will failed to be created.\n+as shown in the following table.\n+\n++-----------+-------------------------------------------------------------------------+---------+---------+\n+| Pattern | Input Set | ACL | Switch |\n++===========+=========================================================================+=========+=========+\n+| IPv4 | [Source MAC] | success | fail |\n++-----------+-------------------------------------------------------------------------+---------+---------+\n+| | [Dest MAC] | success | success |\n++-----------+-------------------------------------------------------------------------+---------+---------+\n+| | [Source IP] | success | success |\n++-----------+-------------------------------------------------------------------------+---------+---------+\n+| | [Dest IP] | success | success |\n++-----------+-------------------------------------------------------------------------+---------+---------+\n+| | [Source IP],[Dest IP] | success | success |\n++-----------+-------------------------------------------------------------------------+---------+---------+\n+| | [Source MAC],[Dest MAC],[Source IP],[Dest IP] | success | fail |\n++-----------+-------------------------------------------------------------------------+---------+---------+\n+| IPv4_TCP | [Source MAC] | success | fail |\n++-----------+-------------------------------------------------------------------------+---------+---------+\n+| | [Dest MAC] | success | success |\n++-----------+-------------------------------------------------------------------------+---------+---------+\n+| | [Source IP] | success | success |\n++-----------+-------------------------------------------------------------------------+---------+---------+\n+| | [Dest IP] | success | success |\n++-----------+-------------------------------------------------------------------------+---------+---------+\n+| | [Source port] | success | success |\n++-----------+-------------------------------------------------------------------------+---------+---------+\n+| | [Dest port] | success | success |\n++-----------+-------------------------------------------------------------------------+---------+---------+\n+| | [Source IP],[Dest IP],[Source port],[Dest port] | success | success |\n++-----------+-------------------------------------------------------------------------+---------+---------+\n+| | [Source MAC],[Dest MAC],[Source IP],[Dest IP],[Source port],[Dest port] | success | fail |\n++-----------+-------------------------------------------------------------------------+---------+---------+\n+| IPv4_UDP | [Source MAC] | success | fail |\n++-----------+-------------------------------------------------------------------------+---------+---------+\n+| | [Dest MAC] | success | success |\n++-----------+-------------------------------------------------------------------------+---------+---------+\n+| | [Source IP] | success | success |\n++-----------+-------------------------------------------------------------------------+---------+---------+\n+| | [Dest IP] | success | success |\n++-----------+-------------------------------------------------------------------------+---------+---------+\n+| | [Source port] | success | success |\n++-----------+-------------------------------------------------------------------------+---------+---------+\n+| | [Dest port] | success | success |\n++-----------+-------------------------------------------------------------------------+---------+---------+\n+| | [Source IP],[Dest IP],[Source port],[Dest port] | success | success |\n++-----------+-------------------------------------------------------------------------+---------+---------+\n+| | [Source MAC],[Dest MAC],[Source IP],[Dest IP],[Source port],[Dest port] | success | fail |\n++-----------+-------------------------------------------------------------------------+---------+---------+\n+| IPv4_SCTP | all input sets | success | fail |\n++-----------+-------------------------------------------------------------------------+---------+---------+\n+\n+\n+Prerequisitess\n+=============\n+\n+Topology\n+--------\n+\n+ dut_port_0 <---> tester_port_0\n+ dut_port_1 <---> tester_port_1\n+\n+Hardware\n+--------\n+\n+ Supportted NICs: columbiaville_25g/columbiaville_100g\n+\n+Software\n+--------\n+\n+ dpdk: http://dpdk.org/git/dpdk\n+ scapy: http://www.secdev.org/projects/scapy/\n+\n+General set up\n+--------------\n+\n+1. Compile DPDK::\n+\n+ CC=gcc meson -Denable_kmods=True -Dlibdir=lib --default-library=static x86_64-native-linuxapp-gcc\n+ ninja -C x86_64-native-linuxapp-gcc\n+\n+2. Get the pci device id of DUT, for example::\n+\n+ ./usertools/dpdk-devbind.py -s\n+\n+ 0000:17:00.0 'Ethernet Controller E810-C for QSFP 1592' if=ens9 drv=ice unused=vfio-pci\n+\n+3. Generate 2 VFs on PF0::\n+\n+ echo 2 > /sys/bus/pci/devices/0000:17:00.0/sriov_numvfs\n+\n+ ./usertools/dpdk-devbind.py -s\n+ 0000:17:01.0 'Ethernet Adaptive Virtual Function 1889' drv=vfio-pci unused=iavf\n+ 0000:17:01.1 'Ethernet Adaptive Virtual Function 1889' drv=vfio-pci unused=iavf\n+\n+4. Set VF0 as trust and set VF1 mac adress::\n+\n+ ip link set ens9 vf 0 trust on\n+ ip link set enp9 vf 1 mac 00:01:23:45:67:89\n+\n+5. Bind VFs to dpdk driver::\n+\n+ modprobe vfio-pci\n+ ./usertools/dpdk-devbind.py -b vfio-pci 0000:17:01.0 0000:17:01.1\n+\n+6. Start testpmd on VF0 and VF1, VF0 request DCF mode and set \"devargs\" parameter \"acl=off\" to disable the ACL engine::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xf -n 4 -a 0000:17:01.0,cap=dcf,acl=off -a 17:01.1 --file-prefix=vf0 --log-level=\"ice,7\" -- -i\n+\n+ Check that when starting testpmd, the application prints \"ice_flow_init():Engine 4 disabled\"\n+\n+ Quit testpmd::\n+\n+ testpmd> quit\n+\n+ Check that when quitting testpmd, the application prints \"ice_flow_uninit():Engine 4 disabled skip it\"\n+\n+Test Case\n+=========\n+\n+Test Case 1: Compare start-up time\n+-----------------------------------\n+It takes too much time to enable the ACL engine when starting testpmd, so the startup time should be shortened after disabling ACL.\n+\n+test steps\n+~~~~~~~~~~\n+\n+1. Disable ACL, execute command and record the time \"start_time_disable_acl\"::\n+\n+ echo quit | time ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xf -n 4 -a 0000:17:01.0,cap=dcf,acl=off -a 17:01.1 --file-prefix=vf0 --log-level=\"ice,7\" -- -i\n+\n+2. Enable ACL, execute command and record the time \"start_time_enable_acl\"::\n+\n+ echo quit | time ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xf -n 4 -a 0000:17:01.0,cap=dcf -a 17:01.1 --file-prefix=vf1 --log-level=\"ice,7\" -- -i\n+\n+3. Repeat step 1~2 for at least 5 times to get the average time of \"start_time_disable_acl\" and \"start_time_enable_acl\".\n+\n+\n+expected result\n+~~~~~~~~~~~~~~~\n+\n+Check that the average start-up time with \"acl=off\" is at least 6 seconds shorter than that without \"acl=off\".\n+\n+Test Case 2: disable ACL engine\n+-------------------------------\n+\n+test steps\n+~~~~~~~~~~\n+\n+1. Start testpmd::\n+\n+ ./x86_64-native-linuxapp-gcc/app/dpdk-testpmd -c 0xf -n 4 -a 0000:17:01.0,cap=dcf,acl=off -a 17:01.1 --file-prefix=vf0 --log-level=\"ice,7\" -- -i\n+\n+2. Create ACL rules on port 0::\n+\n+ Switch supported rules::\n+\n+ ipv4:\n+ flow create 0 ingress pattern eth dst spec 00:11:22:33:44:55 dst mask ff:ff:ff:ff:ff:ff / ipv4 / end actions drop / end\n+ flow create 0 ingress pattern eth / ipv4 src spec 192.168.0.1 src mask 255.255.255.0 / end actions drop / end\n+ flow create 0 ingress pattern eth / ipv4 dst spec 192.168.0.2 dst mask 255.255.255.0 / end actions drop / end\n+ flow create 0 ingress pattern eth / ipv4 src spec 192.168.0.1 src mask 255.255.255.0 dst spec 192.168.0.2 dst mask 255.255.0.255 / end actions drop / end\n+ ipv4_tcp:\n+ flow create 0 ingress pattern eth dst spec 00:11:22:33:44:55 dst mask ff:ff:ff:ff:ff:00 / ipv4 / tcp / end actions drop / end\n+ flow create 0 ingress pattern eth / ipv4 src spec 192.168.0.1 src mask 255.255.255.254 / tcp / end actions drop / end\n+ flow create 0 ingress pattern eth / ipv4 dst spec 192.168.0.2 dst mask 255.255.255.243 / tcp / end actions drop / end\n+ flow create 0 ingress pattern eth / ipv4 / tcp src spec 8010 src mask 65520 / end actions drop / end\n+ flow create 0 ingress pattern eth / ipv4 / tcp dst spec 8010 dst mask 65520 / end actions drop / end\n+ flow create 0 ingress pattern eth / ipv4 src spec 192.168.0.1 src mask 255.255.255.0 dst spec 192.168.0.2 dst mask 255.255.0.255 / tcp src spec 8010 src mask 65520 dst spec 8017 dst mask 65520 / end actions drop / end\n+ ipvv4_udp:\n+ flow create 0 ingress pattern eth dst spec 00:11:22:33:44:55 dst mask ff:ff:ff:ff:ff:00 / ipv4 / udp / end actions drop / end\n+ flow create 0 ingress pattern eth / ipv4 src spec 192.168.0.1 src mask 255.255.255.254 / udp / end actions drop / end\n+ flow create 0 ingress pattern eth / ipv4 dst spec 192.168.0.2 dst mask 255.255.255.243 / udp / end actions drop / end\n+ flow create 0 ingress pattern eth / ipv4 / udp src spec 8010 src mask 65520 / end actions drop / end\n+ flow create 0 ingress pattern eth / ipv4 / udp dst spec 8010 dst mask 65520 / end actions drop / end\n+ flow create 0 ingress pattern eth / ipv4 src spec 192.168.0.1 src mask 255.255.255.0 dst spec 192.168.0.2 dst mask 255.255.0.255 / udp src spec 8010 src mask 65520 dst spec 8017 dst mask 65520 / end actions drop / end\n+\n+ Switch not supported rules::\n+\n+ ipv4:\n+ flow create 0 ingress pattern eth src spec 00:11:22:33:44:55 src mask 00:ff:ff:ff:ff:ff / ipv4 / end actions drop / end\n+ flow create 0 ingress pattern eth src spec 00:11:22:33:44:55 src mask ff:ff:ff:ff:ff:00 dst spec 33:00:00:00:00:02 dst mask ff:ff:ff:ff:ff:fe / ipv4 src spec 192.168.0.1 src mask 255.255.255.0 dst spec 192.168.0.2 dst mask 255.255.0.255 / end actions drop / end\n+ ipv4_tcp:\n+ flow create 0 ingress pattern eth src spec 00:11:22:33:44:55 src mask ff:ff:ff:ff:ff:fe / ipv4 / tcp / end actions drop / end\n+ flow create 0 ingress pattern eth src spec 00:11:22:33:44:55 src mask ff:ff:ff:ff:ff:00 dst spec 00:01:23:45:67:89 dst mask ff:ff:ff:ff:00:ff / ipv4 src spec 192.168.0.1 src mask 255.255.255.0 dst spec 192.168.0.2 dst mask 255.255.0.255 / tcp src spec 8010 src mask 65520 dst spec 8017 dst mask 65520 / end actions drop / end\n+ ipvv4_udp:\n+ flow create 0 ingress pattern eth src spec 00:11:22:33:44:55 src mask ff:ff:ff:ff:ff:fe / ipv4 / udp / end actions drop / end\n+ flow create 0 ingress pattern eth src spec 00:11:22:33:44:55 src mask ff:ff:ff:ff:ff:00 dst spec 00:01:23:45:67:89 dst mask ff:ff:ff:ff:00:ff / ipv4 src spec 192.168.0.1 src mask 255.255.255.0 dst spec 192.168.0.2 dst mask 255.255.0.255 / udp src spec 8010 src mask 65520 dst spec 8017 dst mask 65520 / end actions drop / end\n+ ipv4_sctp:\n+ flow create 0 ingress pattern eth src spec 00:11:22:33:44:55 src mask ff:ff:ff:ff:ff:fe / ipv4 / sctp / end actions drop / end\n+ flow create 0 ingress pattern eth dst spec 00:11:22:33:44:55 dst mask ff:ff:ff:ff:ff:00 / ipv4 / sctp / end actions drop / end\n+ flow create 0 ingress pattern eth / ipv4 src spec 192.168.0.1 src mask 255.255.255.254 / sctp / end actions drop / end\n+ flow create 0 ingress pattern eth / ipv4 dst spec 192.168.0.2 dst mask 255.255.255.243 / sctp / end actions drop / end\n+ flow create 0 ingress pattern eth / ipv4 / sctp src spec 8010 src mask 65520 / end actions drop / end\n+ flow create 0 ingress pattern eth / ipv4 / sctp dst spec 8010 dst mask 65520 / end actions drop / end\n+ flow create 0 ingress pattern eth / ipv4 src spec 192.168.0.1 src mask 255.255.255.0 dst spec 192.168.0.2 dst mask 255.255.0.255 / sctp src spec 8010 src mask 65520 dst spec 8017 dst mask 65520 / end actions drop / end\n+ flow create 0 ingress pattern eth src spec 00:11:22:33:44:55 src mask ff:ff:ff:ff:ff:00 dst spec 00:01:23:45:67:89 dst mask ff:ff:ff:ff:00:ff / ipv4 src spec 192.168.0.1 src mask 255.255.255.0 dst spec 192.168.0.2 dst mask 255.255.0.255 / sctp src spec 8010 src mask 65520 dst spec 8017 dst mask 65520 / end actions drop / end\n+\n+expected result\n+~~~~~~~~~~~~~~~\n+\n+ Check that switch support rules will be created::\n+\n+ ice_flow_create(): Succeeded to create (2) flow\n+\n+ switch not support rules will be created failed::\n+\n+ ice_flow_create(): Failed to create flow\n+ port_flow_complain(): Caught PMD error type 10 (item specification): cause: 0x7ffd63133730,Invalid input set: Invalid argument\n+\n+ Both outputs mean that the ACL engine has been disabled.\n", "prefixes": [ "V1", "3/3" ] }{ "id": 120171, "url": "