Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/1291788/?format=api
{ "id": 1291788, "url": "http://patchwork.ozlabs.org/api/patches/1291788/?format=api", "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/20200516005506.5113-1-anthony.l.nguyen@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": "<20200516005506.5113-1-anthony.l.nguyen@intel.com>", "list_archive_url": null, "date": "2020-05-16T00:54:58", "name": "[S46,1/9] ice: Reset VF for all port VLAN changes from host", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": false, "hash": "6164dc1576556331ef8df84db94ce30a051bdd05", "submitter": { "id": 68875, "url": "http://patchwork.ozlabs.org/api/people/68875/?format=api", "name": "Tony Nguyen", "email": "anthony.l.nguyen@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/20200516005506.5113-1-anthony.l.nguyen@intel.com/mbox/", "series": [ { "id": 177331, "url": "http://patchwork.ozlabs.org/api/series/177331/?format=api", "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/list/?series=177331", "date": "2020-05-16T00:55:01", "name": "[S46,1/9] ice: Reset VF for all port VLAN changes from host", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/177331/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/1291788/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/1291788/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 spf=pass (sender SPF authorized) smtp.mailfrom=osuosl.org\n (client-ip=140.211.166.138; helo=whitealder.osuosl.org;\n envelope-from=intel-wired-lan-bounces@osuosl.org; receiver=<UNKNOWN>)", "ozlabs.org;\n dmarc=fail (p=none dis=none) header.from=intel.com" ], "Received": [ "from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 49P6MH0v3Yz9sTL\n\tfor <incoming@patchwork.ozlabs.org>; Sat, 16 May 2020 10:57:47 +1000 (AEST)", "from localhost (localhost [127.0.0.1])\n\tby whitealder.osuosl.org (Postfix) with ESMTP id 6385C890B0;\n\tSat, 16 May 2020 00:57:45 +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 VpeZHquxhohN; Sat, 16 May 2020 00:57:44 +0000 (UTC)", "from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby whitealder.osuosl.org (Postfix) with ESMTP id 632FE890A9;\n\tSat, 16 May 2020 00:57:44 +0000 (UTC)", "from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136])\n by ash.osuosl.org (Postfix) with ESMTP id BD1531BF9C6\n for <intel-wired-lan@lists.osuosl.org>; Sat, 16 May 2020 00:57:42 +0000 (UTC)", "from localhost (localhost [127.0.0.1])\n by silver.osuosl.org (Postfix) with ESMTP id B900C227FC\n for <intel-wired-lan@lists.osuosl.org>; Sat, 16 May 2020 00:57:42 +0000 (UTC)", "from silver.osuosl.org ([127.0.0.1])\n by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)\n with ESMTP id Xk1iAJb6IWvt for <intel-wired-lan@lists.osuosl.org>;\n Sat, 16 May 2020 00:57:41 +0000 (UTC)", "from mga07.intel.com (mga07.intel.com [134.134.136.100])\n by silver.osuosl.org (Postfix) with ESMTPS id 75FC8204BE\n for <intel-wired-lan@lists.osuosl.org>; Sat, 16 May 2020 00:57:41 +0000 (UTC)", "from fmsmga005.fm.intel.com ([10.253.24.32])\n by orsmga105.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 15 May 2020 17:57:40 -0700", "from unknown (HELO localhost.jf.intel.com) ([10.166.241.65])\n by fmsmga005.fm.intel.com with ESMTP; 15 May 2020 17:57:40 -0700" ], "X-Virus-Scanned": [ "amavisd-new at osuosl.org", "amavisd-new at osuosl.org" ], "X-Greylist": "domain auto-whitelisted by SQLgrey-1.7.6", "IronPort-SDR": [ "\n 1bNQHa/lOLpWRnCHBS6JnAYucEEcvFmoQ+d3cg7ykO2qoX2cNvB2fgMCeRi7Q2u5/2vZf2G9Xa\n UGWvg0wbILBg==", "\n Nbk78f8YUn2IblatVFra226EMi+67ooKsVNujKWjN2+VeM+97T8XCSpnUG09HN8xAlmOyj7Cqb\n ZWDOsRaZClVA==" ], "X-Amp-Result": "SKIPPED(no attachment in message)", "X-Amp-File-Uploaded": "False", "X-ExtLoop1": "1", "X-IronPort-AV": "E=Sophos;i=\"5.73,397,1583222400\"; d=\"scan'208\";a=\"464922693\"", "From": "Tony Nguyen <anthony.l.nguyen@intel.com>", "To": "intel-wired-lan@lists.osuosl.org", "Date": "Fri, 15 May 2020 17:54:58 -0700", "Message-Id": "<20200516005506.5113-1-anthony.l.nguyen@intel.com>", "X-Mailer": "git-send-email 2.20.1", "MIME-Version": "1.0", "Subject": "[Intel-wired-lan] [PATCH S46 1/9] ice: Reset VF for all port VLAN\n changes from host", "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 <intel-wired-lan.osuosl.org>", "List-Unsubscribe": "<https://lists.osuosl.org/mailman/options/intel-wired-lan>,\n <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 <mailto:intel-wired-lan-request@osuosl.org?subject=subscribe>", "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: Brett Creeley <brett.creeley@intel.com>\n\nCurrently the PF is modifying the VF's port VLAN on the fly when\nconfigured via iproute. This is okay for most cases, but if the VF\nalready has guest VLANs configured the PF has to remove all of those\nfilters so only VLAN tagged traffic that matches the port VLAN will\npass. Instead of adding functionality to track which guest VLANs have\nbeen added, just reset the VF each time port VLAN parameters are\nmodified.\n\nSigned-off-by: Brett Creeley <brett.creeley@intel.com>\n---\n .../net/ethernet/intel/ice/ice_virtchnl_pf.c | 42 +++----------------\n 1 file changed, 5 insertions(+), 37 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 abc4f2dba388..0ca614fa97bb 100644\n--- a/drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c\n+++ b/drivers/net/ethernet/intel/ice/ice_virtchnl_pf.c\n@@ -3269,7 +3269,6 @@ ice_set_vf_port_vlan(struct net_device *netdev, int vf_id, u16 vlan_id, u8 qos,\n \t\t __be16 vlan_proto)\n {\n \tstruct ice_pf *pf = ice_netdev_to_pf(netdev);\n-\tstruct ice_vsi *vsi;\n \tstruct device *dev;\n \tstruct ice_vf *vf;\n \tu16 vlanprio;\n@@ -3291,8 +3290,6 @@ ice_set_vf_port_vlan(struct net_device *netdev, int vf_id, u16 vlan_id, u8 qos,\n \t}\n \n \tvf = &pf->vf[vf_id];\n-\tvsi = pf->vsi[vf->lan_vsi_idx];\n-\n \tret = ice_check_vf_ready_for_cfg(vf);\n \tif (ret)\n \t\treturn ret;\n@@ -3305,44 +3302,15 @@ ice_set_vf_port_vlan(struct net_device *netdev, int vf_id, u16 vlan_id, u8 qos,\n \t\treturn 0;\n \t}\n \n-\tif (vlan_id || qos) {\n-\t\t/* remove VLAN 0 filter set by default when transitioning from\n-\t\t * no port VLAN to a port VLAN. No change to old port VLAN on\n-\t\t * failure.\n-\t\t */\n-\t\tret = ice_vsi_kill_vlan(vsi, 0);\n-\t\tif (ret)\n-\t\t\treturn ret;\n-\t\tret = ice_vsi_manage_pvid(vsi, vlanprio, true);\n-\t\tif (ret)\n-\t\t\treturn ret;\n-\t} else {\n-\t\t/* add VLAN 0 filter back when transitioning from port VLAN to\n-\t\t * no port VLAN. No change to old port VLAN on failure.\n-\t\t */\n-\t\tret = ice_vsi_add_vlan(vsi, 0, ICE_FWD_TO_VSI);\n-\t\tif (ret)\n-\t\t\treturn ret;\n-\t\tret = ice_vsi_manage_pvid(vsi, 0, false);\n-\t\tif (ret)\n-\t\t\treturn ret;\n-\t}\n+\tvf->port_vlan_info = vlanprio;\n \n-\tif (vlan_id) {\n+\tif (vf->port_vlan_info)\n \t\tdev_info(dev, \"Setting VLAN %d, QoS 0x%x on VF %d\\n\",\n \t\t\t vlan_id, qos, vf_id);\n+\telse\n+\t\tdev_info(dev, \"Clearing port VLAN on VF %d\\n\", vf_id);\n \n-\t\t/* add VLAN filter for the port VLAN */\n-\t\tret = ice_vsi_add_vlan(vsi, vlan_id, ICE_FWD_TO_VSI);\n-\t\tif (ret)\n-\t\t\treturn ret;\n-\t}\n-\t/* remove old port VLAN filter with valid VLAN ID or QoS fields */\n-\tif (vf->port_vlan_info)\n-\t\tice_vsi_kill_vlan(vsi, vf->port_vlan_info & VLAN_VID_MASK);\n-\n-\t/* keep port VLAN information persistent on resets */\n-\tvf->port_vlan_info = le16_to_cpu(vsi->info.pvid);\n+\tice_vc_reset_vf(vf);\n \n \treturn 0;\n }\n", "prefixes": [ "S46", "1/9" ] }