get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 6917,
    "url": "http://patches.dpdk.org/api/patches/6917/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/1441523526-26202-13-git-send-email-jingjing.wu@intel.com/",
    "project": {
        "id": 1,
        "url": "http://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": "<1441523526-26202-13-git-send-email-jingjing.wu@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1441523526-26202-13-git-send-email-jingjing.wu@intel.com",
    "date": "2015-09-06T07:11:26",
    "name": "[dpdk-dev,12/52] i40e/base: Add promiscuous on VLAN support",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "311cf191305b80f6d80ebd545da2794b056ea869",
    "submitter": {
        "id": 47,
        "url": "http://patches.dpdk.org/api/people/47/?format=api",
        "name": "Jingjing Wu",
        "email": "jingjing.wu@intel.com"
    },
    "delegate": null,
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/1441523526-26202-13-git-send-email-jingjing.wu@intel.com/mbox/",
    "series": [],
    "comments": "http://patches.dpdk.org/api/patches/6917/comments/",
    "check": "pending",
    "checks": "http://patches.dpdk.org/api/patches/6917/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@dpdk.org",
        "Delivered-To": "patchwork@dpdk.org",
        "Received": [
            "from [92.243.14.124] (localhost [IPv6:::1])\n\tby dpdk.org (Postfix) with ESMTP id 26993919B;\n\tSun,  6 Sep 2015 09:12:43 +0200 (CEST)",
            "from mga14.intel.com (mga14.intel.com [192.55.52.115])\n\tby dpdk.org (Postfix) with ESMTP id 460619198\n\tfor <dev@dpdk.org>; Sun,  6 Sep 2015 09:12:41 +0200 (CEST)",
            "from orsmga002.jf.intel.com ([10.7.209.21])\n\tby fmsmga103.fm.intel.com with ESMTP; 06 Sep 2015 00:12:40 -0700",
            "from shvmail01.sh.intel.com ([10.239.29.42])\n\tby orsmga002.jf.intel.com with ESMTP; 06 Sep 2015 00:12:40 -0700",
            "from shecgisg004.sh.intel.com (shecgisg004.sh.intel.com\n\t[10.239.29.89])\n\tby shvmail01.sh.intel.com with ESMTP id t867CbrD018559;\n\tSun, 6 Sep 2015 15:12:37 +0800",
            "from shecgisg004.sh.intel.com (localhost [127.0.0.1])\n\tby shecgisg004.sh.intel.com (8.13.6/8.13.6/SuSE Linux 0.8) with ESMTP\n\tid t867CZfP026321; Sun, 6 Sep 2015 15:12:37 +0800",
            "(from wujingji@localhost)\n\tby shecgisg004.sh.intel.com (8.13.6/8.13.6/Submit) id t867CZwp026317; \n\tSun, 6 Sep 2015 15:12:35 +0800"
        ],
        "X-ExtLoop1": "1",
        "X-IronPort-AV": "E=Sophos;i=\"5.17,478,1437462000\"; d=\"scan'208\";a=\"798798209\"",
        "From": "Jingjing Wu <jingjing.wu@intel.com>",
        "To": "dev@dpdk.org",
        "Date": "Sun,  6 Sep 2015 15:11:26 +0800",
        "Message-Id": "<1441523526-26202-13-git-send-email-jingjing.wu@intel.com>",
        "X-Mailer": "git-send-email 1.7.4.1",
        "In-Reply-To": "<1441523526-26202-1-git-send-email-jingjing.wu@intel.com>",
        "References": "<1441523526-26202-1-git-send-email-jingjing.wu@intel.com>",
        "Subject": "[dpdk-dev] [PATCH 12/52] i40e/base: Add promiscuous on VLAN support",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "patches and discussions about DPDK <dev.dpdk.org>",
        "List-Unsubscribe": "<http://dpdk.org/ml/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://dpdk.org/ml/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<http://dpdk.org/ml/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "NFV use cases require the ability to steer packets to VSIs by VLAN tag\nalone while being in promiscuous mode for multicast and unicast MAC\naddresses.  These two new functions support that ability.\n\nSigned-off-by: Jingjing Wu <jingjing.wu@intel.com>\n---\n drivers/net/i40e/base/i40e_common.c    | 68 ++++++++++++++++++++++++++++++++++\n drivers/net/i40e/base/i40e_prototype.h |  6 +++\n 2 files changed, 74 insertions(+)",
    "diff": "diff --git a/drivers/net/i40e/base/i40e_common.c b/drivers/net/i40e/base/i40e_common.c\nindex 2a3da6e..20dbb07 100644\n--- a/drivers/net/i40e/base/i40e_common.c\n+++ b/drivers/net/i40e/base/i40e_common.c\n@@ -2054,6 +2054,74 @@ enum i40e_status_code i40e_aq_set_vsi_multicast_promiscuous(struct i40e_hw *hw,\n }\n \n /**\n+ * i40e_aq_set_vsi_mc_promisc_on_vlan\n+ * @hw: pointer to the hw struct\n+ * @seid: vsi number\n+ * @enable: set MAC L2 layer unicast promiscuous enable/disable for a given VLAN\n+ * @vid: The VLAN tag filter - capture any multicast packet with this VLAN tag\n+ * @cmd_details: pointer to command details structure or NULL\n+ **/\n+enum i40e_status_code i40e_aq_set_vsi_mc_promisc_on_vlan(struct i40e_hw *hw,\n+\t\t\t\tu16 seid, bool enable, u16 vid,\n+\t\t\t\tstruct i40e_asq_cmd_details *cmd_details)\n+{\n+\tstruct i40e_aq_desc desc;\n+\tstruct i40e_aqc_set_vsi_promiscuous_modes *cmd =\n+\t\t(struct i40e_aqc_set_vsi_promiscuous_modes *)&desc.params.raw;\n+\tenum i40e_status_code status;\n+\tu16 flags = 0;\n+\n+\ti40e_fill_default_direct_cmd_desc(&desc,\n+\t\t\t\t\ti40e_aqc_opc_set_vsi_promiscuous_modes);\n+\n+\tif (enable)\n+\t\tflags |= I40E_AQC_SET_VSI_PROMISC_MULTICAST;\n+\n+\tcmd->promiscuous_flags = CPU_TO_LE16(flags);\n+\tcmd->valid_flags = CPU_TO_LE16(I40E_AQC_SET_VSI_PROMISC_MULTICAST);\n+\tcmd->seid = CPU_TO_LE16(seid);\n+\tcmd->vlan_tag = CPU_TO_LE16(vid | I40E_AQC_SET_VSI_VLAN_VALID);\n+\n+\tstatus = i40e_asq_send_command(hw, &desc, NULL, 0, cmd_details);\n+\n+\treturn status;\n+}\n+\n+/**\n+ * i40e_aq_set_vsi_uc_promisc_on_vlan\n+ * @hw: pointer to the hw struct\n+ * @seid: vsi number\n+ * @enable: set MAC L2 layer unicast promiscuous enable/disable for a given VLAN\n+ * @vid: The VLAN tag filter - capture any unicast packet with this VLAN tag\n+ * @cmd_details: pointer to command details structure or NULL\n+ **/\n+enum i40e_status_code i40e_aq_set_vsi_uc_promisc_on_vlan(struct i40e_hw *hw,\n+\t\t\t\tu16 seid, bool enable, u16 vid,\n+\t\t\t\tstruct i40e_asq_cmd_details *cmd_details)\n+{\n+\tstruct i40e_aq_desc desc;\n+\tstruct i40e_aqc_set_vsi_promiscuous_modes *cmd =\n+\t\t(struct i40e_aqc_set_vsi_promiscuous_modes *)&desc.params.raw;\n+\tenum i40e_status_code status;\n+\tu16 flags = 0;\n+\n+\ti40e_fill_default_direct_cmd_desc(&desc,\n+\t\t\t\t\ti40e_aqc_opc_set_vsi_promiscuous_modes);\n+\n+\tif (enable)\n+\t\tflags |= I40E_AQC_SET_VSI_PROMISC_UNICAST;\n+\n+\tcmd->promiscuous_flags = CPU_TO_LE16(flags);\n+\tcmd->valid_flags = CPU_TO_LE16(I40E_AQC_SET_VSI_PROMISC_UNICAST);\n+\tcmd->seid = CPU_TO_LE16(seid);\n+\tcmd->vlan_tag = CPU_TO_LE16(vid | I40E_AQC_SET_VSI_VLAN_VALID);\n+\n+\tstatus = i40e_asq_send_command(hw, &desc, NULL, 0, cmd_details);\n+\n+\treturn status;\n+}\n+\n+/**\n  * i40e_aq_set_vsi_broadcast\n  * @hw: pointer to the hw struct\n  * @seid: vsi number\ndiff --git a/drivers/net/i40e/base/i40e_prototype.h b/drivers/net/i40e/base/i40e_prototype.h\nindex 0c66af7..ee83659 100644\n--- a/drivers/net/i40e/base/i40e_prototype.h\n+++ b/drivers/net/i40e/base/i40e_prototype.h\n@@ -149,6 +149,12 @@ enum i40e_status_code i40e_aq_set_vsi_unicast_promiscuous(struct i40e_hw *hw,\n \t\tu16 vsi_id, bool set, struct i40e_asq_cmd_details *cmd_details);\n enum i40e_status_code i40e_aq_set_vsi_multicast_promiscuous(struct i40e_hw *hw,\n \t\tu16 vsi_id, bool set, struct i40e_asq_cmd_details *cmd_details);\n+enum i40e_status_code i40e_aq_set_vsi_mc_promisc_on_vlan(struct i40e_hw *hw,\n+\t\t\t\tu16 seid, bool enable, u16 vid,\n+\t\t\t\tstruct i40e_asq_cmd_details *cmd_details);\n+enum i40e_status_code i40e_aq_set_vsi_uc_promisc_on_vlan(struct i40e_hw *hw,\n+\t\t\t\tu16 seid, bool enable, u16 vid,\n+\t\t\t\tstruct i40e_asq_cmd_details *cmd_details);\n enum i40e_status_code i40e_aq_get_vsi_params(struct i40e_hw *hw,\n \t\t\t\tstruct i40e_vsi_context *vsi_ctx,\n \t\t\t\tstruct i40e_asq_cmd_details *cmd_details);\n",
    "prefixes": [
        "dpdk-dev",
        "12/52"
    ]
}