get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 604971,
    "url": "http://patchwork.ozlabs.org/api/patches/604971/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/1459508173-22777-11-git-send-email-harshitha.ramamurthy@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": "<1459508173-22777-11-git-send-email-harshitha.ramamurthy@intel.com>",
    "list_archive_url": null,
    "date": "2016-04-01T10:56:10",
    "name": "[v3,next,S32,10/13] i40e: Add RSS configuration to virtual channel",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": false,
    "hash": "7ba768e11e93d6dfadbabd65a12f593cd36e9375",
    "submitter": {
        "id": 68642,
        "url": "http://patchwork.ozlabs.org/api/people/68642/?format=api",
        "name": "Harshitha Ramamurthy",
        "email": "harshitha.ramamurthy@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/1459508173-22777-11-git-send-email-harshitha.ramamurthy@intel.com/mbox/",
    "series": [],
    "comments": "http://patchwork.ozlabs.org/api/patches/604971/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/604971/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 silver.osuosl.org (smtp3.osuosl.org [140.211.166.136])\n\tby ozlabs.org (Postfix) with ESMTP id 3qc9jF1BMCz9sf6\n\tfor <incoming@patchwork.ozlabs.org>;\n\tSat,  2 Apr 2016 06:01:53 +1100 (AEDT)",
            "from localhost (localhost [127.0.0.1])\n\tby silver.osuosl.org (Postfix) with ESMTP id 66DFC33A67;\n\tFri,  1 Apr 2016 19:01:52 +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 iGBHNyKR-T-f; Fri,  1 Apr 2016 19:01:49 +0000 (UTC)",
            "from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby silver.osuosl.org (Postfix) with ESMTP id 1096F33A6F;\n\tFri,  1 Apr 2016 19:01:49 +0000 (UTC)",
            "from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138])\n\tby ash.osuosl.org (Postfix) with ESMTP id 5F8B61BF9E4\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tFri,  1 Apr 2016 19:01:45 +0000 (UTC)",
            "from localhost (localhost [127.0.0.1])\n\tby whitealder.osuosl.org (Postfix) with ESMTP id 5BF7891F0C\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tFri,  1 Apr 2016 19:01:45 +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 oeDeMccV82dF for <intel-wired-lan@lists.osuosl.org>;\n\tFri,  1 Apr 2016 19:01:44 +0000 (UTC)",
            "from mga09.intel.com (mga09.intel.com [134.134.136.24])\n\tby whitealder.osuosl.org (Postfix) with ESMTP id EF24A91F1C\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tFri,  1 Apr 2016 19:01:43 +0000 (UTC)",
            "from fmsmga001.fm.intel.com ([10.253.24.23])\n\tby orsmga102.jf.intel.com with ESMTP; 01 Apr 2016 12:01:43 -0700",
            "from harshitha-linux1.jf.intel.com ([10.166.45.81])\n\tby fmsmga001.fm.intel.com with ESMTP; 01 Apr 2016 12:01:43 -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-ExtLoop1": "1",
        "X-IronPort-AV": "E=Sophos;i=\"5.24,428,1455004800\"; d=\"scan'208\";a=\"936473002\"",
        "From": "Harshitha Ramamurthy <harshitha.ramamurthy@intel.com>",
        "To": "intel-wired-lan@lists.osuosl.org",
        "Date": "Fri,  1 Apr 2016 03:56:10 -0700",
        "Message-Id": "<1459508173-22777-11-git-send-email-harshitha.ramamurthy@intel.com>",
        "X-Mailer": "git-send-email 2.4.3",
        "In-Reply-To": "<1459508173-22777-1-git-send-email-harshitha.ramamurthy@intel.com>",
        "References": "<1459508173-22777-1-git-send-email-harshitha.ramamurthy@intel.com>",
        "Subject": "[Intel-wired-lan] [v3 next PATCH S32 10/13] i40e: Add RSS\n\tconfiguration to virtual channel",
        "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": "From: Mitch Williams <mitch.a.williams@intel.com>\n\nAdd opcodes and structures to support RSS configuration by PF driver on\nbehalf of the VF drivers. This reduces complexity in the VF driver and\nallows us to support future hardware designs without modifying the VF\ndriver.\n\nSigned-off-by: Mitch Williams <mitch.a.williams@intel.com>\nChange-ID: I8c75765c630eacb71f95967f1109a198542593ac\n---\nTesting Hints : Compile code and make sure\nthere are no warnings. There's no actual code here.\n\n drivers/net/ethernet/intel/i40e/i40e_virtchnl.h   | 45 +++++++++++++++++++++--\n drivers/net/ethernet/intel/i40evf/i40e_virtchnl.h | 45 +++++++++++++++++++++--\n 2 files changed, 84 insertions(+), 6 deletions(-)",
    "diff": "diff --git a/drivers/net/ethernet/intel/i40e/i40e_virtchnl.h b/drivers/net/ethernet/intel/i40e/i40e_virtchnl.h\nindex ab866cf..ac4559e 100644\n--- a/drivers/net/ethernet/intel/i40e/i40e_virtchnl.h\n+++ b/drivers/net/ethernet/intel/i40e/i40e_virtchnl.h\n@@ -80,10 +80,15 @@ enum i40e_virtchnl_ops {\n \tI40E_VIRTCHNL_OP_CONFIG_PROMISCUOUS_MODE = 14,\n \tI40E_VIRTCHNL_OP_GET_STATS = 15,\n \tI40E_VIRTCHNL_OP_FCOE = 16,\n-\tI40E_VIRTCHNL_OP_EVENT = 17,\n+\tI40E_VIRTCHNL_OP_EVENT = 17, /* must ALWAYS be 17 */\n \tI40E_VIRTCHNL_OP_IWARP = 20,\n \tI40E_VIRTCHNL_OP_CONFIG_IWARP_IRQ_MAP = 21,\n \tI40E_VIRTCHNL_OP_RELEASE_IWARP_IRQ_MAP = 22,\n+\tI40E_VIRTCHNL_OP_CONFIG_RSS_KEY = 23,\n+\tI40E_VIRTCHNL_OP_CONFIG_RSS_LUT = 24,\n+\tI40E_VIRTCHNL_OP_GET_RSS_HENA_CAPS = 25,\n+\tI40E_VIRTCHNL_OP_SET_RSS_HENA = 26,\n+\n };\n \n /* Virtual channel message descriptor. This overlays the admin queue\n@@ -157,6 +162,7 @@ struct i40e_virtchnl_vsi_resource {\n #define I40E_VIRTCHNL_VF_OFFLOAD_VLAN\t\t0x00010000\n #define I40E_VIRTCHNL_VF_OFFLOAD_RX_POLLING\t0x00020000\n #define I40E_VIRTCHNL_VF_OFFLOAD_RSS_PCTYPE_V2\t0x00040000\n+#define I40E_VIRTCHNL_VF_OFFLOAD_RSS_PF\t\t0X00080000\n \n struct i40e_virtchnl_vf_resource {\n \tu16 num_vsis;\n@@ -165,8 +171,8 @@ struct i40e_virtchnl_vf_resource {\n \tu16 max_mtu;\n \n \tu32 vf_offload_flags;\n-\tu32 max_fcoe_contexts;\n-\tu32 max_fcoe_filters;\n+\tu32 rss_key_size;\n+\tu32 rss_lut_size;\n \n \tstruct i40e_virtchnl_vsi_resource vsi_res[1];\n };\n@@ -325,6 +331,39 @@ struct i40e_virtchnl_promisc_info {\n  * PF replies with struct i40e_eth_stats in an external buffer.\n  */\n \n+/* I40E_VIRTCHNL_OP_CONFIG_RSS_KEY\n+ * I40E_VIRTCHNL_OP_CONFIG_RSS_LUT\n+ * VF sends these messages to configure RSS. Only supported if both PF\n+ * and VF drivers set the I40E_VIRTCHNL_VF_OFFLOAD_RSS_PF bit during\n+ * configuration negotiation. If this is the case, then the rss fields in\n+ * the vf resource struct are valid.\n+ * Both the key and LUT are initialized to 0 by the PF, meaning that\n+ * RSS is effectively disabled until set up by the VF.\n+ */\n+struct i40e_virtchnl_rss_key {\n+\tu16 vsi_id;\n+\tu16 key_len;\n+\tu8 key[1];         /* RSS hash key, packed bytes */\n+};\n+\n+struct i40e_virtchnl_rss_lut {\n+\tu16 vsi_id;\n+\tu16 lut_entries;\n+\tu8 lut[1];        /* RSS lookup table*/\n+};\n+\n+/* I40E_VIRTCHNL_OP_GET_RSS_HENA_CAPS\n+ * I40E_VIRTCHNL_OP_SET_RSS_HENA\n+ * VF sends these messages to get and set the hash filter enable bits for RSS.\n+ * By default, the PF sets these to all possible traffic types that the\n+ * hardware supports. The VF can query this value if it wants to change the\n+ * traffic types that are hashed by the hardware.\n+ * Traffic types are defined in the i40e_filter_pctype enum in i40e_type.h\n+ */\n+struct i40e_virtchnl_rss_hena {\n+\tu64 hena;\n+};\n+\n /* I40E_VIRTCHNL_OP_EVENT\n  * PF sends this message to inform the VF driver of events that may affect it.\n  * No direct response is expected from the VF, though it may generate other\ndiff --git a/drivers/net/ethernet/intel/i40evf/i40e_virtchnl.h b/drivers/net/ethernet/intel/i40evf/i40e_virtchnl.h\nindex 3b9d203..ce0b3f7 100644\n--- a/drivers/net/ethernet/intel/i40evf/i40e_virtchnl.h\n+++ b/drivers/net/ethernet/intel/i40evf/i40e_virtchnl.h\n@@ -80,7 +80,12 @@ enum i40e_virtchnl_ops {\n \tI40E_VIRTCHNL_OP_CONFIG_PROMISCUOUS_MODE = 14,\n \tI40E_VIRTCHNL_OP_GET_STATS = 15,\n \tI40E_VIRTCHNL_OP_FCOE = 16,\n-\tI40E_VIRTCHNL_OP_EVENT = 17,\n+\tI40E_VIRTCHNL_OP_EVENT = 17, /* must ALWAYS be 17 */\n+\tI40E_VIRTCHNL_OP_CONFIG_RSS_KEY = 23,\n+\tI40E_VIRTCHNL_OP_CONFIG_RSS_LUT = 24,\n+\tI40E_VIRTCHNL_OP_GET_RSS_HENA_CAPS = 25,\n+\tI40E_VIRTCHNL_OP_SET_RSS_HENA = 26,\n+\n };\n \n /* Virtual channel message descriptor. This overlays the admin queue\n@@ -154,6 +159,7 @@ struct i40e_virtchnl_vsi_resource {\n #define I40E_VIRTCHNL_VF_OFFLOAD_VLAN\t\t0x00010000\n #define I40E_VIRTCHNL_VF_OFFLOAD_RX_POLLING\t0x00020000\n #define I40E_VIRTCHNL_VF_OFFLOAD_RSS_PCTYPE_V2\t0x00040000\n+#define I40E_VIRTCHNL_VF_OFFLOAD_RSS_PF\t\t0X00080000\n \n struct i40e_virtchnl_vf_resource {\n \tu16 num_vsis;\n@@ -162,8 +168,8 @@ struct i40e_virtchnl_vf_resource {\n \tu16 max_mtu;\n \n \tu32 vf_offload_flags;\n-\tu32 max_fcoe_contexts;\n-\tu32 max_fcoe_filters;\n+\tu32 rss_key_size;\n+\tu32 rss_lut_size;\n \n \tstruct i40e_virtchnl_vsi_resource vsi_res[1];\n };\n@@ -322,6 +328,39 @@ struct i40e_virtchnl_promisc_info {\n  * PF replies with struct i40e_eth_stats in an external buffer.\n  */\n \n+/* I40E_VIRTCHNL_OP_CONFIG_RSS_KEY\n+ * I40E_VIRTCHNL_OP_CONFIG_RSS_LUT\n+ * VF sends these messages to configure RSS. Only supported if both PF\n+ * and VF drivers set the I40E_VIRTCHNL_VF_OFFLOAD_RSS_PF bit during\n+ * configuration negotiation. If this is the case, then the rss fields in\n+ * the vf resource struct are valid.\n+ * Both the key and LUT are initialized to 0 by the PF, meaning that\n+ * RSS is effectively disabled until set up by the VF.\n+ */\n+struct i40e_virtchnl_rss_key {\n+\tu16 vsi_id;\n+\tu16 key_len;\n+\tu8 key[1];         /* RSS hash key, packed bytes */\n+};\n+\n+struct i40e_virtchnl_rss_lut {\n+\tu16 vsi_id;\n+\tu16 lut_entries;\n+\tu8 lut[1];        /* RSS lookup table*/\n+};\n+\n+/* I40E_VIRTCHNL_OP_GET_RSS_HENA_CAPS\n+ * I40E_VIRTCHNL_OP_SET_RSS_HENA\n+ * VF sends these messages to get and set the hash filter enable bits for RSS.\n+ * By default, the PF sets these to all possible traffic types that the\n+ * hardware supports. The VF can query this value if it wants to change the\n+ * traffic types that are hashed by the hardware.\n+ * Traffic types are defined in the i40e_filter_pctype enum in i40e_type.h\n+ */\n+struct i40e_virtchnl_rss_hena {\n+\tu64 hena;\n+};\n+\n /* I40E_VIRTCHNL_OP_EVENT\n  * PF sends this message to inform the VF driver of events that may affect it.\n  * No direct response is expected from the VF, though it may generate other\n",
    "prefixes": [
        "v3",
        "next",
        "S32",
        "10/13"
    ]
}