get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 602590,
    "url": "http://patchwork.ozlabs.org/api/patches/602590/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/intel-wired-lan/patch/1459163845-28035-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": "<1459163845-28035-11-git-send-email-harshitha.ramamurthy@intel.com>",
    "list_archive_url": null,
    "date": "2016-03-28T11:17:21",
    "name": "[next,S32,10/14] i40e: Add RSS configuration to virtual channel",
    "commit_ref": null,
    "pull_url": null,
    "state": "changes-requested",
    "archived": false,
    "hash": "d04e7c82b2c8fd083c48b84153ee8b4e65b704d1",
    "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/1459163845-28035-11-git-send-email-harshitha.ramamurthy@intel.com/mbox/",
    "series": [],
    "comments": "http://patchwork.ozlabs.org/api/patches/602590/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/602590/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 fraxinus.osuosl.org (smtp4.osuosl.org [140.211.166.137])\n\tby ozlabs.org (Postfix) with ESMTP id 3qYkMR6GFvz9sBf\n\tfor <incoming@patchwork.ozlabs.org>;\n\tTue, 29 Mar 2016 06:22:59 +1100 (AEDT)",
            "from localhost (localhost [127.0.0.1])\n\tby fraxinus.osuosl.org (Postfix) with ESMTP id BDC3F886EF;\n\tMon, 28 Mar 2016 19:22:58 +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 l5BVHlq91Tbj; Mon, 28 Mar 2016 19:22:56 +0000 (UTC)",
            "from ash.osuosl.org (ash.osuosl.org [140.211.166.34])\n\tby fraxinus.osuosl.org (Postfix) with ESMTP id 920468874D;\n\tMon, 28 Mar 2016 19:22:55 +0000 (UTC)",
            "from whitealder.osuosl.org (smtp1.osuosl.org [140.211.166.138])\n\tby ash.osuosl.org (Postfix) with ESMTP id CCF1C1BFC8C\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tMon, 28 Mar 2016 19:22:52 +0000 (UTC)",
            "from localhost (localhost [127.0.0.1])\n\tby whitealder.osuosl.org (Postfix) with ESMTP id CB17B8B587\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tMon, 28 Mar 2016 19:22:52 +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 jtB5ba79+h9t for <intel-wired-lan@lists.osuosl.org>;\n\tMon, 28 Mar 2016 19:22:51 +0000 (UTC)",
            "from mga01.intel.com (mga01.intel.com [192.55.52.88])\n\tby whitealder.osuosl.org (Postfix) with ESMTP id A98168B82F\n\tfor <intel-wired-lan@lists.osuosl.org>;\n\tMon, 28 Mar 2016 19:22:51 +0000 (UTC)",
            "from orsmga002.jf.intel.com ([10.7.209.21])\n\tby fmsmga101.fm.intel.com with ESMTP; 28 Mar 2016 12:22:51 -0700",
            "from harshitha-linux1.jf.intel.com ([10.166.45.81])\n\tby orsmga002.jf.intel.com with ESMTP; 28 Mar 2016 12:22:51 -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,408,1455004800\"; d=\"scan'208\";a=\"943132228\"",
        "From": "Harshitha Ramamurthy <harshitha.ramamurthy@intel.com>",
        "To": "intel-wired-lan@lists.osuosl.org",
        "Date": "Mon, 28 Mar 2016 04:17:21 -0700",
        "Message-Id": "<1459163845-28035-11-git-send-email-harshitha.ramamurthy@intel.com>",
        "X-Mailer": "git-send-email 2.4.3",
        "In-Reply-To": "<1459163845-28035-1-git-send-email-harshitha.ramamurthy@intel.com>",
        "References": "<1459163845-28035-1-git-send-email-harshitha.ramamurthy@intel.com>",
        "Subject": "[Intel-wired-lan] [next PATCH S32 10/14] 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 3226946b..7ce6832 100644\n--- a/drivers/net/ethernet/intel/i40e/i40e_virtchnl.h\n+++ b/drivers/net/ethernet/intel/i40e/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\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": [
        "next",
        "S32",
        "10/14"
    ]
}