Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/889176/?format=api
{ "id": 889176, "url": "http://patchwork.ozlabs.org/api/patches/889176/?format=api", "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/20180322003353.29970-8-vinicius.gomes@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": "<20180322003353.29970-8-vinicius.gomes@intel.com>", "list_archive_url": null, "date": "2018-03-22T00:33:51", "name": "[next-queue,v5,7/9] igb: Add MAC address support for ethtool nftuple filters", "commit_ref": null, "pull_url": null, "state": "changes-requested", "archived": false, "hash": "e0a978bca2a27ebeda15d93bd2e0a1125077a89f", "submitter": { "id": 72272, "url": "http://patchwork.ozlabs.org/api/people/72272/?format=api", "name": "Vinicius Costa Gomes", "email": "vinicius.gomes@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/20180322003353.29970-8-vinicius.gomes@intel.com/mbox/", "series": [ { "id": 35168, "url": "http://patchwork.ozlabs.org/api/series/35168/?format=api", "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/list/?series=35168", "date": "2018-03-22T00:33:44", "name": "igb: offloading of receive filters", "version": 5, "mbox": "http://patchwork.ozlabs.org/series/35168/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/889176/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/889176/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.138; helo=whitealder.osuosl.org;\n\tenvelope-from=intel-wired-lan-bounces@osuosl.org;\n\treceiver=<UNKNOWN>)", "ozlabs.org;\n\tdmarc=none (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 AECDH-AES256-SHA (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 40673j6yr3z9s3B\n\tfor <incoming@patchwork.ozlabs.org>;\n\tThu, 22 Mar 2018 11:34:57 +1100 (AEDT)", "from localhost (localhost [127.0.0.1])\n\tby whitealder.osuosl.org (Postfix) with ESMTP id 4766189058;\n\tThu, 22 Mar 2018 00:34:56 +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 Rzj4+-Mme3Re; Thu, 22 Mar 2018 00:34:54 +0000 (UTC)", "from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby whitealder.osuosl.org (Postfix) with ESMTP id 19FB989076;\n\tThu, 22 Mar 2018 00:34:54 +0000 (UTC)", "from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137])\n\tby ash.osuosl.org (Postfix) with ESMTP id 6002C1C0AF7\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tThu, 22 Mar 2018 00:34:51 +0000 (UTC)", "from localhost (localhost [127.0.0.1])\n\tby fraxinus.osuosl.org (Postfix) with ESMTP id 5D4C187BCB\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tThu, 22 Mar 2018 00:34:51 +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 F9iPPt_pHo41 for <intel-wired-lan@lists.osuosl.org>;\n\tThu, 22 Mar 2018 00:34:50 +0000 (UTC)", "from mga09.intel.com (mga09.intel.com [134.134.136.24])\n\tby fraxinus.osuosl.org (Postfix) with ESMTPS id 17FF887C13\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tThu, 22 Mar 2018 00:34:50 +0000 (UTC)", "from orsmga006.jf.intel.com ([10.7.209.51])\n\tby orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t21 Mar 2018 17:34:48 -0700", "from ellie.jf.intel.com (HELO localhost.localdomain)\n\t([10.54.70.23])\n\tby orsmga006.jf.intel.com with ESMTP; 21 Mar 2018 17:34:48 -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-Amp-Result": "SKIPPED(no attachment in message)", "X-Amp-File-Uploaded": "False", "X-ExtLoop1": "1", "X-IronPort-AV": "E=Sophos;i=\"5.48,341,1517904000\"; d=\"scan'208\";a=\"27785574\"", "From": "Vinicius Costa Gomes <vinicius.gomes@intel.com>", "To": "intel-wired-lan@lists.osuosl.org", "Date": "Wed, 21 Mar 2018 17:33:51 -0700", "Message-Id": "<20180322003353.29970-8-vinicius.gomes@intel.com>", "X-Mailer": "git-send-email 2.16.2", "In-Reply-To": "<20180322003353.29970-1-vinicius.gomes@intel.com>", "References": "<20180322003353.29970-1-vinicius.gomes@intel.com>", "Subject": "[Intel-wired-lan] [next-queue PATCH v5 7/9] igb: Add MAC address\n\tsupport for ethtool nftuple filters", "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": "netdev@vger.kernel.org, jesus.sanchez-palencia@intel.com", "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": "This adds the capability of configuring the queue steering of arriving\npackets based on their source and destination MAC addresses.\n\nIn practical terms this adds support for the following use cases,\ncharacterized by these examples:\n\n$ ethtool -N eth0 flow-type ether dst aa:aa:aa:aa:aa:aa action 0\n(this will direct packets with destination address \"aa:aa:aa:aa:aa:aa\"\nto the RX queue 0)\n\n$ ethtool -N eth0 flow-type ether src 44:44:44:44:44:44 action 3\n(this will direct packets with source address \"44:44:44:44:44:44\" to\nthe RX queue 3)\n\nSigned-off-by: Vinicius Costa Gomes <vinicius.gomes@intel.com>\n---\n drivers/net/ethernet/intel/igb/igb_ethtool.c | 35 ++++++++++++++++++++++++----\n 1 file changed, 31 insertions(+), 4 deletions(-)", "diff": "diff --git a/drivers/net/ethernet/intel/igb/igb_ethtool.c b/drivers/net/ethernet/intel/igb/igb_ethtool.c\nindex 4c6a1b78c413..27caa413ade2 100644\n--- a/drivers/net/ethernet/intel/igb/igb_ethtool.c\n+++ b/drivers/net/ethernet/intel/igb/igb_ethtool.c\n@@ -2494,6 +2494,23 @@ static int igb_get_ethtool_nfc_entry(struct igb_adapter *adapter,\n \t\t\tfsp->h_ext.vlan_tci = rule->filter.vlan_tci;\n \t\t\tfsp->m_ext.vlan_tci = htons(VLAN_PRIO_MASK);\n \t\t}\n+\t\tif (rule->filter.match_flags & IGB_FILTER_FLAG_DST_MAC_ADDR) {\n+\t\t\tether_addr_copy(fsp->h_u.ether_spec.h_dest,\n+\t\t\t\t\trule->filter.dst_addr);\n+\t\t\t/* As we only support matching by the full\n+\t\t\t * mask, return the mask to userspace\n+\t\t\t */\n+\t\t\teth_broadcast_addr(fsp->m_u.ether_spec.h_dest);\n+\t\t}\n+\t\tif (rule->filter.match_flags & IGB_FILTER_FLAG_SRC_MAC_ADDR) {\n+\t\t\tether_addr_copy(fsp->h_u.ether_spec.h_source,\n+\t\t\t\t\trule->filter.src_addr);\n+\t\t\t/* As we only support matching by the full\n+\t\t\t * mask, return the mask to userspace\n+\t\t\t */\n+\t\t\teth_broadcast_addr(fsp->m_u.ether_spec.h_source);\n+\t\t}\n+\n \t\treturn 0;\n \t}\n \treturn -EINVAL;\n@@ -2932,10 +2949,6 @@ static int igb_add_ethtool_nfc_entry(struct igb_adapter *adapter,\n \tif ((fsp->flow_type & ~FLOW_EXT) != ETHER_FLOW)\n \t\treturn -EINVAL;\n \n-\tif (fsp->m_u.ether_spec.h_proto != ETHER_TYPE_FULL_MASK &&\n-\t fsp->m_ext.vlan_tci != htons(VLAN_PRIO_MASK))\n-\t\treturn -EINVAL;\n-\n \tinput = kzalloc(sizeof(*input), GFP_KERNEL);\n \tif (!input)\n \t\treturn -ENOMEM;\n@@ -2945,6 +2958,20 @@ static int igb_add_ethtool_nfc_entry(struct igb_adapter *adapter,\n \t\tinput->filter.match_flags = IGB_FILTER_FLAG_ETHER_TYPE;\n \t}\n \n+\t/* Only support matching addresses by the full mask */\n+\tif (is_broadcast_ether_addr(fsp->m_u.ether_spec.h_source)) {\n+\t\tinput->filter.match_flags |= IGB_FILTER_FLAG_SRC_MAC_ADDR;\n+\t\tether_addr_copy(input->filter.src_addr,\n+\t\t\t\tfsp->h_u.ether_spec.h_source);\n+\t}\n+\n+\t/* Only support matching addresses by the full mask */\n+\tif (is_broadcast_ether_addr(fsp->m_u.ether_spec.h_dest)) {\n+\t\tinput->filter.match_flags |= IGB_FILTER_FLAG_DST_MAC_ADDR;\n+\t\tether_addr_copy(input->filter.dst_addr,\n+\t\t\t\tfsp->h_u.ether_spec.h_dest);\n+\t}\n+\n \tif ((fsp->flow_type & FLOW_EXT) && fsp->m_ext.vlan_tci) {\n \t\tif (fsp->m_ext.vlan_tci != htons(VLAN_PRIO_MASK)) {\n \t\t\terr = -EINVAL;\n", "prefixes": [ "next-queue", "v5", "7/9" ] }