Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/693938/?format=api
{ "id": 693938, "url": "http://patchwork.ozlabs.org/api/patches/693938/?format=api", "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/1478896779-13697-9-git-send-email-bimmy.pujari@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": "<1478896779-13697-9-git-send-email-bimmy.pujari@intel.com>", "list_archive_url": null, "date": "2016-11-11T20:39:32", "name": "[next,S54,08/15] i40e: don't allow i40e_vsi_(add|kill)_vlan to operate when VID<1", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": false, "hash": "6bcf0007b67ad1a22d883c11e9dc2ead9b2c4b9e", "submitter": { "id": 68919, "url": "http://patchwork.ozlabs.org/api/people/68919/?format=api", "name": "Pujari, Bimmy", "email": "bimmy.pujari@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/1478896779-13697-9-git-send-email-bimmy.pujari@intel.com/mbox/", "series": [], "comments": "http://patchwork.ozlabs.org/api/patches/693938/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/693938/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 hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3tFsJf0VzLz9t2g\n\tfor <incoming@patchwork.ozlabs.org>;\n\tSat, 12 Nov 2016 07:41:22 +1100 (AEDT)", "from localhost (localhost [127.0.0.1])\n\tby hemlock.osuosl.org (Postfix) with ESMTP id 7AF8195C22;\n\tFri, 11 Nov 2016 20:41:20 +0000 (UTC)", "from hemlock.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id 5OUp+ujYYeJS; Fri, 11 Nov 2016 20:41:18 +0000 (UTC)", "from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby hemlock.osuosl.org (Postfix) with ESMTP id 0E46C9611F;\n\tFri, 11 Nov 2016 20:41:17 +0000 (UTC)", "from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137])\n\tby ash.osuosl.org (Postfix) with ESMTP id BE58F1CEC94\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tFri, 11 Nov 2016 20:41:14 +0000 (UTC)", "from localhost (localhost [127.0.0.1])\n\tby fraxinus.osuosl.org (Postfix) with ESMTP id BC0CBC29C6\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tFri, 11 Nov 2016 20:41: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 43XQdhVVvjwk for <intel-wired-lan@lists.osuosl.org>;\n\tFri, 11 Nov 2016 20:41:14 +0000 (UTC)", "from mga06.intel.com (mga06.intel.com [134.134.136.31])\n\tby fraxinus.osuosl.org (Postfix) with ESMTPS id 06E84C2242\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tFri, 11 Nov 2016 20:41:14 +0000 (UTC)", "from fmsmga005.fm.intel.com ([10.253.24.32])\n\tby orsmga104.jf.intel.com with ESMTP; 11 Nov 2016 12:41:13 -0800", "from bimmy.jf.intel.com (HELO bimmy.linux1.jf.intel.com)\n\t([134.134.2.167])\n\tby fmsmga005.fm.intel.com with ESMTP; 11 Nov 2016 12:41:13 -0800" ], "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.31,474,1473145200\"; d=\"scan'208\";a=\"30297953\"", "From": "Bimmy Pujari <bimmy.pujari@intel.com>", "To": "intel-wired-lan@lists.osuosl.org", "Date": "Fri, 11 Nov 2016 12:39:32 -0800", "Message-Id": "<1478896779-13697-9-git-send-email-bimmy.pujari@intel.com>", "X-Mailer": "git-send-email 2.4.11", "In-Reply-To": "<1478896779-13697-1-git-send-email-bimmy.pujari@intel.com>", "References": "<1478896779-13697-1-git-send-email-bimmy.pujari@intel.com>", "Subject": "[Intel-wired-lan] [next PATCH S54 08/15] i40e: don't allow\n\ti40e_vsi_(add|kill)_vlan to operate when VID<1", "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: Jacob Keller <jacob.e.keller@intel.com>\n\nNow that we have the separate i40e_(add|rm)_vlan_all_mac functions, we\nshould not be using the i40e_vsi_kill_vlan or i40e_vsi_add_vlan\nfunctions when PVID is set or when VID is less than 1. This allows us to\nremove some checks in i40e_vsi_add_vlan and ensures that callers which\nneed to handle VID=0 or VID=-1 don't accidentally invoke the VLAN mode\nhandling used to convert filters when entering VLAN mode. We also update\nthe functions to take u16 instead of s16 as well since they no longer\nexpect to be called with VID=I40E_VLAN_ANY.\n\nSigned-off-by: Jacob Keller <jacob.e.keller@intel.com>\nChange-ID: Ibddf44a8bb840dde8ceef2a4fdb92fd953b05a57\n---\nTesting-hints:\n Ensure that add/remove VLAN works correctly for PFs, and for VFs when\n not assigning a PVID.\n\n drivers/net/ethernet/intel/i40e/i40e.h | 4 ++--\n drivers/net/ethernet/intel/i40e/i40e_main.c | 14 ++++++++++----\n 2 files changed, 12 insertions(+), 6 deletions(-)", "diff": "diff --git a/drivers/net/ethernet/intel/i40e/i40e.h b/drivers/net/ethernet/intel/i40e/i40e.h\nindex 03b95cf..dd8c3f3 100644\n--- a/drivers/net/ethernet/intel/i40e/i40e.h\n+++ b/drivers/net/ethernet/intel/i40e/i40e.h\n@@ -854,9 +854,9 @@ int i40e_close(struct net_device *netdev);\n int i40e_vsi_open(struct i40e_vsi *vsi);\n void i40e_vlan_stripping_disable(struct i40e_vsi *vsi);\n int i40e_add_vlan_all_mac(struct i40e_vsi *vsi, s16 vid);\n-int i40e_vsi_add_vlan(struct i40e_vsi *vsi, s16 vid);\n+int i40e_vsi_add_vlan(struct i40e_vsi *vsi, u16 vid);\n void i40e_rm_vlan_all_mac(struct i40e_vsi *vsi, s16 vid);\n-void i40e_vsi_kill_vlan(struct i40e_vsi *vsi, s16 vid);\n+void i40e_vsi_kill_vlan(struct i40e_vsi *vsi, u16 vid);\n struct i40e_mac_filter *i40e_put_mac_in_vlan(struct i40e_vsi *vsi,\n \t\t\t\t\t const u8 *macaddr);\n int i40e_del_mac_all_vlan(struct i40e_vsi *vsi, const u8 *macaddr);\ndiff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c\nindex e8cb82b..4630a71 100644\n--- a/drivers/net/ethernet/intel/i40e/i40e_main.c\n+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c\n@@ -2562,12 +2562,15 @@ int i40e_add_vlan_all_mac(struct i40e_vsi *vsi, s16 vid)\n /**\n * i40e_vsi_add_vlan - Add vsi membership for given vlan\n * @vsi: the vsi being configured\n- * @vid: vlan id to be added (0 = untagged only , -1 = any)\n+ * @vid: vlan id to be added\n **/\n-int i40e_vsi_add_vlan(struct i40e_vsi *vsi, s16 vid)\n+int i40e_vsi_add_vlan(struct i40e_vsi *vsi, u16 vid)\n {\n \tint err;\n \n+\tif (!(vid > 0) || vsi->info.pvid)\n+\t\treturn -EINVAL;\n+\n \t/* Locked once because all functions invoked below iterates list*/\n \tspin_lock_bh(&vsi->mac_filter_hash_lock);\n \terr = i40e_add_vlan_all_mac(vsi, vid);\n@@ -2610,10 +2613,13 @@ void i40e_rm_vlan_all_mac(struct i40e_vsi *vsi, s16 vid)\n /**\n * i40e_vsi_kill_vlan - Remove vsi membership for given vlan\n * @vsi: the vsi being configured\n- * @vid: vlan id to be removed (0 = untagged only , -1 = any)\n+ * @vid: vlan id to be removed\n **/\n-void i40e_vsi_kill_vlan(struct i40e_vsi *vsi, s16 vid)\n+void i40e_vsi_kill_vlan(struct i40e_vsi *vsi, u16 vid)\n {\n+\tif (!(vid > 0) || vsi->info.pvid)\n+\t\treturn;\n+\n \tspin_lock_bh(&vsi->mac_filter_hash_lock);\n \ti40e_rm_vlan_all_mac(vsi, vid);\n \tspin_unlock_bh(&vsi->mac_filter_hash_lock);\n", "prefixes": [ "next", "S54", "08/15" ] }