Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/652434/?format=api
{ "id": 652434, "url": "http://patchwork.ozlabs.org/api/patches/652434/?format=api", "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/1469488555-28187-8-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": "<1469488555-28187-8-git-send-email-bimmy.pujari@intel.com>", "list_archive_url": null, "date": "2016-07-25T23:15:49", "name": "[next,S40,07/13] i40e: don't allow reduction of channels below active FD rules", "commit_ref": null, "pull_url": null, "state": "changes-requested", "archived": false, "hash": "2257c8c901ebbb0e0e3acbd2771103efdfb9608b", "submitter": { "id": 68919, "url": "http://patchwork.ozlabs.org/api/people/68919/?format=api", "name": "Pujari, Bimmy", "email": "bimmy.pujari@intel.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/1469488555-28187-8-git-send-email-bimmy.pujari@intel.com/mbox/", "series": [], "comments": "http://patchwork.ozlabs.org/api/patches/652434/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/652434/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\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 3ryxts1fxmz9s9c\n\tfor <incoming@patchwork.ozlabs.org>;\n\tTue, 26 Jul 2016 09:15:33 +1000 (AEST)", "from localhost (localhost [127.0.0.1])\n\tby fraxinus.osuosl.org (Postfix) with ESMTP id A725788964;\n\tMon, 25 Jul 2016 23:15:31 +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 aL4ZU7edZCwo; Mon, 25 Jul 2016 23:15:30 +0000 (UTC)", "from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby fraxinus.osuosl.org (Postfix) with ESMTP id 9ACC288A7D;\n\tMon, 25 Jul 2016 23:15:28 +0000 (UTC)", "from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133])\n\tby ash.osuosl.org (Postfix) with ESMTP id 1ECBE1C22D8\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tMon, 25 Jul 2016 23:15:26 +0000 (UTC)", "from localhost (localhost [127.0.0.1])\n\tby hemlock.osuosl.org (Postfix) with ESMTP id 1BE78866E4\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tMon, 25 Jul 2016 23:15:26 +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 StimJ3Zs+jYG for <intel-wired-lan@lists.osuosl.org>;\n\tMon, 25 Jul 2016 23:15:25 +0000 (UTC)", "from mga01.intel.com (mga01.intel.com [192.55.52.88])\n\tby hemlock.osuosl.org (Postfix) with ESMTP id 8CA2088BAB\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tMon, 25 Jul 2016 23:15:25 +0000 (UTC)", "from orsmga003.jf.intel.com ([10.7.209.27])\n\tby fmsmga101.fm.intel.com with ESMTP; 25 Jul 2016 16:15:24 -0700", "from bimmy.jf.intel.com (HELO bimmy.linux1.jf.intel.com)\n\t([134.134.2.177])\n\tby orsmga003.jf.intel.com with ESMTP; 25 Jul 2016 16:15:23 -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.28,421,1464678000\"; d=\"scan'208\";a=\"853301724\"", "From": "Bimmy Pujari <bimmy.pujari@intel.com>", "To": "intel-wired-lan@lists.osuosl.org", "Date": "Mon, 25 Jul 2016 16:15:49 -0700", "Message-Id": "<1469488555-28187-8-git-send-email-bimmy.pujari@intel.com>", "X-Mailer": "git-send-email 2.4.11", "In-Reply-To": "<1469488555-28187-1-git-send-email-bimmy.pujari@intel.com>", "References": "<1469488555-28187-1-git-send-email-bimmy.pujari@intel.com>", "Subject": "[Intel-wired-lan] [next PATCH S40 07/13] i40e: don't allow\n\treduction of channels below active FD rules", "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\nIf a driver is unable to maintain all current user supplied settings\nfrom ethtool (or other sources), it is not ok for a user request to\nsucceed and silently trample over previous configuration.\n\nTo that end, if you change the number of channels, it must not be\nallowed to reduce the number of channels (queues) below the current\nflow director filter rules targets. In this case, return -EINVAL when\na request to reduce the number of channels would do so. In addition\nlog a warning to the kernel buffer explaining why we failed, and report\nthe rules which prevent us from lowering the number of channels.\n\nSigned-off-by: Jacob Keller <jacob.e.keller@intel.com>\nChange-ID: If41464d63d7aab11cedf09e4f3aa1a69e21ffd88\n---\n drivers/net/ethernet/intel/i40e/i40e_ethtool.c | 24 ++++++++++++++++++++++++\n 1 file changed, 24 insertions(+)", "diff": "diff --git a/drivers/net/ethernet/intel/i40e/i40e_ethtool.c b/drivers/net/ethernet/intel/i40e/i40e_ethtool.c\nindex c912e04..a49552f 100644\n--- a/drivers/net/ethernet/intel/i40e/i40e_ethtool.c\n+++ b/drivers/net/ethernet/intel/i40e/i40e_ethtool.c\n@@ -2744,11 +2744,15 @@ static void i40e_get_channels(struct net_device *dev,\n static int i40e_set_channels(struct net_device *dev,\n \t\t\t struct ethtool_channels *ch)\n {\n+\tconst u8 drop = I40E_FILTER_PROGRAM_DESC_DEST_DROP_PACKET;\n \tstruct i40e_netdev_priv *np = netdev_priv(dev);\n \tunsigned int count = ch->combined_count;\n \tstruct i40e_vsi *vsi = np->vsi;\n \tstruct i40e_pf *pf = vsi->back;\n+\tstruct i40e_fdir_filter *rule;\n+\tstruct hlist_node *node2;\n \tint new_count;\n+\tint err = 0;\n \n \t/* We do not support setting channels for any other VSI at present */\n \tif (vsi->type != I40E_VSI_MAIN)\n@@ -2766,6 +2770,26 @@ static int i40e_set_channels(struct net_device *dev,\n \tif (count > i40e_max_channels(vsi))\n \t\treturn -EINVAL;\n \n+\t/* verify that the number of channels does not invalidate any current\n+\t * flow director rules\n+\t */\n+\thlist_for_each_entry_safe(rule, node2,\n+\t\t\t\t &pf->fdir_filter_list, fdir_node) {\n+\t\tif (rule->dest_ctl != drop && count <= rule->q_index) {\n+\t\t\tdev_warn(&pf->pdev->dev,\n+\t\t\t\t \"Existing user defined filter %d assigns flow to queue %d\\n\",\n+\t\t\t\t rule->fd_id, rule->q_index);\n+\t\t\terr = -EINVAL;\n+\t\t}\n+\t}\n+\n+\tif (err) {\n+\t\tdev_err(&pf->pdev->dev,\n+\t\t\t\"Existing filter rules must be deleted to reduce combined channel count to %d\\n\",\n+\t\t\tcount);\n+\t\treturn err;\n+\t}\n+\n \t/* update feature limits from largest to smallest supported values */\n \t/* TODO: Flow director limit, DCB etc */\n \n", "prefixes": [ "next", "S40", "07/13" ] }