get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 706306,
    "url": "http://patchwork.ozlabs.org/api/patches/706306/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/1481854712-29454-1-git-send-email-donald.c.skidmore@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": "<1481854712-29454-1-git-send-email-donald.c.skidmore@intel.com>",
    "list_archive_url": null,
    "date": "2016-12-16T02:18:31",
    "name": "[1/2] ixgbevf: Add support for VF promiscuous mode",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": false,
    "hash": "08102ebba3447ebb2184f60324e5c6670ce6179e",
    "submitter": {
        "id": 4487,
        "url": "http://patchwork.ozlabs.org/api/people/4487/?format=api",
        "name": "Skidmore, Donald C",
        "email": "donald.c.skidmore@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/1481854712-29454-1-git-send-email-donald.c.skidmore@intel.com/mbox/",
    "series": [],
    "comments": "http://patchwork.ozlabs.org/api/patches/706306/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/706306/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<intel-wired-lan-bounces@lists.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"
        ],
        "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 3tfsvp09bbz9snm\n\tfor <incoming@patchwork.ozlabs.org>;\n\tFri, 16 Dec 2016 12:21:08 +1100 (AEDT)",
            "from localhost (localhost [127.0.0.1])\n\tby whitealder.osuosl.org (Postfix) with ESMTP id 3888F831ED;\n\tFri, 16 Dec 2016 01:21:07 +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 FQSz72Zx4vtP; Fri, 16 Dec 2016 01:21:05 +0000 (UTC)",
            "from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby whitealder.osuosl.org (Postfix) with ESMTP id 279C38313E;\n\tFri, 16 Dec 2016 01:21:05 +0000 (UTC)",
            "from fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137])\n\tby ash.osuosl.org (Postfix) with ESMTP id 5C70B1C0621\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tFri, 16 Dec 2016 01:21:03 +0000 (UTC)",
            "from localhost (localhost [127.0.0.1])\n\tby fraxinus.osuosl.org (Postfix) with ESMTP id 545C1852CB\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tFri, 16 Dec 2016 01:21:03 +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 Axi58s8I2C_q for <intel-wired-lan@lists.osuosl.org>;\n\tFri, 16 Dec 2016 01:21:02 +0000 (UTC)",
            "from mga03.intel.com (mga03.intel.com [134.134.136.65])\n\tby fraxinus.osuosl.org (Postfix) with ESMTPS id E106E852BE\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tFri, 16 Dec 2016 01:21:01 +0000 (UTC)",
            "from orsmga001.jf.intel.com ([10.7.209.18])\n\tby orsmga103.jf.intel.com with ESMTP; 15 Dec 2016 17:21:01 -0800",
            "from dcskidmo-m40.jf.intel.com ([134.134.3.124])\n\tby orsmga001.jf.intel.com with ESMTP; 15 Dec 2016 17:21:01 -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-ExtLoop1": "1",
        "X-IronPort-AV": "E=Sophos; i=\"5.33,355,1477983600\"; d=\"scan'208\";\n\ta=\"1072616206\"",
        "From": "Donald C Skidmore <donald.c.skidmore@intel.com>",
        "To": "intel-wired-lan@lists.osuosl.org",
        "Date": "Thu, 15 Dec 2016 21:18:31 -0500",
        "Message-Id": "<1481854712-29454-1-git-send-email-donald.c.skidmore@intel.com>",
        "X-Mailer": "git-send-email 2.4.3",
        "Subject": "[Intel-wired-lan] [PATCH 1/2] ixgbevf: Add support for VF\n\tpromiscuous mode",
        "X-BeenThere": "intel-wired-lan@lists.osuosl.org",
        "X-Mailman-Version": "2.1.18-1",
        "Precedence": "list",
        "List-Id": "Intel Wired Ethernet Linux Kernel Driver Development\n\t<intel-wired-lan.lists.osuosl.org>",
        "List-Unsubscribe": "<http://lists.osuosl.org/mailman/options/intel-wired-lan>, \n\t<mailto:intel-wired-lan-request@lists.osuosl.org?subject=unsubscribe>",
        "List-Archive": "<http://lists.osuosl.org/pipermail/intel-wired-lan/>",
        "List-Post": "<mailto:intel-wired-lan@lists.osuosl.org>",
        "List-Help": "<mailto:intel-wired-lan-request@lists.osuosl.org?subject=help>",
        "List-Subscribe": "<http://lists.osuosl.org/mailman/listinfo/intel-wired-lan>, \n\t<mailto:intel-wired-lan-request@lists.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@lists.osuosl.org",
        "Sender": "\"Intel-wired-lan\" <intel-wired-lan-bounces@lists.osuosl.org>"
    },
    "content": "This patch extends the mailbox message to allow for VF promiscous\nmode support.\n\nSigned-off-by: Don Skidmore <donald.c.skidmore@intel.com>\n---\n drivers/net/ethernet/intel/ixgbevf/ixgbevf.h      |  1 +\n drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 15 +++++++++++++-\n drivers/net/ethernet/intel/ixgbevf/mbx.h          |  1 +\n drivers/net/ethernet/intel/ixgbevf/vf.c           | 24 +++++++++++++++++++----\n 4 files changed, 36 insertions(+), 5 deletions(-)",
    "diff": "diff --git a/drivers/net/ethernet/intel/ixgbevf/ixgbevf.h b/drivers/net/ethernet/intel/ixgbevf/ixgbevf.h\nindex 5639fbe..3fe6504 100644\n--- a/drivers/net/ethernet/intel/ixgbevf/ixgbevf.h\n+++ b/drivers/net/ethernet/intel/ixgbevf/ixgbevf.h\n@@ -464,6 +464,7 @@ enum ixgbevf_xcast_modes {\n \tIXGBEVF_XCAST_MODE_NONE = 0,\n \tIXGBEVF_XCAST_MODE_MULTI,\n \tIXGBEVF_XCAST_MODE_ALLMULTI,\n+\tIXGBEVF_XCAST_MODE_PROMISC,\n };\n \n extern const struct ixgbevf_info ixgbevf_82599_vf_info;\ndiff --git a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c\nindex 897f1b4..4027225 100644\n--- a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c\n+++ b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c\n@@ -1931,6 +1931,16 @@ static void ixgbevf_set_rx_mode(struct net_device *netdev)\n \t\t     (flags & (IFF_BROADCAST | IFF_MULTICAST)) ?\n \t\t     IXGBEVF_XCAST_MODE_MULTI : IXGBEVF_XCAST_MODE_NONE;\n \n+\t/* request the most inclusive mode we need */\n+\tif (flags & IFF_PROMISC)\n+\t\txcast_mode = IXGBEVF_XCAST_MODE_PROMISC;\n+\telse if (flags & IFF_ALLMULTI)\n+\t\txcast_mode = IXGBEVF_XCAST_MODE_ALLMULTI;\n+\telse if (flags & (IFF_BROADCAST | IFF_MULTICAST))\n+\t\txcast_mode = IXGBEVF_XCAST_MODE_MULTI;\n+\telse\n+\t\txcast_mode = IXGBEVF_XCAST_MODE_NONE;\n+\n \tspin_lock_bh(&adapter->mbx_lock);\n \n \thw->mac.ops.update_xcast_mode(hw, xcast_mode);\n@@ -2072,7 +2082,8 @@ static void ixgbevf_init_last_counter_stats(struct ixgbevf_adapter *adapter)\n static void ixgbevf_negotiate_api(struct ixgbevf_adapter *adapter)\n {\n \tstruct ixgbe_hw *hw = &adapter->hw;\n-\tint api[] = { ixgbe_mbox_api_12,\n+\tint api[] = { ixgbe_mbox_api_13,\n+\t\t      ixgbe_mbox_api_12,\n \t\t      ixgbe_mbox_api_11,\n \t\t      ixgbe_mbox_api_10,\n \t\t      ixgbe_mbox_api_unknown };\n@@ -2374,6 +2385,7 @@ static void ixgbevf_set_num_queues(struct ixgbevf_adapter *adapter)\n \t\tswitch (hw->api_version) {\n \t\tcase ixgbe_mbox_api_11:\n \t\tcase ixgbe_mbox_api_12:\n+\t\tcase ixgbe_mbox_api_13:\n \t\t\tadapter->num_rx_queues = rss;\n \t\t\tadapter->num_tx_queues = rss;\n \t\tdefault:\n@@ -4125,6 +4137,7 @@ static int ixgbevf_probe(struct pci_dev *pdev, const struct pci_device_id *ent)\n \tswitch (adapter->hw.api_version) {\n \tcase ixgbe_mbox_api_11:\n \tcase ixgbe_mbox_api_12:\n+\tcase ixgbe_mbox_api_13:\n \t\tnetdev->max_mtu = IXGBE_MAX_JUMBO_FRAME_SIZE -\n \t\t\t\t  (ETH_HLEN + ETH_FCS_LEN);\n \t\tbreak;\ndiff --git a/drivers/net/ethernet/intel/ixgbevf/mbx.h b/drivers/net/ethernet/intel/ixgbevf/mbx.h\nindex 340cdd4..bc0442a 100644\n--- a/drivers/net/ethernet/intel/ixgbevf/mbx.h\n+++ b/drivers/net/ethernet/intel/ixgbevf/mbx.h\n@@ -84,6 +84,7 @@ enum ixgbe_pfvf_api_rev {\n \tixgbe_mbox_api_20,\t/* API version 2.0, solaris Phase1 VF driver */\n \tixgbe_mbox_api_11,\t/* API version 1.1, linux/freebsd VF driver */\n \tixgbe_mbox_api_12,\t/* API version 1.2, linux/freebsd VF driver */\n+\tixgbe_mbox_api_13,\t/* API version 1.3, linux/freebsd VF driver */\n \t/* This value should always be last */\n \tixgbe_mbox_api_unknown,\t/* indicates that API version is not known */\n };\ndiff --git a/drivers/net/ethernet/intel/ixgbevf/vf.c b/drivers/net/ethernet/intel/ixgbevf/vf.c\nindex d46ba1d..8a5db9d 100644\n--- a/drivers/net/ethernet/intel/ixgbevf/vf.c\n+++ b/drivers/net/ethernet/intel/ixgbevf/vf.c\n@@ -330,9 +330,14 @@ int ixgbevf_get_reta_locked(struct ixgbe_hw *hw, u32 *reta, int num_rx_queues)\n \t * Thus return an error if API doesn't support RETA querying or querying\n \t * is not supported for this device type.\n \t */\n-\tif (hw->api_version != ixgbe_mbox_api_12 ||\n-\t    hw->mac.type >= ixgbe_mac_X550_vf)\n+\tswitch (hw->api_version) {\n+\tcase ixgbe_mbox_api_13:\n+\tcase ixgbe_mbox_api_12:\n+\t\tif (hw->mac.type >= ixgbe_mac_X550_vf)\n+\t\t\tbreak;\n+\tdefault:\n \t\treturn -EOPNOTSUPP;\n+\t}\n \n \tmsgbuf[0] = IXGBE_VF_GET_RETA;\n \n@@ -391,9 +396,14 @@ int ixgbevf_get_rss_key_locked(struct ixgbe_hw *hw, u8 *rss_key)\n \t * Thus return an error if API doesn't support RSS Random Key retrieval\n \t * or if the operation is not supported for this device type.\n \t */\n-\tif (hw->api_version != ixgbe_mbox_api_12 ||\n-\t    hw->mac.type >= ixgbe_mac_X550_vf)\n+\tswitch (hw->api_version) {\n+\tcase ixgbe_mbox_api_13:\n+\tcase ixgbe_mbox_api_12:\n+\t\tif (hw->mac.type >= ixgbe_mac_X550_vf)\n+\t\t\tbreak;\n+\tdefault:\n \t\treturn -EOPNOTSUPP;\n+\t}\n \n \tmsgbuf[0] = IXGBE_VF_GET_RSS_KEY;\n \terr = hw->mbx.ops.write_posted(hw, msgbuf, 1);\n@@ -545,6 +555,11 @@ static s32 ixgbevf_update_xcast_mode(struct ixgbe_hw *hw, int xcast_mode)\n \n \tswitch (hw->api_version) {\n \tcase ixgbe_mbox_api_12:\n+\t\t/* promisc introduced in 1.3 version */\n+\t\tif (xcast_mode == IXGBEVF_XCAST_MODE_PROMISC)\n+\t\t\treturn -EOPNOTSUPP;\n+\t\t/* Fall threw */\n+\tcase ixgbe_mbox_api_13:\n \t\tbreak;\n \tdefault:\n \t\treturn -EOPNOTSUPP;\n@@ -884,6 +899,7 @@ int ixgbevf_get_queues(struct ixgbe_hw *hw, unsigned int *num_tcs,\n \tswitch (hw->api_version) {\n \tcase ixgbe_mbox_api_11:\n \tcase ixgbe_mbox_api_12:\n+\tcase ixgbe_mbox_api_13:\n \t\tbreak;\n \tdefault:\n \t\treturn 0;\n",
    "prefixes": [
        "1/2"
    ]
}