get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 10955,
    "url": "http://patches.dpdk.org/api/patches/10955/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/1456850801-3737-2-git-send-email-jan@semihalf.com/",
    "project": {
        "id": 1,
        "url": "http://patches.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<1456850801-3737-2-git-send-email-jan@semihalf.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1456850801-3737-2-git-send-email-jan@semihalf.com",
    "date": "2016-03-01T16:46:38",
    "name": "[dpdk-dev,v4,1/4] ena: Amazon ENA documentation",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "2a644a24129f0207c02013340328572e6e40da94",
    "submitter": {
        "id": 421,
        "url": "http://patches.dpdk.org/api/people/421/?format=api",
        "name": "Jan Medala",
        "email": "jan@semihalf.com"
    },
    "delegate": {
        "id": 10,
        "url": "http://patches.dpdk.org/api/users/10/?format=api",
        "username": "bruce",
        "first_name": "Bruce",
        "last_name": "Richardson",
        "email": "bruce.richardson@intel.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/1456850801-3737-2-git-send-email-jan@semihalf.com/mbox/",
    "series": [],
    "comments": "http://patches.dpdk.org/api/patches/10955/comments/",
    "check": "pending",
    "checks": "http://patches.dpdk.org/api/patches/10955/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@dpdk.org",
        "Delivered-To": "patchwork@dpdk.org",
        "Received": [
            "from [92.243.14.124] (localhost [IPv6:::1])\n\tby dpdk.org (Postfix) with ESMTP id 90EF8AA35;\n\tTue,  1 Mar 2016 17:46:39 +0100 (CET)",
            "from mail-lf0-f52.google.com (mail-lf0-f52.google.com\n\t[209.85.215.52]) by dpdk.org (Postfix) with ESMTP id A70849620\n\tfor <dev@dpdk.org>; Tue,  1 Mar 2016 17:46:38 +0100 (CET)",
            "by mail-lf0-f52.google.com with SMTP id v124so24249130lff.0\n\tfor <dev@dpdk.org>; Tue, 01 Mar 2016 08:46:38 -0800 (PST)",
            "from anpa-dpdk-2.lab.semihalf.com (cardhu.semihalf.com.\n\t[213.17.239.108]) by smtp.gmail.com with ESMTPSA id\n\tm8sm4994426lfe.32.2016.03.01.08.46.37\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128);\n\tTue, 01 Mar 2016 08:46:37 -0800 (PST)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=semihalf-com.20150623.gappssmtp.com; s=20150623;\n\th=from:to:cc:subject:date:message-id:in-reply-to:references;\n\tbh=SiJSzUBQ5e9wfwfxSEiY5xFKkmMq4lpwAGWxy/gGw+4=;\n\tb=hnWboZXYM5h/ovn4bASGGHVMbU690zjVlrxYKmmcGuJYZNbHMWYxS3+9H1QH1RNaOZ\n\t3fZgfHlFSyJ31/6wt1cs/pUSDJt6IZVF7tmxcSMzdidWTju4CpITjWz3ol5iQpcCXf9n\n\tazFnvO4fUAhjwbNQCbJYAZrTEuEUl2j2c8XDlO8ZD0YQISz3uQOrYVThOYEkfYOAqkrV\n\tOey4xg+1b7VUYOV/3IHcuvllgSzZHY8ai5E3IPGf01IdqquBgzEfYQKsw/BSlXpbt4EL\n\tolBWvFIjxA4l8CZ4ZbfCOjGcOf6yJtWlJJ2wleKNNmGRJkFzOU9FAXk2bseH/hv2+YlK\n\tikmw==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20130820;\n\th=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to\n\t:references;\n\tbh=SiJSzUBQ5e9wfwfxSEiY5xFKkmMq4lpwAGWxy/gGw+4=;\n\tb=jD26iIs1qxZ0OJiXXGJcGF71nk3liRW51vtQ5Uxg7ye9SO/5NiDOYX+PVu7WdUpiNk\n\tiPUN6c1TWDibSf8d2CkZIEdhB/d5qsSyGMfrd7L9HFudQYi5oxXuSWh6+icBJdI9glCO\n\t4BMRFTc3pxQK/obdjMN7kQg4OGWhXTbUE8oW1m2ONaNltDk8R0nMhczLhrSZEpObT7QQ\n\tPY0WSeLarNN6l9649QOC8C5Q+y0hOmpggMXV43RrFhiFJMPNfHcolMeQQzvsQIig02KT\n\t0Pt6sp8OpKKwQvL51uUo2xRG1L1jRiK0TP59pSteA/GRI40YcYIYaIaUF3M/ZGZNiY66\n\tWHfg==",
        "X-Gm-Message-State": "AD7BkJIGulhihLBs6nKbdkEoYooxu7QxV2bglKDi0dTPOAtRbNHn83+Xu6t+SOdMEHFcKw==",
        "X-Received": "by 10.25.163.199 with SMTP id m190mr8177871lfe.7.1456850798321; \n\tTue, 01 Mar 2016 08:46:38 -0800 (PST)",
        "From": "Jan Medala <jan@semihalf.com>",
        "To": "dev@dpdk.org",
        "Date": "Tue,  1 Mar 2016 17:46:38 +0100",
        "Message-Id": "<1456850801-3737-2-git-send-email-jan@semihalf.com>",
        "X-Mailer": "git-send-email 1.9.1",
        "In-Reply-To": "<1456850801-3737-1-git-send-email-jan@semihalf.com>",
        "References": "<1456850801-3737-1-git-send-email-jan@semihalf.com>",
        "Cc": "Evgeny Schemeilin <evgenys@amazon.com>, matua@amazon.com",
        "Subject": "[dpdk-dev] [PATCH v4 1/4] ena: Amazon ENA documentation",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "patches and discussions about DPDK <dev.dpdk.org>",
        "List-Unsubscribe": "<http://dpdk.org/ml/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://dpdk.org/ml/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<http://dpdk.org/ml/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "Signed-off-by: Evgeny Schemeilin <evgenys@amazon.com>\nSigned-off-by: Alexander Matushevsky <matua@amazon.com>\nSigned-off-by: Jan Medala <jan@semihalf.com>\nSigned-off-by: Jakub Palider <jpa@semihalf.com>\n---\n MAINTAINERS               |   8 ++\n doc/guides/nics/ena.rst   | 252 ++++++++++++++++++++++++++++++++++++++++++++++\n doc/guides/nics/index.rst |   1 +\n 3 files changed, 261 insertions(+)\n create mode 100644 doc/guides/nics/ena.rst",
    "diff": "diff --git a/MAINTAINERS b/MAINTAINERS\nindex 628bc05..d6a726d 100644\n--- a/MAINTAINERS\n+++ b/MAINTAINERS\n@@ -261,6 +261,14 @@ Linux AF_PACKET\n M: John W. Linville <linville@tuxdriver.com>\n F: drivers/net/af_packet/\n \n+Amazon ena\n+M: Jan Medala <jan@semihalf.com>\n+M: Jakub Palider <jpa@semihalf.com>\n+M: Netanel Belgazal <netanel@amazon.com>\n+M: Evgeny Schemeilin <evgenys@amazon.com>\n+F: drivers/net/ena/\n+F: doc/guides/nics/ena.rst\n+\n Chelsio cxgbe\n M: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>\n F: drivers/net/cxgbe/\ndiff --git a/doc/guides/nics/ena.rst b/doc/guides/nics/ena.rst\nnew file mode 100644\nindex 0000000..11bd922\n--- /dev/null\n+++ b/doc/guides/nics/ena.rst\n@@ -0,0 +1,252 @@\n+.. BSD LICENSE\n+\n+    Copyright (c) 2015-2016 Amazon.com, Inc. or its affiliates.\n+    All rights reserved.\n+\n+    Redistribution and use in source and binary forms, with or without\n+    modification, are permitted provided that the following conditions\n+    are met:\n+\n+    * Redistributions of source code must retain the above copyright\n+    notice, this list of conditions and the following disclaimer.\n+    * Redistributions in binary form must reproduce the above copyright\n+    notice, this list of conditions and the following disclaimer in\n+    the documentation and/or other materials provided with the\n+    distribution.\n+    * Neither the name of Amazon.com, Inc. nor the names of its\n+    contributors may be used to endorse or promote products derived\n+    from this software without specific prior written permission.\n+\n+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS\n+    \"AS IS\" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT\n+    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR\n+    A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT\n+    OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,\n+    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT\n+    LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\n+    DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY\n+    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n+    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE\n+    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\n+\n+ENA Poll Mode Driver\n+====================\n+\n+The ENA PMD is a DPDK poll-mode driver for the Amazon Elastic\n+Network Adapter (ENA) family.\n+\n+Overview\n+--------\n+\n+The ENA driver exposes a lightweight management interface with a\n+minimal set of memory mapped registers and an extendable command set\n+through an Admin Queue.\n+\n+The driver supports a wide range of ENA adapters, is link-speed\n+independent (i.e., the same driver is used for 10GbE, 25GbE, 40GbE,\n+etc.), and it negotiates and supports an extendable feature set.\n+\n+ENA adapters allow high speed and low overhead Ethernet traffic\n+processing by providing a dedicated Tx/Rx queue pair per CPU core.\n+\n+The ENA driver supports industry standard TCP/IP offload features such\n+as checksum offload and TCP transmit segmentation offload (TSO).\n+\n+Receive-side scaling (RSS) is supported for multi-core scaling.\n+\n+Some of the ENA devices support a working mode called Low-latency\n+Queue (LLQ), which saves several more microseconds.\n+\n+Management Interface\n+--------------------\n+\n+ENA management interface is exposed by means of:\n+\n+* Device Registers\n+* Admin Queue (AQ) and Admin Completion Queue (ACQ)\n+\n+ENA device memory-mapped PCIe space for registers (MMIO registers)\n+are accessed only during driver initialization and are not involved\n+in further normal device operation.\n+\n+AQ is used for submitting management commands, and the\n+results/responses are reported asynchronously through ACQ.\n+\n+ENA introduces a very small set of management commands with room for\n+vendor-specific extensions. Most of the management operations are\n+framed in a generic Get/Set feature command.\n+\n+The following admin queue commands are supported:\n+\n+* Create I/O submission queue\n+* Create I/O completion queue\n+* Destroy I/O submission queue\n+* Destroy I/O completion queue\n+* Get feature\n+* Set feature\n+* Get statistics\n+\n+Refer to ``ena_admin_defs.h`` for the list of supported Get/Set Feature\n+properties.\n+\n+Data Path Interface\n+-------------------\n+\n+I/O operations are based on Tx and Rx Submission Queues (Tx SQ and Rx\n+SQ correspondingly). Each SQ has a completion queue (CQ) associated\n+with it.\n+\n+The SQs and CQs are implemented as descriptor rings in contiguous\n+physical memory.\n+\n+Refer to ``ena_eth_io_defs.h`` for the detailed structure of the descriptor\n+\n+The driver supports multi-queue for both Tx and Rx.\n+\n+Configuration information\n+-------------------------\n+\n+**DPDK Configuration Parameters**\n+\n+  The following configuration options are available for the ENA PMD:\n+\n+   * **CONFIG_RTE_LIBRTE_ENA_PMD** (default y): Enables or disables inclusion\n+     of the ENA PMD driver in the DPDK compilation.\n+\n+\n+   * **CONFIG_RTE_LIBRTE_ENA_DEBUG_INIT** (default y): Enables or disables debug\n+     logging of device initialization within the ENA PMD driver.\n+\n+   * **CONFIG_RTE_LIBRTE_ENA_DEBUG_RX** (default n): Enables or disables debug\n+     logging of RX logic within the ENA PMD driver.\n+\n+   * **CONFIG_RTE_LIBRTE_ENA_DEBUG_TX** (default n): Enables or disables debug\n+     logging of TX logic within the ENA PMD driver.\n+\n+   * **CONFIG_RTE_LIBRTE_ENA_COM_DEBUG** (default n): Enables or disables debug\n+     logging of low level tx/rx logic in ena_com(base) within the ENA PMD driver.\n+\n+**ENA Configuration Parameters**\n+\n+   * **Number of Queues**\n+\n+     This is the requested number of queues upon initialization, however, the actual\n+     number of receive and transmit queues to be created will be the minimum between\n+     the maximal number supported by the device and number of queues requested.\n+\n+   * **Size of Queues**\n+\n+     This is the requested size of receive/transmit queues, while the actual size\n+     will be the minimum between the requested size and the maximal receive/transmit\n+     supported by the device.\n+\n+Building DPDK\n+-------------\n+\n+See the :ref:`DPDK Getting Started Guide for Linux <linux_gsg>` for\n+instructions on how to build DPDK.\n+\n+By default the ENA PMD library will be built into the DPDK library.\n+\n+For configuring and using UIO and VFIO frameworks, please also refer :ref:`the\n+documentation that comes with DPDK suite <linux_gsg>`.\n+\n+Supported ENA adapters\n+----------------------\n+\n+Current ENA PMD supports the following ENA adapters including:\n+\n+* ``1d0f:ec20`` - ENA VF\n+* ``1d0f:ec21`` - ENA VF with LLQ support\n+\n+Supported Operating Systems\n+---------------------------\n+\n+Any Linux distribution fulfilling the conditions described in ``System Requirements``\n+section of :ref:`the DPDK documentation <linux_gsg>` or refer to *DPDK Release Notes*.\n+\n+Supported features\n+------------------\n+\n+* Jumbo frames up to 9K\n+* Port Hardware Statistics\n+* IPv4/TCP/UDP checksum offload\n+* TSO offload\n+* Multiple receive and transmit queues\n+* RSS\n+* Low Latency Queue for Tx\n+\n+Unsupported features\n+--------------------\n+\n+The features supported by the device and not yet supported by this PMD include:\n+\n+* Asynchronous Event Notification Queue (AENQ)\n+\n+Prerequisites\n+-------------\n+\n+#. Prepare the system as recommended by DPDK suite.  This includes environment\n+   variables, hugepages configuration, tool-chains and configuration\n+\n+#. Insert igb_uio kernel module using the command 'modprobe igb_uio'\n+\n+#. Bind the intended ENA device to igb_uio module\n+\n+\n+At this point the system should be ready to run DPDK applications. Once the\n+application runs to completion, the ENA can be detached from igb_uio if necessary.\n+\n+Usage example\n+-------------\n+\n+This section demonstrates how to launch **testpmd** with Amazon ENA\n+devices managed by librte_pmd_ena.\n+\n+#. Load the kernel modules:\n+\n+   .. code-block:: console\n+\n+      modprobe uio\n+      insmod ./x86_64-native-linuxapp-gcc/kmod/igb_uio.ko\n+\n+   .. note::\n+\n+      Currently Amazon ENA PMD driver depends on igb_uio user space I/O kernel module\n+\n+#. Mount and request huge pages:\n+\n+   .. code-block:: console\n+\n+      mount -t hugetlbfs nodev /mnt/hugepages\n+      echo 1024 > /sys/kernel/mm/hugepages/hugepages-2048kB/nr_hugepages\n+\n+#. Bind UIO driver to ENA device (using provided by DPDK binding tool):\n+\n+   .. code-block:: console\n+\n+      ./tools/dpdk_nic_bind.py --bind=igb_uio 0000:02:00.1\n+\n+#. Start testpmd with basic parameters:\n+\n+   .. code-block:: console\n+\n+      ./x86_64-native-linuxapp-gcc/app/testpmd -c 0xf -n 4 -- -i\n+\n+   Example output:\n+\n+   .. code-block:: console\n+\n+      [...]\n+      EAL: PCI device 0000:02:00.1 on NUMA socket -1\n+      EAL:   probe driver: 1d0f:ec20 rte_ena_pmd\n+      EAL:   PCI memory mapped at 0x7f9b6c400000\n+      PMD: eth_ena_dev_init(): Initializing 0:2:0.1\n+      Interactive-mode selected\n+      Configuring Port 0 (socket 0)\n+      Port 0: 00:00:00:11:00:01\n+      Checking link statuses...\n+      Port 0 Link Up - speed 10000 Mbps - full-duplex\n+      Done\n+      testpmd>\n+\ndiff --git a/doc/guides/nics/index.rst b/doc/guides/nics/index.rst\nindex 8618114..694b95b 100644\n--- a/doc/guides/nics/index.rst\n+++ b/doc/guides/nics/index.rst\n@@ -39,6 +39,7 @@ Network Interface Controller Drivers\n     bnx2x\n     cxgbe\n     e1000em\n+    ena\n     enic\n     fm10k\n     ixgbe\n",
    "prefixes": [
        "dpdk-dev",
        "v4",
        "1/4"
    ]
}