get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 125411,
    "url": "https://patches.dpdk.org/api/patches/125411/?format=api",
    "web_url": "https://patches.dpdk.org/project/dts/patch/20230322060053.86803-1-ke1.xu@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": "<20230322060053.86803-1-ke1.xu@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dts/20230322060053.86803-1-ke1.xu@intel.com",
    "date": "2023-03-22T06:00:53",
    "name": "[V3] tests/vf_vlan: Add avx512 support for vf vlan validation.",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": false,
    "hash": "56f39f9f91e29da9c9f431f89da351ab988b94fc",
    "submitter": {
        "id": 2810,
        "url": "https://patches.dpdk.org/api/people/2810/?format=api",
        "name": "Ke Xu",
        "email": "ke1.xu@intel.com"
    },
    "delegate": null,
    "mbox": "https://patches.dpdk.org/project/dts/patch/20230322060053.86803-1-ke1.xu@intel.com/mbox/",
    "series": [
        {
            "id": 27492,
            "url": "https://patches.dpdk.org/api/series/27492/?format=api",
            "web_url": "https://patches.dpdk.org/project/dts/list/?series=27492",
            "date": "2023-03-22T06:00:53",
            "name": "[V3] tests/vf_vlan: Add avx512 support for vf vlan validation.",
            "version": 3,
            "mbox": "https://patches.dpdk.org/series/27492/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/125411/comments/",
    "check": "success",
    "checks": "https://patches.dpdk.org/api/patches/125411/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 AAEDE427F0;\n\tWed, 22 Mar 2023 07:03:55 +0100 (CET)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 7B842410D1;\n\tWed, 22 Mar 2023 07:03:55 +0100 (CET)",
            "from mga07.intel.com (mga07.intel.com [134.134.136.100])\n by mails.dpdk.org (Postfix) with ESMTP id B54F740F18\n for <dts@dpdk.org>; Wed, 22 Mar 2023 07:03:53 +0100 (CET)",
            "from fmsmga007.fm.intel.com ([10.253.24.52])\n by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 21 Mar 2023 23:03:52 -0700",
            "from dpdk-xuke-lab.sh.intel.com ([10.67.119.8])\n by fmsmga007.fm.intel.com with ESMTP; 21 Mar 2023 23:03:51 -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=1679465033; x=1711001033;\n h=from:to:cc:subject:date:message-id:mime-version:\n content-transfer-encoding;\n bh=yHyyq1WKH+LVns6qhJsqNP2zpoitunHvB/hsYNOk9U4=;\n b=jCTSZ+t4SM9idVCyfjilKrDdWiMqX9w5fi+dK6t+SKw2/PpwpF/v8aNL\n n/MU2UKVTds9oeCyeiam3ZMBBn13X67HkPzW8Tn3+Fr/xEh8SabLJeHRJ\n kl9EjXy68UMTMXo9/XhTAD7BaKmj6YxF1MjYWluW8AuBgDAoDhNoIqcN3\n 9qT+8tqUi/vud1F9wZS2gPxXYGRrIYrWPcMdnvq7d1V21fwN/1pY4LXef\n 0Liz7CWBeyFOkVEEidjHz7b5a8zjIyJ8rzc8i3z6nhX8Fyh0lOVrP3dSn\n iHhLVqRReaQNlS9xNcBB/JSNFE4s0jEMzoAsvXnh17ZD59sMQMEOUhH3d g==;",
        "X-IronPort-AV": [
            "E=McAfee;i=\"6600,9927,10656\"; a=\"404019023\"",
            "E=Sophos;i=\"5.98,280,1673942400\"; d=\"scan'208\";a=\"404019023\"",
            "E=McAfee;i=\"6600,9927,10656\"; a=\"684176529\"",
            "E=Sophos;i=\"5.98,280,1673942400\"; d=\"scan'208\";a=\"684176529\""
        ],
        "X-ExtLoop1": "1",
        "From": "Ke Xu <ke1.xu@intel.com>",
        "To": "dts@dpdk.org",
        "Cc": "ke1.xu@intel.com,\n\tlijuan.tu@intel.com,\n\tyux.jiang@intel.com",
        "Subject": "[DTS][PATCH V3] tests/vf_vlan: Add avx512 support for vf vlan\n validation.",
        "Date": "Wed, 22 Mar 2023 14:00:53 +0800",
        "Message-Id": "<20230322060053.86803-1-ke1.xu@intel.com>",
        "X-Mailer": "git-send-email 2.25.1",
        "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": "In DPDK v23.03, avx512 offload path is updated to support checksum offload. This modification involves VF VLAN offload and requires avx512 regression to cover. This patch is to introduce avx512 cases to support the regression requirements.\n\nSigned-off-by: Ke Xu <ke1.xu@intel.com>\n---\n tests/TestSuite_vf_vlan.py | 89 ++++++++++++++++++++++++++++++++------\n 1 file changed, 76 insertions(+), 13 deletions(-)",
    "diff": "diff --git a/tests/TestSuite_vf_vlan.py b/tests/TestSuite_vf_vlan.py\nindex f2a59b18..20868bf6 100644\n--- a/tests/TestSuite_vf_vlan.py\n+++ b/tests/TestSuite_vf_vlan.py\n@@ -168,23 +168,36 @@ class TestVfVlan(TestCase):\n \n     def launch_testpmd(self, **kwargs):\n         dcf_flag = kwargs.get(\"dcf_flag\")\n+        force_max_simd_bitwidth = kwargs.get(\"force-max-simd-bitwidth\")\n         param = kwargs.get(\"param\") if kwargs.get(\"param\") else \"\"\n+        eal_param = \"\"\n         # for dcf mode, the vlan offload support in scalar path\n         if dcf_flag:\n+            eal_param += \" --force-max-simd-bitwidth=64 \"\n+            eal_param += \" --log-level='dcf,8' \"\n             self.vm0_testpmd.start_testpmd(\n                 VM_CORES_MASK,\n                 ports=[self.vf0_guest_pci, self.vf1_guest_pci],\n                 param=param,\n-                eal_param=\"--force-max-simd-bitwidth=64\",\n+                eal_param=eal_param,\n                 port_options={\n                     self.vf0_guest_pci: \"cap=dcf\",\n                     self.vf1_guest_pci: \"cap=dcf\",\n                 },\n             )\n         else:\n-            self.vm0_testpmd.start_testpmd(VM_CORES_MASK, param=param)\n+            if force_max_simd_bitwidth:\n+                eal_param += \" --force-max-simd-bitwidth=%d \" % force_max_simd_bitwidth\n+                param += \" --enable-rx-cksum \"\n+            if self.kdriver == \"ice\" or self.kdriver == \"i40e\":\n+                eal_param += \" --log-level='iavf,8' \"\n+            elif self.kdriver == \"ixgbe\" or self.kdriver == \"igbe\":\n+                eal_param += \" --log-level='%svf,8' \" % self.kdriver\n+            self.vm0_testpmd.start_testpmd(\n+                VM_CORES_MASK, param=param, eal_param=eal_param\n+            )\n \n-    def test_pvid_vf_tx(self):\n+    def execute_pvid_vf_tx(self, specific_bitwidth=None):\n         \"\"\"\n         Add port based vlan on vf device and check vlan tx work\n         \"\"\"\n@@ -199,7 +212,10 @@ class TestVfVlan(TestCase):\n         self.vm0_dut_ports = self.vm_dut_0.get_ports(\"any\")\n \n         self.vm0_testpmd = PmdOutput(self.vm_dut_0)\n-        self.launch_testpmd(dcf_flag=self.dcf_mode)\n+        self.launch_testpmd(\n+            dcf_flag=self.dcf_mode,\n+            force_max_simd_bitwidth=specific_bitwidth,\n+        )\n         self.vm0_testpmd.execute_cmd(\"set fwd mac\")\n         self.vm0_testpmd.execute_cmd(\"start\")\n \n@@ -215,6 +231,12 @@ class TestVfVlan(TestCase):\n         # disable pvid\n         self.dut.send_expect(\"ip link set %s vf 0 vlan 0\" % (self.host_intf0), \"# \")\n \n+    def test_pvid_vf_tx(self):\n+        self.execute_pvid_vf_tx()\n+\n+    def test_pvid_vf_tx_avx512(self):\n+        self.execute_pvid_vf_tx(specific_bitwidth=512)\n+\n     def send_and_getout(self, vlan=0, pkt_type=\"UDP\"):\n \n         if pkt_type == \"UDP\":\n@@ -230,7 +252,7 @@ class TestVfVlan(TestCase):\n \n         return out\n \n-    def test_add_pvid_vf(self):\n+    def execute_add_pvid_vf(self, specific_bitwidth=None):\n         random_vlan = random.randint(1, MAX_VLAN)\n \n         self.dut.send_expect(\n@@ -243,7 +265,10 @@ class TestVfVlan(TestCase):\n         self.vm0_dut_ports = self.vm_dut_0.get_ports(\"any\")\n \n         self.vm0_testpmd = PmdOutput(self.vm_dut_0)\n-        self.launch_testpmd(dcf_flag=self.dcf_mode)\n+        self.launch_testpmd(\n+            dcf_flag=self.dcf_mode,\n+            force_max_simd_bitwidth=specific_bitwidth,\n+        )\n         self.vm0_testpmd.execute_cmd(\"set fwd rxonly\")\n         self.vm0_testpmd.execute_cmd(\"set verbose 1\")\n         self.vm0_testpmd.execute_cmd(\"start\")\n@@ -269,7 +294,10 @@ class TestVfVlan(TestCase):\n \n         # restart testpmd\n         self.vm0_testpmd = PmdOutput(self.vm_dut_0)\n-        self.launch_testpmd(dcf_flag=self.dcf_mode)\n+        self.launch_testpmd(\n+            dcf_flag=self.dcf_mode,\n+            force_max_simd_bitwidth=specific_bitwidth,\n+        )\n         self.vm0_testpmd.execute_cmd(\"set fwd rxonly\")\n         self.vm0_testpmd.execute_cmd(\"set verbose 1\")\n         self.vm0_testpmd.execute_cmd(\"start\")\n@@ -298,6 +326,12 @@ class TestVfVlan(TestCase):\n         # disable pvid\n         self.dut.send_expect(\"ip link set %s vf 0 vlan 0\" % (self.host_intf0), \"# \")\n \n+    def test_add_pvid_vf(self):\n+        self.execute_add_pvid_vf()\n+\n+    def test_add_pvid_vf_avx512(self):\n+        self.execute_add_pvid_vf(specific_bitwidth=512)\n+\n     def tx_and_check(self, tx_vlan=1):\n         inst = self.tester.tcpdump_sniff_packets(self.tester_intf0)\n         self.vm0_testpmd.execute_cmd(\"set burst 1\")\n@@ -313,7 +347,7 @@ class TestVfVlan(TestCase):\n \n         self.verify(tx_vlan in vlans, \"Tx packet with vlan not received!!!\")\n \n-    def test_vf_vlan_tx(self):\n+    def execute_vf_vlan_tx(self, specific_bitwidth=None):\n         self.verify(self.kdriver not in [\"ixgbe\"], \"NIC Unsupported: \" + str(self.nic))\n         random_vlan = random.randint(1, MAX_VLAN)\n         tx_vlans = [1, random_vlan, MAX_VLAN]\n@@ -321,7 +355,10 @@ class TestVfVlan(TestCase):\n         self.vm0_dut_ports = self.vm_dut_0.get_ports(\"any\")\n \n         self.vm0_testpmd = PmdOutput(self.vm_dut_0)\n-        self.launch_testpmd(dcf_flag=self.dcf_mode)\n+        self.launch_testpmd(\n+            dcf_flag=self.dcf_mode,\n+            force_max_simd_bitwidth=specific_bitwidth,\n+        )\n         self.vm0_testpmd.execute_cmd(\"set verbose 1\")\n \n         for tx_vlan in tx_vlans:\n@@ -339,7 +376,13 @@ class TestVfVlan(TestCase):\n \n         self.vm0_testpmd.quit()\n \n-    def test_vf_vlan_rx(self):\n+    def test_vf_vlan_tx(self):\n+        self.execute_vf_vlan_tx()\n+\n+    def test_vf_vlan_tx_avx512(self):\n+        self.execute_vf_vlan_tx(specific_bitwidth=512)\n+\n+    def execute_vf_vlan_rx(self, specific_bitwidth=None):\n         random_vlan = random.randint(1, MAX_VLAN - 1)\n         rx_vlans = [1, random_vlan, MAX_VLAN]\n         # start testpmd in VM\n@@ -351,7 +394,11 @@ class TestVfVlan(TestCase):\n             if not self.dcf_mode and self.kdriver is not \"ixgbe\"\n             else \"\"\n         )\n-        self.launch_testpmd(dcf_flag=self.dcf_mode, param=param)\n+        self.launch_testpmd(\n+            dcf_flag=self.dcf_mode,\n+            param=param,\n+            force_max_simd_bitwidth=specific_bitwidth,\n+        )\n         self.vm0_testpmd.execute_cmd(\"set fwd rxonly\")\n         self.vm0_testpmd.execute_cmd(\"set verbose 1\")\n         self.vm0_testpmd.execute_cmd(\"vlan set strip on 0\")\n@@ -423,7 +470,13 @@ class TestVfVlan(TestCase):\n \n         self.vm0_testpmd.quit()\n \n-    def test_vf_vlan_strip(self):\n+    def test_vf_vlan_rx(self):\n+        self.execute_vf_vlan_rx()\n+\n+    def test_vf_vlan_rx_avx512(self):\n+        self.execute_vf_vlan_rx(specific_bitwidth=512)\n+\n+    def execute_vf_vlan_strip(self, specific_bitwidth=None):\n         random_vlan = random.randint(1, MAX_VLAN - 1)\n         rx_vlans = [1, random_vlan, MAX_VLAN]\n         # start testpmd in VM\n@@ -436,7 +489,11 @@ class TestVfVlan(TestCase):\n             else \"\"\n         )\n \n-        self.launch_testpmd(dcf_flag=self.dcf_mode, param=param)\n+        self.launch_testpmd(\n+            dcf_flag=self.dcf_mode,\n+            param=param,\n+            force_max_simd_bitwidth=specific_bitwidth,\n+        )\n         self.vm0_testpmd.execute_cmd(\"set fwd rxonly\")\n         self.vm0_testpmd.execute_cmd(\"set verbose 1\")\n         self.vm0_testpmd.execute_cmd(\"start\")\n@@ -469,6 +526,12 @@ class TestVfVlan(TestCase):\n \n         self.vm0_testpmd.quit()\n \n+    def test_vf_vlan_strip(self):\n+        self.execute_vf_vlan_strip()\n+\n+    def test_vf_vlan_strip_avx512(self):\n+        self.execute_vf_vlan_strip(specific_bitwidth=512)\n+\n     def tear_down(self):\n         self.destroy_vm_env()\n \n",
    "prefixes": [
        "V3"
    ]
}