get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 869557,
    "url": "http://patchwork.ozlabs.org/api/patches/869557/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/20180205210337.22102-5-jeffrey.t.kirsher@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": "<20180205210337.22102-5-jeffrey.t.kirsher@intel.com>",
    "list_archive_url": null,
    "date": "2018-02-05T21:03:34",
    "name": "[S86,v3,5/8] i40e: do not force filter failure in overflow promiscuous",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": false,
    "hash": "338c164c1de4ca63e82ac34f9c441380b099b952",
    "submitter": {
        "id": 473,
        "url": "http://patchwork.ozlabs.org/api/people/473/?format=api",
        "name": "Kirsher, Jeffrey T",
        "email": "jeffrey.t.kirsher@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/20180205210337.22102-5-jeffrey.t.kirsher@intel.com/mbox/",
    "series": [
        {
            "id": 27070,
            "url": "http://patchwork.ozlabs.org/api/series/27070/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/list/?series=27070",
            "date": "2018-02-05T21:03:31",
            "name": "[S86,v3,1/8] i40e: don't leak memory addresses",
            "version": 3,
            "mbox": "http://patchwork.ozlabs.org/series/27070/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/869557/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/869557/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>)",
        "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 3zb0SF2kYVz9t20\n\tfor <incoming@patchwork.ozlabs.org>;\n\tTue,  6 Feb 2018 08:03:41 +1100 (AEDT)",
            "from localhost (localhost [127.0.0.1])\n\tby silver.osuosl.org (Postfix) with ESMTP id E5A0C2FD9C;\n\tMon,  5 Feb 2018 21:03:39 +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 ftBooDaCuQVJ; Mon,  5 Feb 2018 21:03:37 +0000 (UTC)",
            "from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby silver.osuosl.org (Postfix) with ESMTP id E133E2FD8C;\n\tMon,  5 Feb 2018 21:03:37 +0000 (UTC)",
            "from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138])\n\tby ash.osuosl.org (Postfix) with ESMTP id 1ECFF1C0A7F\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tMon,  5 Feb 2018 21:03:35 +0000 (UTC)",
            "from localhost (localhost [127.0.0.1])\n\tby whitealder.osuosl.org (Postfix) with ESMTP id 1A71A88139\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tMon,  5 Feb 2018 21:03:35 +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 a3AxtoKNI1tQ for <intel-wired-lan@lists.osuosl.org>;\n\tMon,  5 Feb 2018 21:03:34 +0000 (UTC)",
            "from mga14.intel.com (mga14.intel.com [192.55.52.115])\n\tby whitealder.osuosl.org (Postfix) with ESMTPS id 78D958812C\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tMon,  5 Feb 2018 21:03:34 +0000 (UTC)",
            "from fmsmga008.fm.intel.com ([10.253.24.58])\n\tby fmsmga103.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t05 Feb 2018 13:03:34 -0800",
            "from jtkirshe-nuc.jf.intel.com ([134.134.177.59])\n\tby fmsmga008.fm.intel.com with ESMTP; 05 Feb 2018 13:03:33 -0800"
        ],
        "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.46,466,1511856000\"; d=\"scan'208\";a=\"15608857\"",
        "From": "Jeff Kirsher <jeffrey.t.kirsher@intel.com>",
        "To": "intel-wired-lan@lists.osuosl.org",
        "Date": "Mon,  5 Feb 2018 13:03:34 -0800",
        "Message-Id": "<20180205210337.22102-5-jeffrey.t.kirsher@intel.com>",
        "X-Mailer": "git-send-email 2.14.3",
        "In-Reply-To": "<20180205210337.22102-1-jeffrey.t.kirsher@intel.com>",
        "References": "<20180205210337.22102-1-jeffrey.t.kirsher@intel.com>",
        "Subject": "[Intel-wired-lan] [S86 v3 5/8] i40e: do not force filter failure in\n\toverflow promiscuous",
        "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>",
        "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": "From: Alan Brady <alan.brady@intel.com>\n\nBroadcast filters can now cause overflow promiscuous to trigger when\nadding \"too many\" VLANs to all the ports of a device and the driver\nneeds a way to exit overflow promiscuous once triggered.\n\nCurrently the driver looks to see if there are \"too many\" filters and/or\nwe have any failed filters to determine when it is safe to exit overflow\npromiscuous.  If we trigger overflow promiscuous with broadcast filters,\nany new filters added will be \"auto-failed\" until we exit overflow\npromiscuous.  Since the user can't manually remove the failed broadcast\nfilters for VLANs (nor should we expect the user to do such), there is\nno way to exit overflow promiscuous without reloading the driver.\n\nThe easiest way to do this is to remove the shortcut to \"auto-fail\"\nfilters in overflow promscuous.  If the user removes the VLANs, the\nfailed filters will be removed and since we're no longer \"auto-failing\"\nnew filters, we'll eventually get a good set of filters and exit\noverflow promiscuous.\n\nThis has the side benefit of making filter state more explicit in that\nif a filter says it's failed we know for a fact it failed and not just\nassuming it will if we're in overflow promiscuous.  This is nice because\nif the user removes some filters and then adds some, even if we're in\noverflow promiscuous, the filter might succeed; we were just assuming it\nwon't because the user hasn't rectified other existing failed filters.\n\nSigned-off-by: Alan Brady <alan.brady@intel.com>\n---\n drivers/net/ethernet/intel/i40e/i40e_main.c | 15 +--------------\n 1 file changed, 1 insertion(+), 14 deletions(-)",
    "diff": "diff --git a/drivers/net/ethernet/intel/i40e/i40e_main.c b/drivers/net/ethernet/intel/i40e/i40e_main.c\nindex dc5ef4d5eceb..bbbadcc1400f 100644\n--- a/drivers/net/ethernet/intel/i40e/i40e_main.c\n+++ b/drivers/net/ethernet/intel/i40e/i40e_main.c\n@@ -1374,14 +1374,7 @@ struct i40e_mac_filter *i40e_add_filter(struct i40e_vsi *vsi,\n \n \t\tether_addr_copy(f->macaddr, macaddr);\n \t\tf->vlan = vlan;\n-\t\t/* If we're in overflow promisc mode, set the state directly\n-\t\t * to failed, so we don't bother to try sending the filter\n-\t\t * to the hardware.\n-\t\t */\n-\t\tif (test_bit(__I40E_VSI_OVERFLOW_PROMISC, vsi->state))\n-\t\t\tf->state = I40E_FILTER_FAILED;\n-\t\telse\n-\t\t\tf->state = I40E_FILTER_NEW;\n+\t\tf->state = I40E_FILTER_NEW;\n \t\tINIT_HLIST_NODE(&f->hlist);\n \n \t\tkey = i40e_addr_to_hkey(macaddr);\n@@ -2419,12 +2412,6 @@ int i40e_sync_vsi_filters(struct i40e_vsi *vsi)\n \n \t\tnum_add = 0;\n \t\thlist_for_each_entry_safe(new, h, &tmp_add_list, hlist) {\n-\t\t\tif (test_bit(__I40E_VSI_OVERFLOW_PROMISC,\n-\t\t\t\t     vsi->state)) {\n-\t\t\t\tnew->state = I40E_FILTER_FAILED;\n-\t\t\t\tcontinue;\n-\t\t\t}\n-\n \t\t\t/* handle broadcast filters by updating the broadcast\n \t\t\t * promiscuous flag instead of adding a MAC filter.\n \t\t\t */\n",
    "prefixes": [
        "S86",
        "v3",
        "5/8"
    ]
}