Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/922180/?format=api
{ "id": 922180, "url": "http://patchwork.ozlabs.org/api/patches/922180/?format=api", "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/20180528163913.16315-1-ohlavaty@redhat.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": "<20180528163913.16315-1-ohlavaty@redhat.com>", "list_archive_url": null, "date": "2018-05-28T16:39:13", "name": "[net] ixgbe: fix parsing of TC actions for HW offload", "commit_ref": null, "pull_url": null, "state": "changes-requested", "archived": false, "hash": "cb74f7bb60ecdcffb9a2f2e484d423522d0754e3", "submitter": { "id": 74173, "url": "http://patchwork.ozlabs.org/api/people/74173/?format=api", "name": "Ondřej Hlavatý", "email": "ohlavaty@redhat.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/20180528163913.16315-1-ohlavaty@redhat.com/mbox/", "series": [ { "id": 47281, "url": "http://patchwork.ozlabs.org/api/series/47281/?format=api", "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/list/?series=47281", "date": "2018-05-28T16:39:13", "name": "[net] ixgbe: fix parsing of TC actions for HW offload", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/47281/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/922180/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/922180/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=redhat.com" ], "Received": [ "from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136])\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 40wHcR41tbz9s15\n\tfor <incoming@patchwork.ozlabs.org>;\n\tWed, 30 May 2018 01:25:59 +1000 (AEST)", "from localhost (localhost [127.0.0.1])\n\tby silver.osuosl.org (Postfix) with ESMTP id 070B624732;\n\tTue, 29 May 2018 15:25:58 +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 uoKJMTfAyCXl; Tue, 29 May 2018 15:25:56 +0000 (UTC)", "from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby silver.osuosl.org (Postfix) with ESMTP id 281CF24DF9;\n\tTue, 29 May 2018 15:25:54 +0000 (UTC)", "from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137])\n\tby ash.osuosl.org (Postfix) with ESMTP id 37E0D1BFF61\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tMon, 28 May 2018 16:39:21 +0000 (UTC)", "from localhost (localhost [127.0.0.1])\n\tby fraxinus.osuosl.org (Postfix) with ESMTP id 345AD84921\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tMon, 28 May 2018 16:39:21 +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 j5Z1HtlG4Fh2 for <intel-wired-lan@lists.osuosl.org>;\n\tMon, 28 May 2018 16:39:20 +0000 (UTC)", "from mx1.redhat.com (mx3-rdu2.redhat.com [66.187.233.73])\n\tby fraxinus.osuosl.org (Postfix) with ESMTPS id 2F27D8480C\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tMon, 28 May 2018 16:39:20 +0000 (UTC)", "from smtp.corp.redhat.com\n\t(int-mx06.intmail.prod.int.rdu2.redhat.com [10.11.54.6])\n\t(using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby mx1.redhat.com (Postfix) with ESMTPS id 19EA9738E0;\n\tMon, 28 May 2018 16:39:19 +0000 (UTC)", "from mace-windu.eideo.cz.redhat.com (ovpn-204-21.brq.redhat.com\n\t[10.40.204.21])\n\tby smtp.corp.redhat.com (Postfix) with ESMTP id 2194B2166BB2;\n\tMon, 28 May 2018 16:39:16 +0000 (UTC)" ], "X-Virus-Scanned": [ "amavisd-new at osuosl.org", "amavisd-new at osuosl.org" ], "X-Greylist": [ "domain auto-whitelisted by SQLgrey-1.7.6", "Sender IP whitelisted, not delayed by milter-greylist-4.5.16\n\t(mx1.redhat.com [10.11.55.1]); Mon, 28 May 2018 16:39:19 +0000 (UTC)", "inspected by milter-greylist-4.5.16 (mx1.redhat.com\n\t[10.11.55.1]); \n\tMon, 28 May 2018 16:39:19 +0000 (UTC) for IP:'10.11.54.6'\n\tDOMAIN:'int-mx06.intmail.prod.int.rdu2.redhat.com'\n\tHELO:'smtp.corp.redhat.com' FROM:'ohlavaty@redhat.com' RCPT:''" ], "From": "=?utf-8?q?Ond=C5=99ej_Hlavat=C3=BD?= <ohlavaty@redhat.com>", "To": "netdev@vger.kernel.org", "Date": "Mon, 28 May 2018 18:39:13 +0200", "Message-Id": "<20180528163913.16315-1-ohlavaty@redhat.com>", "MIME-Version": "1.0", "X-Scanned-By": "MIMEDefang 2.78 on 10.11.54.6", "X-Mailman-Approved-At": "Tue, 29 May 2018 15:25:49 +0000", "Subject": "[Intel-wired-lan] [PATCH net] ixgbe: fix parsing of TC actions for\n\tHW offload", "X-BeenThere": "intel-wired-lan@osuosl.org", "X-Mailman-Version": "2.1.24", "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>", "Cc": "=?utf-8?q?Ond=C5=99ej_Hlavat=C3=BD?= <ohlavaty@redhat.com>,\n\tJiri Pirko <jiri@resnulli.us>, intel-wired-lan@lists.osuosl.org, \n\tJamal Hadi Salim <jhs@mojatatu.com>", "Content-Type": "text/plain; charset=\"utf-8\"", "Content-Transfer-Encoding": "base64", "Errors-To": "intel-wired-lan-bounces@osuosl.org", "Sender": "\"Intel-wired-lan\" <intel-wired-lan-bounces@osuosl.org>" }, "content": "The previous code was optimistic, accepting the offload of whole action\nchain when there was a single known action (drop/redirect). This results\nin offloading a rule which should not be offloaded, because its behavior\ncannot be reproduced in the hardware.\n\nFor example:\n\n$ tc filter add dev eno1 parent ffff: protocol ip \\\n u32 ht 800: order 1 match tcp src 42 FFFF \\\n action mirred egress mirror dev enp1s16 pipe \\\n drop\n\nThe controller is unable to mirror the packet to a VF, but still\noffloads the rule by dropping the packet.\n\nChange the approach of the function to a pessimistic one, rejecting the\nchain when an unknown action is found. This is better suited for future\nextensions.\n\nNote that both recognized actions always return TC_ACT_SHOT, therefore\nit is safe to ignore actions behind them.\n\nCc: Jeff Kirsher <jeffrey.t.kirsher@intel.com>\nCc: intel-wired-lan@lists.osuosl.org\nCc: Jamal Hadi Salim <jhs@mojatatu.com>\nCc: Jiri Pirko <jiri@resnulli.us>\nSigned-off-by: Ondřej Hlavatý <ohlavaty@redhat.com>\n\n---\n drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 11 +++++------\n 1 file changed, 5 insertions(+), 6 deletions(-)", "diff": "diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c\nindex afadba99f7b8..d01e1f0280cf 100644\n--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c\n+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c\n@@ -9054,7 +9054,6 @@ static int parse_tc_actions(struct ixgbe_adapter *adapter,\n {\n \tconst struct tc_action *a;\n \tLIST_HEAD(actions);\n-\tint err;\n \n \tif (!tcf_exts_has_actions(exts))\n \t\treturn -EINVAL;\n@@ -9075,14 +9074,14 @@ static int parse_tc_actions(struct ixgbe_adapter *adapter,\n \n \t\t\tif (!dev)\n \t\t\t\treturn -EINVAL;\n-\t\t\terr = handle_redirect_action(adapter, dev->ifindex, queue,\n-\t\t\t\t\t\t action);\n-\t\t\tif (err == 0)\n-\t\t\t\treturn err;\n+\t\t\treturn handle_redirect_action(adapter, dev->ifindex,\n+\t\t\t\t\t\t queue, action);\n \t\t}\n+\n+\t\treturn -EINVAL;\n \t}\n \n-\treturn -EINVAL;\n+\treturn 0;\n }\n #else\n static int parse_tc_actions(struct ixgbe_adapter *adapter,\n", "prefixes": [ "net" ] }