get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 3479,
    "url": "http://patches.dpdk.org/api/patches/3479/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/1424314187-25177-15-git-send-email-mukawa@igel.co.jp/",
    "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": "<1424314187-25177-15-git-send-email-mukawa@igel.co.jp>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1424314187-25177-15-git-send-email-mukawa@igel.co.jp",
    "date": "2015-02-19T02:49:45",
    "name": "[dpdk-dev,v9,14/14] doc: Add port hotplug framework section to programmers guide",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "0823c32aab43a05ad2b600b148f96d7526c5e344",
    "submitter": {
        "id": 64,
        "url": "http://patches.dpdk.org/api/people/64/?format=api",
        "name": "Tetsuya Mukawa",
        "email": "mukawa@igel.co.jp"
    },
    "delegate": null,
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/1424314187-25177-15-git-send-email-mukawa@igel.co.jp/mbox/",
    "series": [],
    "comments": "http://patches.dpdk.org/api/patches/3479/comments/",
    "check": "pending",
    "checks": "http://patches.dpdk.org/api/patches/3479/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 EDB6AB59B;\n\tThu, 19 Feb 2015 03:51:14 +0100 (CET)",
            "from mail-pa0-f48.google.com (mail-pa0-f48.google.com\n\t[209.85.220.48]) by dpdk.org (Postfix) with ESMTP id EA7ECB4F6\n\tfor <dev@dpdk.org>; Thu, 19 Feb 2015 03:50:38 +0100 (CET)",
            "by pabrd3 with SMTP id rd3so5994284pab.4\n\tfor <dev@dpdk.org>; Wed, 18 Feb 2015 18:50:38 -0800 (PST)",
            "from localhost.localdomain (napt.igel.co.jp. [219.106.231.132])\n\tby mx.google.com with ESMTPSA id\n\tiy1sm17860786pbb.14.2015.02.18.18.50.36\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA bits=128/128);\n\tWed, 18 Feb 2015 18:50:37 -0800 (PST)"
        ],
        "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=zjLSHEfXjCsFnmLCdiqhLpy60sm3zXwUicl0LTZj6zw=;\n\tb=ivCxrwMiURUoqmf/W10w9YqqF/GNF3AHvnJxPaAzw6w7OpvgBNKh0FM4TAhWin+gOa\n\t3eptqehfY/zALyvNfc1EsvE0/KBfszG+YHr+CEgzO3o2qquGDhiNQ6PiI2CkZhLTNSvX\n\tfcTLWhHZhze9BX9bcQfiiyvxUIQCDa/JaxHqUs+bVTn7WW57ypy4r0vF4RA+y6zyCYeh\n\tBRBmbigIRm29YsoiIBxk0ogI0dVgeFWorW2vGYgEqrlSwJa69A99BGGa6F+xZJMQYuD3\n\to2Ayn+jIxeSVtc/k3e0YnxUnUR5/7H66nMNTS0tDSNMQlFvMjaEZte6Rs1KQggUpMVj1\n\t8Ang==",
        "X-Gm-Message-State": "ALoCoQkid05p7YRTXAfL/ILz/4BS9P9t457VaEnQpZBC4jRsSXWLlLdif1BsU9y5C52ZW0qc2Ddd",
        "X-Received": "by 10.68.253.233 with SMTP id ad9mr3496121pbd.167.1424314238392; \n\tWed, 18 Feb 2015 18:50:38 -0800 (PST)",
        "From": "Tetsuya Mukawa <mukawa@igel.co.jp>",
        "To": "dev@dpdk.org",
        "Date": "Thu, 19 Feb 2015 11:49:45 +0900",
        "Message-Id": "<1424314187-25177-15-git-send-email-mukawa@igel.co.jp>",
        "X-Mailer": "git-send-email 1.9.1",
        "In-Reply-To": "<1424314187-25177-1-git-send-email-mukawa@igel.co.jp>",
        "References": "<1424060073-23484-12-git-send-email-mukawa@igel.co.jp>\n\t<1424314187-25177-1-git-send-email-mukawa@igel.co.jp>",
        "Subject": "[dpdk-dev] [PATCH v9 14/14] doc: Add port hotplug framework section\n\tto programmers guide",
        "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": "This patch adds a new section for describing port hotplug framework.\n\nSigned-off-by: Tetsuya Mukawa <mukawa@igel.co.jp>\n---\n doc/guides/prog_guide/index.rst                  |   1 +\n doc/guides/prog_guide/port_hotplug_framework.rst | 110 +++++++++++++++++++++++\n 2 files changed, 111 insertions(+)\n create mode 100644 doc/guides/prog_guide/port_hotplug_framework.rst",
    "diff": "diff --git a/doc/guides/prog_guide/index.rst b/doc/guides/prog_guide/index.rst\nindex 8d86dd4..428b76b 100644\n--- a/doc/guides/prog_guide/index.rst\n+++ b/doc/guides/prog_guide/index.rst\n@@ -70,6 +70,7 @@ Programmer's Guide\n     packet_classif_access_ctrl\n     packet_framework\n     vhost_lib\n+    port_hotplug_framework\n     source_org\n     dev_kit_build_system\n     dev_kit_root_make_help\ndiff --git a/doc/guides/prog_guide/port_hotplug_framework.rst b/doc/guides/prog_guide/port_hotplug_framework.rst\nnew file mode 100644\nindex 0000000..355ae28\n--- /dev/null\n+++ b/doc/guides/prog_guide/port_hotplug_framework.rst\n@@ -0,0 +1,110 @@\n+..  BSD LICENSE\n+    Copyright(c) 2015 IGEL Co.,Ltd. All rights reserved.\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 IGEL Co.,Ltd. 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+Port Hotplug Framework\n+======================\n+\n+The Port Hotplug Framework provides DPDK applications with the ability to\n+attach and detach ports at runtime. Because the framework depends on PMD\n+implementation, the ports that PMDs cannot handle are out of scope of this\n+framework. Furthermore, after detaching a port from a DPDK application, the\n+framework doesn't provide a way for removing the devices from the system.\n+For the ports backed by a physical NIC, the kernel will need to support PCI\n+Hotplug feature.\n+\n+Overview\n+--------\n+\n+The basic requirements of the Port Hotplug Framework are:\n+\n+*       DPDK applications that use the Port Hotplug Framework must manage their\n+        own ports.\n+\n+        The Port Hotplug Framework is implemented to allow DPDK applications to\n+        manage ports. For example, when DPDK applications call the port attach\n+        function, the attached port number is returned. DPDK applications can\n+        also detach the port by port number.\n+\n+*       Kernel support is needed for attaching or detaching physical device\n+        ports.\n+\n+        To attach new physical device ports, the device will be recognized by\n+        userspace driver I/O framework in kernel at first. Then DPDK\n+        applications can call the Port Hotplug functions to attach the ports.\n+        For detaching, steps are vice versa.\n+\n+*       Before detaching, they must be stopped and closed.\n+\n+        DPDK applications must call \"rte_eth_dev_stop()\" and\n+        \"rte_eth_dev_close()\" APIs before detaching ports. These functions will\n+        start finalization sequence of the PMDs.\n+\n+*       The framework doesn't affect legacy DPDK applications behavior.\n+\n+        If the Port Hotplug functions aren't called, all legacy DPDK apps can\n+        still work without modifications.\n+\n+Port Hotplug API overview\n+-------------------------\n+\n+*       Attaching a port\n+\n+        \"rte_eal_dev_attach()\" API attaches a port to DPDK application, and\n+        returns the attached port number. Before calling the API, the device\n+        should be recognized by an userspace driver I/O framework. The API\n+        receives a pci address like \"0000:01:00.0\" or a virtual device name\n+        like \"eth_pcap0,iface=eth0\". In the case of virtual device name, the\n+        format is the same as the general \"--vdev\" option of DPDK.\n+\n+*       Detaching a port\n+\n+        \"rte_eal_dev_detach()\" API detaches a port from DPDK application, and\n+        returns a pci address of the detached device or a virtual device name\n+        of the device.\n+\n+Reference\n+---------\n+\n+        \"testpmd\" supports the Port Hotplug Framework.\n+\n+Limitations\n+-----------\n+\n+*       The Port Hotplug APIs are not thread safe.\n+\n+*       The framework can only be enabled with Linux. BSD is not supported.\n+\n+*       To detach a port, the port should be backed by a device that igb_uio\n+        manages. VFIO is not supported.\n+\n+*       Not all PMDs support detaching feature.\n+        To know whether a PMD can support detaching, search for the\n+        \"RTE_PCI_DRV_DETACHABLE\" flag in PMD implementation. If the flag is\n+        defined in the PMD, detaching is supported.\n",
    "prefixes": [
        "dpdk-dev",
        "v9",
        "14/14"
    ]
}