Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/892986/?format=api
{ "id": 892986, "url": "http://patchwork.ozlabs.org/api/patches/892986/?format=api", "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/20180329210751.11531-9-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": "<20180329210751.11531-9-vinicius.gomes@intel.com>", "list_archive_url": null, "date": "2018-03-29T21:07:49", "name": "[next-queue,v6,08/10] igb: Add MAC address support for ethtool nftuple filters", "commit_ref": null, "pull_url": null, "state": "superseded", "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/20180329210751.11531-9-vinicius.gomes@intel.com/mbox/", "series": [ { "id": 36560, "url": "http://patchwork.ozlabs.org/api/series/36560/?format=api", "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/list/?series=36560", "date": "2018-03-29T21:07:48", "name": "igb: offloading of receive filters", "version": 6, "mbox": "http://patchwork.ozlabs.org/series/36560/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/892986/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/892986/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.137; helo=fraxinus.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 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 40By6P6h85z9s2t\n\tfor <incoming@patchwork.ozlabs.org>;\n\tFri, 30 Mar 2018 08:09:01 +1100 (AEDT)", "from localhost (localhost [127.0.0.1])\n\tby fraxinus.osuosl.org (Postfix) with ESMTP id 5A90088C36;\n\tThu, 29 Mar 2018 21:09:00 +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 fsBezex8yCq3; Thu, 29 Mar 2018 21:08:58 +0000 (UTC)", "from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby fraxinus.osuosl.org (Postfix) with ESMTP id 73EA288C09;\n\tThu, 29 Mar 2018 21:08:58 +0000 (UTC)", "from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137])\n\tby ash.osuosl.org (Postfix) with ESMTP id 72DC91C0BD3\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tThu, 29 Mar 2018 21:08:55 +0000 (UTC)", "from localhost (localhost [127.0.0.1])\n\tby fraxinus.osuosl.org (Postfix) with ESMTP id 703B088AFD\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tThu, 29 Mar 2018 21:08:55 +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 KAxNRjJbsOv9 for <intel-wired-lan@lists.osuosl.org>;\n\tThu, 29 Mar 2018 21:08:55 +0000 (UTC)", "from mga09.intel.com (mga09.intel.com [134.134.136.24])\n\tby fraxinus.osuosl.org (Postfix) with ESMTPS id E86D88868A\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tThu, 29 Mar 2018 21:08:54 +0000 (UTC)", "from fmsmga005.fm.intel.com ([10.253.24.32])\n\tby orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t29 Mar 2018 14:08:54 -0700", "from ellie.jf.intel.com (HELO localhost.localdomain)\n\t([10.54.70.23])\n\tby fmsmga005.fm.intel.com with ESMTP; 29 Mar 2018 14:08:54 -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,378,1517904000\"; d=\"scan'208\";a=\"216093136\"", "From": "Vinicius Costa Gomes <vinicius.gomes@intel.com>", "To": "intel-wired-lan@lists.osuosl.org", "Date": "Thu, 29 Mar 2018 14:07:49 -0700", "Message-Id": "<20180329210751.11531-9-vinicius.gomes@intel.com>", "X-Mailer": "git-send-email 2.16.3", "In-Reply-To": "<20180329210751.11531-1-vinicius.gomes@intel.com>", "References": "<20180329210751.11531-1-vinicius.gomes@intel.com>", "Subject": "[Intel-wired-lan] [next-queue PATCH v6 08/10] 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 31b2960a7869..491946e09f8e 100644\n--- a/drivers/net/ethernet/intel/igb/igb_ethtool.c\n+++ b/drivers/net/ethernet/intel/igb/igb_ethtool.c\n@@ -2495,6 +2495,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@@ -2933,10 +2950,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@@ -2946,6 +2959,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", "v6", "08/10" ] }