get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 56812,
    "url": "https://patches.dpdk.org/api/patches/56812/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/1563721001-3730-1-git-send-email-viacheslavo@mellanox.com/",
    "project": {
        "id": 1,
        "url": "https://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": "<1563721001-3730-1-git-send-email-viacheslavo@mellanox.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1563721001-3730-1-git-send-email-viacheslavo@mellanox.com",
    "date": "2019-07-21T14:56:39",
    "name": "[v2,0/2] net/mlx5: cache the associated network device ifindex",
    "commit_ref": null,
    "pull_url": null,
    "state": null,
    "archived": false,
    "hash": null,
    "submitter": {
        "id": 1102,
        "url": "https://patches.dpdk.org/api/people/1102/?format=api",
        "name": "Slava Ovsiienko",
        "email": "viacheslavo@mellanox.com"
    },
    "delegate": null,
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/1563721001-3730-1-git-send-email-viacheslavo@mellanox.com/mbox/",
    "series": [],
    "comments": "https://patches.dpdk.org/api/patches/56812/comments/",
    "check": "pending",
    "checks": "https://patches.dpdk.org/api/patches/56812/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 B95912BC7;\n\tSun, 21 Jul 2019 16:56:58 +0200 (CEST)",
            "from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129])\n\tby dpdk.org (Postfix) with ESMTP id 2A2F02BBD\n\tfor <dev@dpdk.org>; Sun, 21 Jul 2019 16:56:57 +0200 (CEST)",
            "from Internal Mail-Server by MTLPINE2 (envelope-from\n\tviacheslavo@mellanox.com)\n\twith ESMTPS (AES256-SHA encrypted); 21 Jul 2019 17:56:56 +0300",
            "from pegasus12.mtr.labs.mlnx (pegasus12.mtr.labs.mlnx\n\t[10.210.17.40])\n\tby labmailer.mlnx (8.13.8/8.13.8) with ESMTP id x6LEuuep009498;\n\tSun, 21 Jul 2019 17:56:56 +0300",
            "from pegasus12.mtr.labs.mlnx (localhost [127.0.0.1])\n\tby pegasus12.mtr.labs.mlnx (8.14.7/8.14.7) with ESMTP id\n\tx6LEuu0b003897; Sun, 21 Jul 2019 14:56:56 GMT",
            "(from viacheslavo@localhost)\n\tby pegasus12.mtr.labs.mlnx (8.14.7/8.14.7/Submit) id x6LEutPD003896; \n\tSun, 21 Jul 2019 14:56:55 GMT"
        ],
        "X-Authentication-Warning": "pegasus12.mtr.labs.mlnx: viacheslavo set sender to\n\tviacheslavo@mellanox.com using -f",
        "From": "Viacheslav Ovsiienko <viacheslavo@mellanox.com>",
        "To": "dev@dpdk.org",
        "Cc": "yskoh@mellanox.com, shahafs@mellanox.com, stephen@networkplumber.org",
        "Date": "Sun, 21 Jul 2019 14:56:39 +0000",
        "Message-Id": "<1563721001-3730-1-git-send-email-viacheslavo@mellanox.com>",
        "X-Mailer": "git-send-email 1.8.3.1",
        "In-Reply-To": "<1563514305-27405-1-git-send-email-viacheslavo@mellanox.com>",
        "References": "<1563514305-27405-1-git-send-email-viacheslavo@mellanox.com>",
        "Subject": "[dpdk-dev] [PATCH v2 0/2] net/mlx5: cache the associated network\n\tdevice ifindex",
        "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": "In mlx5 PMD the associated device index is retrieved via Netlink request to\nunderlying Infiniband device driver. This network device index is permanent\nthroughout the lifetime of device. We do not spawn the rte_eth_dev ports\nwithout associated network device, and if network device is being unbound\nwe get the remove notification event message and rte_eth_dev port is also\ndetached. So, we may store the ifindex in mlx5_device_spawn() routine at\nrte_eth_dev port creation and initialization time and use the cached\nvalue further instead of doing actual Netlink request.\n\nThis approach allows the query API routines like mlx5_link_update to be\nthread-safe due to Netlink request elimination. mlx5_link_update() may\nbe called in asynchronous event handler concurrently and it may cause\napplication hang.\n\nThis patch extends and updates the [1]. \n\n[1] http://patches.dpdk.org/patch/56417/\n\nReported-by: Stephen Hemminger <stephen@networkplumber.org>\nSigned-off-by: Viacheslav Ovsiienko <viacheslavo@mellanox.com>\n\n---\nv2:\n  -- comments addressed\n\nv1:\n  -- http://patches.dpdk.org/cover/56749/\n\nViacheslav Ovsiienko (2):\n  net/mlx5: cache the associated network device ifindex\n  Revert \"net/mlx5: fix master device Netlink socket sharing\"\n\n drivers/net/mlx5/mlx5.c        |   7 +++\n drivers/net/mlx5/mlx5.h        |   7 +--\n drivers/net/mlx5/mlx5_ethdev.c | 128 ++++-------------------------------------\n 3 files changed, 18 insertions(+), 124 deletions(-)",
    "diff": null,
    "prefixes": [
        "v2",
        "0/2"
    ]
}