Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/512641/?format=api
{ "id": 512641, "url": "http://patchwork.ozlabs.org/api/patches/512641/?format=api", "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/1441065295-234333-13-git-send-email-catherine.sullivan@intel.com/", "project": { "id": 46, "url": "http://patchwork.ozlabs.org/api/projects/46/?format=api", "name": "Intel Wired Ethernet development", "link_name": "intel-wired-lan", "list_id": "intel-wired-lan.osuosl.org", "list_email": "intel-wired-lan@osuosl.org", "web_url": "", "scm_url": "", "webscm_url": "", "list_archive_url": "", "list_archive_url_format": "", "commit_url_format": "" }, "msgid": "<1441065295-234333-13-git-send-email-catherine.sullivan@intel.com>", "list_archive_url": null, "date": "2015-08-31T23:54:52", "name": "[next,S14,12/15] i40e: Add promiscuous on VLAN support", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": false, "hash": "efd1f3401ad19efb0e91ad8181c0d4c8110985ce", "submitter": { "id": 13931, "url": "http://patchwork.ozlabs.org/api/people/13931/?format=api", "name": "Catherine Sullivan", "email": "catherine.sullivan@intel.com" }, "delegate": { "id": 68, "url": "http://patchwork.ozlabs.org/api/users/68/?format=api", "username": "jtkirshe", "first_name": "Jeff", "last_name": "Kirsher", "email": "jeffrey.t.kirsher@intel.com" }, "mbox": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/1441065295-234333-13-git-send-email-catherine.sullivan@intel.com/mbox/", "series": [], "comments": "http://patchwork.ozlabs.org/api/patches/512641/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/512641/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<intel-wired-lan-bounces@lists.osuosl.org>", "X-Original-To": [ "incoming@patchwork.ozlabs.org", "intel-wired-lan@lists.osuosl.org" ], "Delivered-To": [ "patchwork-incoming@bilbo.ozlabs.org", "intel-wired-lan@lists.osuosl.org" ], "Received": [ "from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137])\n\tby ozlabs.org (Postfix) with ESMTP id 98B03140761\n\tfor <incoming@patchwork.ozlabs.org>;\n\tTue, 1 Sep 2015 09:54:15 +1000 (AEST)", "from localhost (localhost [127.0.0.1])\n\tby fraxinus.osuosl.org (Postfix) with ESMTP id E10AAA36DD;\n\tMon, 31 Aug 2015 23:54:14 +0000 (UTC)", "from fraxinus.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id MYR6y5WemruK; Mon, 31 Aug 2015 23:54:13 +0000 (UTC)", "from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby fraxinus.osuosl.org (Postfix) with ESMTP id BEF5FA3733;\n\tMon, 31 Aug 2015 23:54:12 +0000 (UTC)", "from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136])\n\tby ash.osuosl.org (Postfix) with ESMTP id D53B51C1009\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tMon, 31 Aug 2015 23:54:10 +0000 (UTC)", "from localhost (localhost [127.0.0.1])\n\tby silver.osuosl.org (Postfix) with ESMTP id CF7ED33D0D\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tMon, 31 Aug 2015 23:54:10 +0000 (UTC)", "from silver.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id Fld-+XA+vFf7 for <intel-wired-lan@lists.osuosl.org>;\n\tMon, 31 Aug 2015 23:54:10 +0000 (UTC)", "from mga11.intel.com (mga11.intel.com [192.55.52.93])\n\tby silver.osuosl.org (Postfix) with ESMTP id 021022D632\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tMon, 31 Aug 2015 23:54:09 +0000 (UTC)", "from orsmga003.jf.intel.com ([10.7.209.27])\n\tby fmsmga102.fm.intel.com with ESMTP; 31 Aug 2015 16:54:09 -0700", "from catheri1-tigger.jf.intel.com ([134.134.176.92])\n\tby orsmga003.jf.intel.com with ESMTP; 31 Aug 2015 16:54:09 -0700" ], "X-Virus-Scanned": [ "amavisd-new at osuosl.org", "amavisd-new at osuosl.org" ], "X-Greylist": "domain auto-whitelisted by SQLgrey-1.7.6", "X-ExtLoop1": "1", "X-IronPort-AV": "E=Sophos;i=\"5.17,445,1437462000\"; d=\"scan'208\";a=\"635798465\"", "From": "Catherine Sullivan <catherine.sullivan@intel.com>", "To": "intel-wired-lan@lists.osuosl.org", "Date": "Mon, 31 Aug 2015 19:54:52 -0400", "Message-Id": "<1441065295-234333-13-git-send-email-catherine.sullivan@intel.com>", "X-Mailer": "git-send-email 1.9.3", "In-Reply-To": "<1441065295-234333-1-git-send-email-catherine.sullivan@intel.com>", "References": "<1441065295-234333-1-git-send-email-catherine.sullivan@intel.com>", "Subject": "[Intel-wired-lan] [next PATCH S14 12/15] i40e: Add promiscuous on\n\tVLAN support", "X-BeenThere": "intel-wired-lan@lists.osuosl.org", "X-Mailman-Version": "2.1.18-1", "Precedence": "list", "List-Id": "Intel Wired Ethernet Linux Kernel Driver Development\n\t<intel-wired-lan.lists.osuosl.org>", "List-Unsubscribe": "<http://lists.osuosl.org/mailman/options/intel-wired-lan>, \n\t<mailto:intel-wired-lan-request@lists.osuosl.org?subject=unsubscribe>", "List-Archive": "<http://lists.osuosl.org/pipermail/intel-wired-lan/>", "List-Post": "<mailto:intel-wired-lan@lists.osuosl.org>", "List-Help": "<mailto:intel-wired-lan-request@lists.osuosl.org?subject=help>", "List-Subscribe": "<http://lists.osuosl.org/mailman/listinfo/intel-wired-lan>, \n\t<mailto:intel-wired-lan-request@lists.osuosl.org?subject=subscribe>", "MIME-Version": "1.0", "Content-Type": "text/plain; charset=\"us-ascii\"", "Content-Transfer-Encoding": "7bit", "Errors-To": "intel-wired-lan-bounces@lists.osuosl.org", "Sender": "\"Intel-wired-lan\" <intel-wired-lan-bounces@lists.osuosl.org>" }, "content": "From: Greg Rose <gregory.v.rose@intel.com>\n\nNFV 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: Greg Rose <gregory.v.rose@intel.com>\nChange-ID: Ifef704b07e0ee8a39d3c351dbd5dc83bb2f63c45\n---\n drivers/net/ethernet/intel/i40e/i40e_common.c | 68 ++++++++++++++++++++++++\n drivers/net/ethernet/intel/i40e/i40e_prototype.h | 6 +++\n 2 files changed, 74 insertions(+)", "diff": "diff --git a/drivers/net/ethernet/intel/i40e/i40e_common.c b/drivers/net/ethernet/intel/i40e/i40e_common.c\nindex 2d012d9..d9519ce 100644\n--- a/drivers/net/ethernet/intel/i40e/i40e_common.c\n+++ b/drivers/net/ethernet/intel/i40e/i40e_common.c\n@@ -2013,6 +2013,74 @@ i40e_status 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+i40e_status 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+\ti40e_status 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+i40e_status 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+\ti40e_status 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/ethernet/intel/i40e/i40e_prototype.h b/drivers/net/ethernet/intel/i40e/i40e_prototype.h\nindex e51e156..757bf2c 100644\n--- a/drivers/net/ethernet/intel/i40e/i40e_prototype.h\n+++ b/drivers/net/ethernet/intel/i40e/i40e_prototype.h\n@@ -127,6 +127,12 @@ i40e_status 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 i40e_status 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+i40e_status 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+i40e_status 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 i40e_status 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": [ "next", "S14", "12/15" ] }