get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 86382,
    "url": "https://patches.dpdk.org/api/patches/86382/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/20210112061025.347205-7-qi.z.zhang@intel.com/",
    "project": {
        "id": 1,
        "url": "https://patches.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<20210112061025.347205-7-qi.z.zhang@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20210112061025.347205-7-qi.z.zhang@intel.com",
    "date": "2021-01-12T06:10:24",
    "name": "[v2,2/3] common/iavf: add opcode to set VLAN offload by DCF",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "409a7b3b026718a075c017eaf6430fcb793c0ca3",
    "submitter": {
        "id": 504,
        "url": "https://patches.dpdk.org/api/people/504/?format=api",
        "name": "Qi Zhang",
        "email": "qi.z.zhang@intel.com"
    },
    "delegate": {
        "id": 1540,
        "url": "https://patches.dpdk.org/api/users/1540/?format=api",
        "username": "qzhan15",
        "first_name": "Qi",
        "last_name": "Zhang",
        "email": "qi.z.zhang@intel.com"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/20210112061025.347205-7-qi.z.zhang@intel.com/mbox/",
    "series": [
        {
            "id": 14660,
            "url": "https://patches.dpdk.org/api/series/14660/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=14660",
            "date": "2021-01-12T06:10:24",
            "name": null,
            "version": 2,
            "mbox": "https://patches.dpdk.org/series/14660/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/86382/comments/",
    "check": "success",
    "checks": "https://patches.dpdk.org/api/patches/86382/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-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 68F47A04B5;\n\tTue, 12 Jan 2021 07:07:24 +0100 (CET)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 5F9D3140E3F;\n\tTue, 12 Jan 2021 07:06:48 +0100 (CET)",
            "from mga01.intel.com (mga01.intel.com [192.55.52.88])\n by mails.dpdk.org (Postfix) with ESMTP id 938D6140E30\n for <dev@dpdk.org>; Tue, 12 Jan 2021 07:06:46 +0100 (CET)",
            "from orsmga008.jf.intel.com ([10.7.209.65])\n by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 11 Jan 2021 22:06:46 -0800",
            "from dpdk51.sh.intel.com ([10.67.111.142])\n by orsmga008.jf.intel.com with ESMTP; 11 Jan 2021 22:06:44 -0800"
        ],
        "IronPort-SDR": [
            "\n sXQlvRfIrJ8b7aeXbznqnR9rSmHRFxRtUlUjnapyZ1kOoDa3bDAhD6u/HfYx392WTciJbU6SkH\n j3ji4JENZLkw==",
            "\n 4QYg5ir7kWCqtQaDyHogruVmTsMlnjbZDrcOHiyfgKnYu48GxQNn5fQ3FIMecwxIKQYGRGF38+\n LtXgr4vJGEcQ=="
        ],
        "X-IronPort-AV": [
            "E=McAfee;i=\"6000,8403,9861\"; a=\"196609417\"",
            "E=Sophos;i=\"5.79,340,1602572400\"; d=\"scan'208\";a=\"196609417\"",
            "E=Sophos;i=\"5.79,340,1602572400\"; d=\"scan'208\";a=\"381295653\""
        ],
        "X-ExtLoop1": "1",
        "From": "Qi Zhang <qi.z.zhang@intel.com>",
        "To": "beilei.xing@intel.com",
        "Cc": "jingjing.wu@intel.com, dev@dpdk.org, haiyue.wang@intel.com,\n Qi Zhang <qi.z.zhang@intel.com>, Qiming Yang <qiming.yang@intel.com>",
        "Date": "Tue, 12 Jan 2021 14:10:24 +0800",
        "Message-Id": "<20210112061025.347205-7-qi.z.zhang@intel.com>",
        "X-Mailer": "git-send-email 2.26.2",
        "In-Reply-To": "<20210112061025.347205-1-qi.z.zhang@intel.com>",
        "References": "<20210112061025.347205-1-qi.z.zhang@intel.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[dpdk-dev] [PATCH v2 2/3] common/iavf: add opcode to set VLAN\n offload by DCF",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "Add new opcode VIRTCHNL_OP_DCF_VLAN_OFFLOAD to set VLAN offload\nby DCF, the virtchnl message includes:\n1. A valid target VF\n2. Type of VLAN to be supported: outer or inner\n3. Ethertype of the VLAN (either 0x8100 or 0x88A8 or 0x9100)\n4. VLAN insert settings\n   a). No insert offload, VLAN ID in the packet (default)\n   b). Offload via transmit descriptor\n   c). Insert as a port VLAN (via VSI)\n5. VLAN strip settings\n   a). Strip (and discard)\n   b). Strip and place in descriptor\n   c). No Strip\n6. VLAN ID for the target VF\n\nSigned-off-by: Qiming Yang <qiming.yang@intel.com>\nSigned-off-by: Haiyue Wang <haiyue.wang@intel.com>\nSigned-off-by: Qi Zhang <qi.z.zhang@intel.com>\n---\n drivers/common/iavf/virtchnl.h | 38 +++++++++++++++++++++++++++++++++-\n 1 file changed, 37 insertions(+), 1 deletion(-)",
    "diff": "diff --git a/drivers/common/iavf/virtchnl.h b/drivers/common/iavf/virtchnl.h\nindex c58a16d8da..7e62ae6b1b 100644\n--- a/drivers/common/iavf/virtchnl.h\n+++ b/drivers/common/iavf/virtchnl.h\n@@ -128,7 +128,8 @@ enum virtchnl_ops {\n \tVIRTCHNL_OP_DISABLE_CHANNELS = 31,\n \tVIRTCHNL_OP_ADD_CLOUD_FILTER = 32,\n \tVIRTCHNL_OP_DEL_CLOUD_FILTER = 33,\n-\t/* opcodes 34, 35, 36, 37 and 38 are reserved */\n+\t/* opcodes 34, 35, 36, and 37 are reserved */\n+\tVIRTCHNL_OP_DCF_VLAN_OFFLOAD = 38,\n \tVIRTCHNL_OP_DCF_CMD_DESC = 39,\n \tVIRTCHNL_OP_DCF_CMD_BUFF = 40,\n \tVIRTCHNL_OP_DCF_DISABLE = 41,\n@@ -1217,6 +1218,38 @@ struct virtchnl_pkg_info {\n \n VIRTCHNL_CHECK_STRUCT_LEN(48, virtchnl_pkg_info);\n \n+/* VIRTCHNL_OP_DCF_VLAN_OFFLOAD\n+ * DCF negotiates the VIRTCHNL_VF_OFFLOAD_VLAN_V2 capability firstly to get\n+ * the double VLAN configuration, then DCF sends this message to configure the\n+ * outer or inner VLAN offloads (insertion and strip) for the target VF.\n+ */\n+struct virtchnl_dcf_vlan_offload {\n+\tu16 vf_id;\n+\tu16 tpid;\n+\tu16 vlan_flags;\n+#define VIRTCHNL_DCF_VLAN_TYPE_S\t\t0\n+#define VIRTCHNL_DCF_VLAN_TYPE_M\t\t\\\n+\t\t\t(0x1 << VIRTCHNL_DCF_VLAN_TYPE_S)\n+#define VIRTCHNL_DCF_VLAN_TYPE_INNER\t\t0x0\n+#define VIRTCHNL_DCF_VLAN_TYPE_OUTER\t\t0x1\n+#define VIRTCHNL_DCF_VLAN_INSERT_MODE_S\t\t1\n+#define VIRTCHNL_DCF_VLAN_INSERT_MODE_M\t\\\n+\t\t\t(0x7 << VIRTCHNL_DCF_VLAN_INSERT_MODE_S)\n+#define VIRTCHNL_DCF_VLAN_INSERT_DISABLE\t0x1\n+#define VIRTCHNL_DCF_VLAN_INSERT_PORT_BASED\t0x2\n+#define VIRTCHNL_DCF_VLAN_INSERT_VIA_TX_DESC\t0x3\n+#define VIRTCHNL_DCF_VLAN_STRIP_MODE_S\t\t4\n+#define VIRTCHNL_DCF_VLAN_STRIP_MODE_M\t\t\\\n+\t\t\t(0x7 << VIRTCHNL_DCF_VLAN_STRIP_MODE_S)\n+#define VIRTCHNL_DCF_VLAN_STRIP_DISABLE\t\t0x1\n+#define VIRTCHNL_DCF_VLAN_STRIP_ONLY\t\t0x2\n+#define VIRTCHNL_DCF_VLAN_STRIP_INTO_RX_DESC\t0x3\n+\tu16 vlan_id;\n+\tu16 pad[4];\n+};\n+\n+VIRTCHNL_CHECK_STRUCT_LEN(16, virtchnl_dcf_vlan_offload);\n+\n struct virtchnl_supported_rxdids {\n \tu64 supported_rxdids;\n };\n@@ -1932,6 +1965,9 @@ virtchnl_vc_validate_vf_msg(struct virtchnl_version_info *ver, u32 v_opcode,\n \tcase VIRTCHNL_OP_DEL_CLOUD_FILTER:\n \t\tvalid_len = sizeof(struct virtchnl_filter);\n \t\tbreak;\n+\tcase VIRTCHNL_OP_DCF_VLAN_OFFLOAD:\n+\t\tvalid_len = sizeof(struct virtchnl_dcf_vlan_offload);\n+\t\tbreak;\n \tcase VIRTCHNL_OP_DCF_CMD_DESC:\n \tcase VIRTCHNL_OP_DCF_CMD_BUFF:\n \t\t/* These two opcodes are specific to handle the AdminQ command,\n",
    "prefixes": [
        "v2",
        "2/3"
    ]
}