get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/889171/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 889171,
    "url": "http://patchwork.ozlabs.org/api/patches/889171/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/20180322003353.29970-7-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-7-vinicius.gomes@intel.com>",
    "list_archive_url": null,
    "date": "2018-03-22T00:33:50",
    "name": "[next-queue,v5,6/9] igb: Enable nfc filters to specify MAC addresses",
    "commit_ref": null,
    "pull_url": null,
    "state": "changes-requested",
    "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/20180322003353.29970-7-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/889171/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/889171/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 40673g6Xwwz9s3C\n\tfor <incoming@patchwork.ozlabs.org>;\n\tThu, 22 Mar 2018 11:34:55 +1100 (AEDT)",
            "from localhost (localhost [127.0.0.1])\n\tby fraxinus.osuosl.org (Postfix) with ESMTP id A228487BCB;\n\tThu, 22 Mar 2018 00:34:53 +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 FQ1ch0C-2yJI; Thu, 22 Mar 2018 00:34:53 +0000 (UTC)",
            "from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby fraxinus.osuosl.org (Postfix) with ESMTP id 1ADAF87BFC;\n\tThu, 22 Mar 2018 00:34:53 +0000 (UTC)",
            "from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137])\n\tby ash.osuosl.org (Postfix) with ESMTP id 535CA1C0AF7\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tThu, 22 Mar 2018 00:34:50 +0000 (UTC)",
            "from localhost (localhost [127.0.0.1])\n\tby fraxinus.osuosl.org (Postfix) with ESMTP id 50F7087C71\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tThu, 22 Mar 2018 00:34:50 +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 DsnTaWD1udwn for <intel-wired-lan@lists.osuosl.org>;\n\tThu, 22 Mar 2018 00:34:49 +0000 (UTC)",
            "from mga09.intel.com (mga09.intel.com [134.134.136.24])\n\tby fraxinus.osuosl.org (Postfix) with ESMTPS id C93B087BCB\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tThu, 22 Mar 2018 00:34:49 +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=\"27785571\"",
        "From": "Vinicius Costa Gomes <vinicius.gomes@intel.com>",
        "To": "intel-wired-lan@lists.osuosl.org",
        "Date": "Wed, 21 Mar 2018 17:33:50 -0700",
        "Message-Id": "<20180322003353.29970-7-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 6/9] igb: Enable nfc filters\n\tto 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 dfef1702ba21..66165879f12b 100644\n--- a/drivers/net/ethernet/intel/igb/igb.h\n+++ b/drivers/net/ethernet/intel/igb/igb.h\n@@ -441,6 +441,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@@ -455,6 +457,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 143f0bb34e4d..4c6a1b78c413 100644\n--- a/drivers/net/ethernet/intel/igb/igb_ethtool.c\n+++ b/drivers/net/ethernet/intel/igb/igb_ethtool.c\n@@ -2775,6 +2775,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@@ -2823,6 +2842,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",
        "v5",
        "6/9"
    ]
}