get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/120705/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 120705,
    "url": "https://patches.dpdk.org/api/patches/120705/?format=api",
    "web_url": "https://patches.dpdk.org/project/dts/patch/20221209100211.3234895-3-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": "<20221209100211.3234895-3-jin.ling@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dts/20221209100211.3234895-3-jin.ling@intel.com",
    "date": "2022-12-09T10:02:10",
    "name": "[V4,2/3] test_plans/ice_dcf_disable_acl_filter: add ice_dcf_disable_acl_filter test plan",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": false,
    "hash": "242816b6a11e249489b0cb50f2f781ef4bd075e0",
    "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/20221209100211.3234895-3-jin.ling@intel.com/mbox/",
    "series": [
        {
            "id": 26063,
            "url": "https://patches.dpdk.org/api/series/26063/?format=api",
            "web_url": "https://patches.dpdk.org/project/dts/list/?series=26063",
            "date": "2022-12-09T10:02:08",
            "name": "add ice_dcf_disable_acl_filter",
            "version": 4,
            "mbox": "https://patches.dpdk.org/series/26063/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/120705/comments/",
    "check": "pending",
    "checks": "https://patches.dpdk.org/api/patches/120705/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 409BDA034C;\n\tFri,  9 Dec 2022 11:02:34 +0100 (CET)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 0D66742D23;\n\tFri,  9 Dec 2022 11:02:34 +0100 (CET)",
            "from mga12.intel.com (mga12.intel.com [192.55.52.136])\n by mails.dpdk.org (Postfix) with ESMTP id 3B0CD40E03\n for <dts@dpdk.org>; Fri,  9 Dec 2022 11:02:31 +0100 (CET)",
            "from orsmga004.jf.intel.com ([10.7.209.38])\n by fmsmga106.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 09 Dec 2022 02:02:29 -0800",
            "from dpdk-lingjin.sh.intel.com ([10.67.115.8])\n by orsmga004.jf.intel.com with ESMTP; 09 Dec 2022 02:02:26 -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=1670580151; x=1702116151;\n h=from:to:cc:subject:date:message-id:in-reply-to:\n references:mime-version:content-transfer-encoding;\n bh=y1VGhZcUCtdYdLFV7Iy/X6nagXSuh3BYPwfSbvxmUUs=;\n b=TIC2HorTjQlRySTTr9ptAz0n6naxvbWVFZJGfI78LpX5KKEuyFbKXJVN\n imZXGcEBAqZJkgqSf5BebWdLT5rcOA1EybMnzhm08zXdgtBzP6SyDs2Nw\n QBz6YRgLbcBzEY0oDBWLuF53t/MomIF1luyf9lmIbgUhwmVWT1rNb/04L\n 14jrXU0e/Qbx41jsKxK+NgfphDknCTdDuIPySxBSqzTVRRV/rI9Iwb7d3\n V7Pp48l0CR2IZ0n7k3mounPhUZKRdvnv/AcNygVuORskZZHplp5fqeFyp\n rfvNMwUBQwRY/UnZWTSQacnSjKnFfC0xCc8j1HVfzVTUAIYHo/mpM3k1t g==;",
        "X-IronPort-AV": [
            "E=McAfee;i=\"6500,9779,10555\"; a=\"297107158\"",
            "E=Sophos;i=\"5.96,230,1665471600\"; d=\"scan'208\";a=\"297107158\"",
            "E=McAfee;i=\"6500,9779,10555\"; a=\"771815202\"",
            "E=Sophos;i=\"5.96,230,1665471600\"; d=\"scan'208\";a=\"771815202\""
        ],
        "X-ExtLoop1": "1",
        "From": "Jin Ling <jin.ling@intel.com>",
        "To": "dts@dpdk.org",
        "Cc": "yuan.peng@intel.com,\n\tlijuan.tu@intel.com,\n\tJin Ling <jin.ling@intel.com>",
        "Subject": "[DTS][PATCH V4 2/3] test_plans/ice_dcf_disable_acl_filter: add\n ice_dcf_disable_acl_filter test plan",
        "Date": "Fri,  9 Dec 2022 18:02:10 +0800",
        "Message-Id": "<20221209100211.3234895-3-jin.ling@intel.com>",
        "X-Mailer": "git-send-email 2.25.1",
        "In-Reply-To": "<20221209100211.3234895-1-jin.ling@intel.com>",
        "References": "<20221209100211.3234895-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, so add a devargs that customers can use it to disable/enable ACL engine.\nadd new test plan to test if ACL engine is disabled.\n\nSigned-off-by: Jin Ling <jin.ling@intel.com>\n---\n .../ice_dcf_disable_acl_filter_test_plan.rst  | 231 ++++++++++++++++++\n 1 file changed, 231 insertions(+)\n create mode 100644 test_plans/ice_dcf_disable_acl_filter_test_plan.rst\n\n--\n2.25.1",
    "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..c04c4bbe\n--- /dev/null\n+++ b/test_plans/ice_dcf_disable_acl_filter_test_plan.rst\n@@ -0,0 +1,231 @@\n+.. SPDX-License-Identifier: BSD-3-Clause\n+   Copyright(c) 2022 Intel Corporation\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+Prerequisites\n+=============\n+\n+Topology\n+--------\n+\n+    dut_port_0 <---> tester_port_0\n+\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+\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 address::\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. Launch testpmd on VF0, VF0 request DCF mode and add 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 --file-prefix=vf0 --log-level=\"ice,7\" -- -i\n+\n+    Check that when launching 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+\n+It takes too much time to enable the ACL engine when launching 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 --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 --file-prefix=vf1 --log-level=\"ice,7\" -- -i\n+\n+3. Repeat step 1~2 for at least 6 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 shorter than that without \"acl=off\".\n+\n+Test Case 2: disable ACL engine\n+-------------------------------\n+\n+Add \"--log-level='ice,7'\" when launching testpmd, it will print the detailed information when creating one rule.\n+\"Succeeded to create (4) flow\" means the rule was created by the ACL engine, \"Succeeded to create (2) flow\" means it was created by the Switch engine.\n+Therefore, when creating ACL rules after disabling the ACL engine, the ACL engine will fail to create any of these rules,\n+but some of them can be successfully created by the switch engine.\n+\n+test steps\n+~~~~~~~~~~\n+\n+1. Launch 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+    ipv4_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+    ipv4_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": [
        "V4",
        "2/3"
    ]
}