Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/892981/?format=api
{ "id": 892981, "url": "http://patchwork.ozlabs.org/api/patches/892981/?format=api", "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/20180329210751.11531-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": "<20180329210751.11531-8-vinicius.gomes@intel.com>", "list_archive_url": null, "date": "2018-03-29T21:07:48", "name": "[next-queue,v6,07/10] igb: Enable nfc filters to specify MAC addresses", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": false, "hash": "98fa88c0d71d234adcc1c3cf70518f1e7631ad5d", "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-8-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/892981/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/892981/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=none (p=none dis=none) header.from=intel.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 40By6P0XFNz9s2b\n\tfor <incoming@patchwork.ozlabs.org>;\n\tFri, 30 Mar 2018 08:09:00 +1100 (AEDT)", "from localhost (localhost [127.0.0.1])\n\tby silver.osuosl.org (Postfix) with ESMTP id 385EE30736;\n\tThu, 29 Mar 2018 21:08:59 +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 IPU4IJg7YcV9; Thu, 29 Mar 2018 21:08:58 +0000 (UTC)", "from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby silver.osuosl.org (Postfix) with ESMTP id 366C6306DD;\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 51C251C0BD3\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 4EF0888BC9\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 fIr_vHi1Py6M for <intel-wired-lan@lists.osuosl.org>;\n\tThu, 29 Mar 2018 21:08:54 +0000 (UTC)", "from mga09.intel.com (mga09.intel.com [134.134.136.24])\n\tby fraxinus.osuosl.org (Postfix) with ESMTPS id A48F688AFD\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=\"216093132\"", "From": "Vinicius Costa Gomes <vinicius.gomes@intel.com>", "To": "intel-wired-lan@lists.osuosl.org", "Date": "Thu, 29 Mar 2018 14:07:48 -0700", "Message-Id": "<20180329210751.11531-8-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 07/10] igb: Enable nfc\n\tfilters to specify MAC addresses", "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 allows igb_add_filter()/igb_erase_filter() to work on filters\nthat include MAC addresses (both source and destination).\n\nFor now, this only exposes the functionality, the next commit glues\nethtool into this. Later in this series, these APIs are used to allow\noffloading of cls_flower filters.\n\nSigned-off-by: Vinicius Costa Gomes <vinicius.gomes@intel.com>\n---\n drivers/net/ethernet/intel/igb/igb.h | 4 ++++\n drivers/net/ethernet/intel/igb/igb_ethtool.c | 28 ++++++++++++++++++++++++++++\n 2 files changed, 32 insertions(+)", "diff": "diff --git a/drivers/net/ethernet/intel/igb/igb.h b/drivers/net/ethernet/intel/igb/igb.h\nindex f48ba090fd6a..b9b965921e9f 100644\n--- a/drivers/net/ethernet/intel/igb/igb.h\n+++ b/drivers/net/ethernet/intel/igb/igb.h\n@@ -442,6 +442,8 @@ struct hwmon_buff {\n enum igb_filter_match_flags {\n \tIGB_FILTER_FLAG_ETHER_TYPE = 0x1,\n \tIGB_FILTER_FLAG_VLAN_TCI = 0x2,\n+\tIGB_FILTER_FLAG_SRC_MAC_ADDR = 0x4,\n+\tIGB_FILTER_FLAG_DST_MAC_ADDR = 0x8,\n };\n \n #define IGB_MAX_RXNFC_FILTERS 16\n@@ -456,6 +458,8 @@ struct igb_nfc_input {\n \tu8 match_flags;\n \t__be16 etype;\n \t__be16 vlan_tci;\n+\tu8 src_addr[ETH_ALEN];\n+\tu8 dst_addr[ETH_ALEN];\n };\n \n struct igb_nfc_filter {\ndiff --git a/drivers/net/ethernet/intel/igb/igb_ethtool.c b/drivers/net/ethernet/intel/igb/igb_ethtool.c\nindex 5975d432836f..31b2960a7869 100644\n--- a/drivers/net/ethernet/intel/igb/igb_ethtool.c\n+++ b/drivers/net/ethernet/intel/igb/igb_ethtool.c\n@@ -2776,6 +2776,25 @@ int igb_add_filter(struct igb_adapter *adapter, struct igb_nfc_filter *input)\n \t\t\treturn err;\n \t}\n \n+\tif (input->filter.match_flags & IGB_FILTER_FLAG_DST_MAC_ADDR) {\n+\t\terr = igb_add_mac_steering_filter(adapter,\n+\t\t\t\t\t\t input->filter.dst_addr,\n+\t\t\t\t\t\t input->action, 0);\n+\t\terr = min_t(int, err, 0);\n+\t\tif (err)\n+\t\t\treturn err;\n+\t}\n+\n+\tif (input->filter.match_flags & IGB_FILTER_FLAG_SRC_MAC_ADDR) {\n+\t\terr = igb_add_mac_steering_filter(adapter,\n+\t\t\t\t\t\t input->filter.src_addr,\n+\t\t\t\t\t\t input->action,\n+\t\t\t\t\t\t IGB_MAC_STATE_SRC_ADDR);\n+\t\terr = min_t(int, err, 0);\n+\t\tif (err)\n+\t\t\treturn err;\n+\t}\n+\n \tif (input->filter.match_flags & IGB_FILTER_FLAG_VLAN_TCI)\n \t\terr = igb_rxnfc_write_vlan_prio_filter(adapter, input);\n \n@@ -2824,6 +2843,15 @@ int igb_erase_filter(struct igb_adapter *adapter, struct igb_nfc_filter *input)\n \t\tigb_clear_vlan_prio_filter(adapter,\n \t\t\t\t\t ntohs(input->filter.vlan_tci));\n \n+\tif (input->filter.match_flags & IGB_FILTER_FLAG_SRC_MAC_ADDR)\n+\t\tigb_del_mac_steering_filter(adapter, input->filter.src_addr,\n+\t\t\t\t\t input->action,\n+\t\t\t\t\t IGB_MAC_STATE_SRC_ADDR);\n+\n+\tif (input->filter.match_flags & IGB_FILTER_FLAG_DST_MAC_ADDR)\n+\t\tigb_del_mac_steering_filter(adapter, input->filter.dst_addr,\n+\t\t\t\t\t input->action, 0);\n+\n \treturn 0;\n }\n \n", "prefixes": [ "next-queue", "v6", "07/10" ] }