get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 42589,
    "url": "http://patches.dpdk.org/api/patches/42589/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20180709033706.27858-14-qi.z.zhang@intel.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": "<20180709033706.27858-14-qi.z.zhang@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20180709033706.27858-14-qi.z.zhang@intel.com",
    "date": "2018-07-09T03:37:00",
    "name": "[v10,13/19] net/octeontx: enable hotplug on secondary process",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "7fcf2593a71eb0ee2f7ff80ff65ab846cc499438",
    "submitter": {
        "id": 504,
        "url": "http://patches.dpdk.org/api/people/504/?format=api",
        "name": "Qi Zhang",
        "email": "qi.z.zhang@intel.com"
    },
    "delegate": {
        "id": 1,
        "url": "http://patches.dpdk.org/api/users/1/?format=api",
        "username": "tmonjalo",
        "first_name": "Thomas",
        "last_name": "Monjalon",
        "email": "thomas@monjalon.net"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20180709033706.27858-14-qi.z.zhang@intel.com/mbox/",
    "series": [
        {
            "id": 467,
            "url": "http://patches.dpdk.org/api/series/467/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=467",
            "date": "2018-07-09T03:36:47",
            "name": "enable hotplug on multi-process",
            "version": 10,
            "mbox": "http://patches.dpdk.org/series/467/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/42589/comments/",
    "check": "fail",
    "checks": "http://patches.dpdk.org/api/patches/42589/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 [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 341F51B43D;\n\tMon,  9 Jul 2018 05:37:09 +0200 (CEST)",
            "from mga12.intel.com (mga12.intel.com [192.55.52.136])\n\tby dpdk.org (Postfix) with ESMTP id B20A71B05D\n\tfor <dev@dpdk.org>; Mon,  9 Jul 2018 05:36:53 +0200 (CEST)",
            "from fmsmga005.fm.intel.com ([10.253.24.32])\n\tby fmsmga106.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t08 Jul 2018 20:36:53 -0700",
            "from dpdk51.sh.intel.com ([10.67.110.190])\n\tby fmsmga005.fm.intel.com with ESMTP; 08 Jul 2018 20:36:52 -0700"
        ],
        "X-Amp-Result": "SKIPPED(no attachment in message)",
        "X-Amp-File-Uploaded": "False",
        "X-ExtLoop1": "1",
        "X-IronPort-AV": "E=Sophos;i=\"5.51,328,1526367600\"; d=\"scan'208\";a=\"243632784\"",
        "From": "Qi Zhang <qi.z.zhang@intel.com>",
        "To": "thomas@monjalon.net,\n\tanatoly.burakov@intel.com",
        "Cc": "konstantin.ananyev@intel.com, dev@dpdk.org, bruce.richardson@intel.com, \n\tferruh.yigit@intel.com, benjamin.h.shelton@intel.com,\n\tnarender.vangati@intel.com, Qi Zhang <qi.z.zhang@intel.com>",
        "Date": "Mon,  9 Jul 2018 11:37:00 +0800",
        "Message-Id": "<20180709033706.27858-14-qi.z.zhang@intel.com>",
        "X-Mailer": "git-send-email 2.13.6",
        "In-Reply-To": "<20180709033706.27858-1-qi.z.zhang@intel.com>",
        "References": "<20180607123849.14439-1-qi.z.zhang@intel.com>\n\t<20180709033706.27858-1-qi.z.zhang@intel.com>",
        "Subject": "[dpdk-dev] [PATCH v10 13/19] net/octeontx: enable hotplug on\n\tsecondary process",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "Attach port from secondary should ignore devargs since the private\ndevice is not necessary to support. Also previously, detach port on\na secondary process will mess primary process and cause the same\ndevice can't be attached back again. A secondary process should use\nrte_eth_release_port_private to release a port.\n\nSigned-off-by: Qi Zhang <qi.z.zhang@intel.com>\n---\n drivers/net/octeontx/octeontx_ethdev.c | 9 +++++++++\n 1 file changed, 9 insertions(+)",
    "diff": "diff --git a/drivers/net/octeontx/octeontx_ethdev.c b/drivers/net/octeontx/octeontx_ethdev.c\nindex 1eb453b21..1b98f4086 100644\n--- a/drivers/net/octeontx/octeontx_ethdev.c\n+++ b/drivers/net/octeontx/octeontx_ethdev.c\n@@ -1016,6 +1016,7 @@ octeontx_create(struct rte_vdev_device *dev, int port, uint8_t evdev,\n \n \t\teth_dev->tx_pkt_burst = octeontx_xmit_pkts;\n \t\teth_dev->rx_pkt_burst = octeontx_recv_pkts;\n+\t\teth_dev->device = &dev->device;\n \t\trte_eth_dev_probing_finish(eth_dev);\n \t\treturn 0;\n \t}\n@@ -1138,6 +1139,11 @@ octeontx_remove(struct rte_vdev_device *dev)\n \t\tif (eth_dev == NULL)\n \t\t\treturn -ENODEV;\n \n+\t\tif (rte_eal_process_type() != RTE_PROC_PRIMARY) {\n+\t\t\trte_eth_dev_release_port_private(eth_dev);\n+\t\t\tcontinue;\n+\t\t}\n+\n \t\tnic = octeontx_pmd_priv(eth_dev);\n \t\trte_event_dev_stop(nic->evdev);\n \t\tPMD_INIT_LOG(INFO, \"Closing octeontx device %s\", octtx_name);\n@@ -1148,6 +1154,9 @@ octeontx_remove(struct rte_vdev_device *dev)\n \t\trte_event_dev_close(nic->evdev);\n \t}\n \n+\tif (rte_eal_process_type() != RTE_PROC_PRIMARY)\n+\t\treturn 0;\n+\n \t/* Free FC resource */\n \tocteontx_pko_fc_free();\n \n",
    "prefixes": [
        "v10",
        "13/19"
    ]
}