Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/1038968/?format=api
{ "id": 1038968, "url": "http://patchwork.ozlabs.org/api/patches/1038968/?format=api", "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/20190208205101.12078-2-anirudh.venkataramanan@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": "<20190208205101.12078-2-anirudh.venkataramanan@intel.com>", "list_archive_url": null, "date": "2019-02-08T20:50:48", "name": "[S12,01/14] ice: Fix broadcast traffic in port VLAN mode", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": false, "hash": "9a3a73bf596dcdd063ad08c9f8c5e86967f0d459", "submitter": { "id": 73601, "url": "http://patchwork.ozlabs.org/api/people/73601/?format=api", "name": "Anirudh Venkataramanan", "email": "anirudh.venkataramanan@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/20190208205101.12078-2-anirudh.venkataramanan@intel.com/mbox/", "series": [ { "id": 90914, "url": "http://patchwork.ozlabs.org/api/series/90914/?format=api", "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/list/?series=90914", "date": "2019-02-08T20:50:49", "name": "Bug fixes and minor feature updates for ice", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/90914/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/1038968/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/1038968/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<intel-wired-lan-bounces@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" ], "Authentication-Results": [ "ozlabs.org;\n\tspf=pass (mailfrom) smtp.mailfrom=osuosl.org\n\t(client-ip=140.211.166.136; helo=silver.osuosl.org;\n\tenvelope-from=intel-wired-lan-bounces@osuosl.org;\n\treceiver=<UNKNOWN>)", "ozlabs.org;\n\tdmarc=fail (p=none dis=none) header.from=intel.com" ], "Received": [ "from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 43x6q83Pkfz9sMp\n\tfor <incoming@patchwork.ozlabs.org>;\n\tSat, 9 Feb 2019 07:53:56 +1100 (AEDT)", "from localhost (localhost [127.0.0.1])\n\tby silver.osuosl.org (Postfix) with ESMTP id E4B9C2343B;\n\tFri, 8 Feb 2019 20:53:54 +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 0RHF2rrgvwgw; Fri, 8 Feb 2019 20:53:52 +0000 (UTC)", "from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby silver.osuosl.org (Postfix) with ESMTP id E1922228AE;\n\tFri, 8 Feb 2019 20:53:52 +0000 (UTC)", "from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138])\n\tby ash.osuosl.org (Postfix) with ESMTP id E2E8F1BF97A\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tFri, 8 Feb 2019 20:51:10 +0000 (UTC)", "from localhost (localhost [127.0.0.1])\n\tby whitealder.osuosl.org (Postfix) with ESMTP id 530FF88179\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tFri, 8 Feb 2019 20:51:06 +0000 (UTC)", "from whitealder.osuosl.org ([127.0.0.1])\n\tby localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n\twith ESMTP id hCGrCgfSWSQ1 for <intel-wired-lan@lists.osuosl.org>;\n\tFri, 8 Feb 2019 20:51:03 +0000 (UTC)", "from mga18.intel.com (mga18.intel.com [134.134.136.126])\n\tby whitealder.osuosl.org (Postfix) with ESMTPS id 83F8C87F3E\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tFri, 8 Feb 2019 20:51:03 +0000 (UTC)", "from fmsmga002.fm.intel.com ([10.253.24.26])\n\tby orsmga106.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t08 Feb 2019 12:51:01 -0800", "from shasta.jf.intel.com ([10.166.241.11])\n\tby fmsmga002.fm.intel.com with ESMTP; 08 Feb 2019 12:51:01 -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-Amp-Result": "SKIPPED(no attachment in message)", "X-Amp-File-Uploaded": "False", "X-ExtLoop1": "1", "X-IronPort-AV": "E=Sophos;i=\"5.58,348,1544515200\"; d=\"scan'208\";a=\"141869782\"", "From": "Anirudh Venkataramanan <anirudh.venkataramanan@intel.com>", "To": "intel-wired-lan@lists.osuosl.org", "Date": "Fri, 8 Feb 2019 12:50:48 -0800", "Message-Id": "<20190208205101.12078-2-anirudh.venkataramanan@intel.com>", "X-Mailer": "git-send-email 2.14.5", "In-Reply-To": "<20190208205101.12078-1-anirudh.venkataramanan@intel.com>", "References": "<20190208205101.12078-1-anirudh.venkataramanan@intel.com>", "Subject": "[Intel-wired-lan] [PATCH S12 01/14] ice: Fix broadcast traffic in\n\tport VLAN mode", "X-BeenThere": "intel-wired-lan@osuosl.org", "X-Mailman-Version": "2.1.29", "Precedence": "list", "List-Id": "Intel Wired Ethernet Linux Kernel Driver Development\n\t<intel-wired-lan.osuosl.org>", "List-Unsubscribe": "<https://lists.osuosl.org/mailman/options/intel-wired-lan>, \n\t<mailto:intel-wired-lan-request@osuosl.org?subject=unsubscribe>", "List-Archive": "<http://lists.osuosl.org/pipermail/intel-wired-lan/>", "List-Post": "<mailto:intel-wired-lan@osuosl.org>", "List-Help": "<mailto:intel-wired-lan-request@osuosl.org?subject=help>", "List-Subscribe": "<https://lists.osuosl.org/mailman/listinfo/intel-wired-lan>, \n\t<mailto:intel-wired-lan-request@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@osuosl.org", "Sender": "\"Intel-wired-lan\" <intel-wired-lan-bounces@osuosl.org>" }, "content": "From: Michal Swiatkowski <michal.swiatkowski@intel.com>\n\nSet egress (Rx) pruning enable flag for vf vsi in vsi ctxt to\nenable prune action.\n\nTo avoid seeing broadcast packet in different vlan, pruning enable\nflag in vsi ctxt should be set.\n\nWrite new functions (fill vsi ctx) to not repeat send ctxt code.\n\nSigned-off-by: Michal Swiatkowski <michal.swiatkowski@intel.com>\nSigned-off-by: Anirudh Venkataramanan <anirudh.venkataramanan@intel.com>\n---\n drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c | 76 ++++++++++++++----------\n 1 file changed, 44 insertions(+), 32 deletions(-)", "diff": "diff --git a/drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c b/drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c\nindex 57155b4a59dc..089881b53677 100644\n--- a/drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c\n+++ b/drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c\n@@ -343,11 +343,41 @@ static void ice_trigger_vf_reset(struct ice_vf *vf, bool is_vflr)\n }\n \n /**\n- * ice_vsi_set_pvid - Set port VLAN id for the VSI\n- * @vsi: the VSI being changed\n+ * ice_vsi_set_pvid_fill_ctxt - Set vsi ctxt for add pvid\n+ * @ctxt: the vsi ctxt to fill\n * @vid: the VLAN id to set as a PVID\n */\n-static int ice_vsi_set_pvid(struct ice_vsi *vsi, u16 vid)\n+static void ice_vsi_set_pvid_fill_ctxt(struct ice_vsi_ctx *ctxt, u16 vid)\n+{\n+\tctxt->info.vlan_flags = (ICE_AQ_VSI_VLAN_MODE_UNTAGGED |\n+\t\t\t\t ICE_AQ_VSI_PVLAN_INSERT_PVID |\n+\t\t\t\t ICE_AQ_VSI_VLAN_EMOD_STR);\n+\tctxt->info.pvid = cpu_to_le16(vid);\n+\tctxt->info.sw_flags2 |= ICE_AQ_VSI_SW_FLAG_RX_VLAN_PRUNE_ENA;\n+\tctxt->info.valid_sections = cpu_to_le16(ICE_AQ_VSI_PROP_VLAN_VALID |\n+\t\t\t\t\t\tICE_AQ_VSI_PROP_SW_VALID);\n+}\n+\n+/**\n+ * ice_vsi_kill_pvid_fill_ctxt - Set vsi ctx for remove pvid\n+ * @ctxt: the VSI ctxt to fill\n+ */\n+static void ice_vsi_kill_pvid_fill_ctxt(struct ice_vsi_ctx *ctxt)\n+{\n+\tctxt->info.vlan_flags = ICE_AQ_VSI_VLAN_EMOD_NOTHING;\n+\tctxt->info.vlan_flags |= ICE_AQ_VSI_VLAN_MODE_ALL;\n+\tctxt->info.sw_flags2 &= ~ICE_AQ_VSI_SW_FLAG_RX_VLAN_PRUNE_ENA;\n+\tctxt->info.valid_sections = cpu_to_le16(ICE_AQ_VSI_PROP_VLAN_VALID |\n+\t\t\t\t\t\tICE_AQ_VSI_PROP_SW_VALID);\n+}\n+\n+/**\n+ * ice_vsi_manage_pvid - Enable or disable port VLAN for vsi\n+ * @vsi: the vsi to update\n+ * @vid: the VLAN id to set as a PVID\n+ * @enable: true for enable pvid false for disable\n+ */\n+static int ice_vsi_manage_pvid(struct ice_vsi *vsi, u16 vid, bool enable)\n {\n \tstruct device *dev = &vsi->back->pdev->dev;\n \tstruct ice_hw *hw = &vsi->back->hw;\n@@ -359,45 +389,26 @@ static int ice_vsi_set_pvid(struct ice_vsi *vsi, u16 vid)\n \tif (!ctxt)\n \t\treturn -ENOMEM;\n \n-\tctxt->info.vlan_flags = (ICE_AQ_VSI_VLAN_MODE_UNTAGGED |\n-\t\t\t\t ICE_AQ_VSI_PVLAN_INSERT_PVID |\n-\t\t\t\t ICE_AQ_VSI_VLAN_EMOD_STR);\n-\tctxt->info.pvid = cpu_to_le16(vid);\n-\tctxt->info.valid_sections = cpu_to_le16(ICE_AQ_VSI_PROP_VLAN_VALID);\n+\tctxt->info = vsi->info;\n+\tif (enable)\n+\t\tice_vsi_set_pvid_fill_ctxt(ctxt, vid);\n+\telse\n+\t\tice_vsi_kill_pvid_fill_ctxt(ctxt);\n \n \tstatus = ice_update_vsi(hw, vsi->idx, ctxt, NULL);\n \tif (status) {\n-\t\tdev_info(dev, \"update VSI for VLAN insert failed, err %d aq_err %d\\n\",\n+\t\tdev_info(dev, \"update VSI for port VLAN failed, err %d aq_err %d\\n\",\n \t\t\t status, hw->adminq.sq_last_status);\n \t\tret = -EIO;\n \t\tgoto out;\n \t}\n \n-\tvsi->info.pvid = ctxt->info.pvid;\n-\tvsi->info.vlan_flags = ctxt->info.vlan_flags;\n+\tvsi->info = ctxt->info;\n out:\n \tdevm_kfree(dev, ctxt);\n \treturn ret;\n }\n \n-/**\n- * ice_vsi_kill_pvid - Remove port VLAN id from the VSI\n- * @vsi: the VSI being changed\n- */\n-static int ice_vsi_kill_pvid(struct ice_vsi *vsi)\n-{\n-\tstruct ice_pf *pf = vsi->back;\n-\n-\tif (ice_vsi_manage_vlan_stripping(vsi, false)) {\n-\t\tdev_err(&pf->pdev->dev, \"Error removing Port VLAN on VSI %i\\n\",\n-\t\t\tvsi->vsi_num);\n-\t\treturn -ENODEV;\n-\t}\n-\n-\tvsi->info.pvid = 0;\n-\treturn 0;\n-}\n-\n /**\n * ice_vf_vsi_setup - Set up a VF VSI\n * @pf: board private structure\n@@ -447,7 +458,7 @@ static int ice_alloc_vsi_res(struct ice_vf *vf)\n \n \t/* Check if port VLAN exist before, and restore it accordingly */\n \tif (vf->port_vlan_id)\n-\t\tice_vsi_set_pvid(vsi, vf->port_vlan_id);\n+\t\tice_vsi_manage_pvid(vsi, vf->port_vlan_id, true);\n \n \teth_broadcast_addr(broadcast);\n \n@@ -2093,11 +2104,12 @@ ice_set_vf_port_vlan(struct net_device *netdev, int vf_id, u16 vlan_id, u8 qos,\n \t\t\t\t VLAN_VID_MASK));\n \n \tif (vlan_id || qos) {\n-\t\tret = ice_vsi_set_pvid(vsi, vlanprio);\n+\t\tret = ice_vsi_manage_pvid(vsi, vlanprio, true);\n \t\tif (ret)\n \t\t\tgoto error_set_pvid;\n \t} else {\n-\t\tice_vsi_kill_pvid(vsi);\n+\t\tice_vsi_manage_pvid(vsi, 0, false);\n+\t\tvsi->info.pvid = 0;\n \t}\n \n \tif (vlan_id) {\n", "prefixes": [ "S12", "01/14" ] }