get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 97442,
    "url": "http://patches.dpdk.org/api/patches/97442/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20210827065717.1838258-21-andrew.rybchenko@oktetlabs.ru/",
    "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": "<20210827065717.1838258-21-andrew.rybchenko@oktetlabs.ru>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20210827065717.1838258-21-andrew.rybchenko@oktetlabs.ru",
    "date": "2021-08-27T06:56:59",
    "name": "[20/38] net/sfc: implement port representor link update",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "610a5208c76faf6c060511ea571c0d4ca75a74ac",
    "submitter": {
        "id": 2013,
        "url": "http://patches.dpdk.org/api/people/2013/?format=api",
        "name": "Andrew Rybchenko",
        "email": "Andrew.Rybchenko@oktetlabs.ru"
    },
    "delegate": {
        "id": 319,
        "url": "http://patches.dpdk.org/api/users/319/?format=api",
        "username": "fyigit",
        "first_name": "Ferruh",
        "last_name": "Yigit",
        "email": "ferruh.yigit@amd.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20210827065717.1838258-21-andrew.rybchenko@oktetlabs.ru/mbox/",
    "series": [
        {
            "id": 18492,
            "url": "http://patches.dpdk.org/api/series/18492/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=18492",
            "date": "2021-08-27T06:56:39",
            "name": "net/sfc: support port representors",
            "version": 1,
            "mbox": "http://patches.dpdk.org/series/18492/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/97442/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/97442/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@inbox.dpdk.org",
        "Delivered-To": "patchwork@inbox.dpdk.org",
        "Received": [
            "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 56135A0C43;\n\tFri, 27 Aug 2021 09:00:19 +0200 (CEST)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 3E51741285;\n\tFri, 27 Aug 2021 08:58:51 +0200 (CEST)",
            "from shelob.oktetlabs.ru (shelob.oktetlabs.ru [91.220.146.113])\n by mails.dpdk.org (Postfix) with ESMTP id 6AB94412A8\n for <dev@dpdk.org>; Fri, 27 Aug 2021 08:58:42 +0200 (CEST)",
            "by shelob.oktetlabs.ru (Postfix, from userid 122)\n id 277997F6FC; Fri, 27 Aug 2021 09:58:42 +0300 (MSK)",
            "from aros.oktetlabs.ru (aros.oktetlabs.ru [192.168.38.17])\n by shelob.oktetlabs.ru (Postfix) with ESMTP id 051FA7F6E5;\n Fri, 27 Aug 2021 09:57:35 +0300 (MSK)"
        ],
        "X-Spam-Checker-Version": "SpamAssassin 3.4.2 (2018-09-13) on shelob.oktetlabs.ru",
        "X-Spam-Level": "",
        "X-Spam-Status": "No, score=0.8 required=5.0 tests=ALL_TRUSTED,\n DKIM_ADSP_DISCARD,\n URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.2",
        "DKIM-Filter": "OpenDKIM Filter v2.11.0 shelob.oktetlabs.ru 051FA7F6E5",
        "Authentication-Results": "shelob.oktetlabs.ru/051FA7F6E5; dkim=none;\n dkim-atps=neutral",
        "From": "Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>",
        "To": "dev@dpdk.org",
        "Cc": "Igor Romanov <igor.romanov@oktetlabs.ru>,\n Andy Moreton <amoreton@xilinx.com>, Ivan Malov <ivan.malov@oktetlabs.ru>",
        "Date": "Fri, 27 Aug 2021 09:56:59 +0300",
        "Message-Id": "<20210827065717.1838258-21-andrew.rybchenko@oktetlabs.ru>",
        "X-Mailer": "git-send-email 2.30.2",
        "In-Reply-To": "<20210827065717.1838258-1-andrew.rybchenko@oktetlabs.ru>",
        "References": "<20210827065717.1838258-1-andrew.rybchenko@oktetlabs.ru>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[dpdk-dev] [PATCH 20/38] net/sfc: implement port representor link\n update",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <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 <mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "From: Igor Romanov <igor.romanov@oktetlabs.ru>\n\nImplement the callback by reporting link down if the representor\nis not started, otherwise report link up with undefined link speed.\n\nLink speed is undefined since representors can pass traffic to each\nother even if the PF link is down.\n\nSigned-off-by: Igor Romanov <igor.romanov@oktetlabs.ru>\nSigned-off-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>\nReviewed-by: Andy Moreton <amoreton@xilinx.com>\nReviewed-by: Ivan Malov <ivan.malov@oktetlabs.ru>\n---\n drivers/net/sfc/sfc_repr.c | 19 +++++++++++++++++++\n 1 file changed, 19 insertions(+)",
    "diff": "diff --git a/drivers/net/sfc/sfc_repr.c b/drivers/net/sfc/sfc_repr.c\nindex bfe6dd4c9b..207e7c77a0 100644\n--- a/drivers/net/sfc/sfc_repr.c\n+++ b/drivers/net/sfc/sfc_repr.c\n@@ -471,6 +471,24 @@ sfc_repr_dev_infos_get(struct rte_eth_dev *dev,\n \treturn 0;\n }\n \n+static int\n+sfc_repr_dev_link_update(struct rte_eth_dev *dev,\n+\t\t\t __rte_unused int wait_to_complete)\n+{\n+\tstruct sfc_repr *sr = sfc_repr_by_eth_dev(dev);\n+\tstruct rte_eth_link link;\n+\n+\tif (sr->state != SFC_ETHDEV_STARTED) {\n+\t\tsfc_port_link_mode_to_info(EFX_LINK_UNKNOWN, &link);\n+\t} else {\n+\t\tmemset(&link, 0, sizeof(link));\n+\t\tlink.link_status = ETH_LINK_UP;\n+\t\tlink.link_speed = ETH_SPEED_NUM_UNKNOWN;\n+\t}\n+\n+\treturn rte_eth_linkstatus_set(dev, &link);\n+}\n+\n static int\n sfc_repr_ring_create(uint16_t pf_port_id, uint16_t repr_id,\n \t\t     const char *type_name, uint16_t qid, uint16_t nb_desc,\n@@ -782,6 +800,7 @@ static const struct eth_dev_ops sfc_repr_dev_ops = {\n \t.dev_stop\t\t\t= sfc_repr_dev_stop,\n \t.dev_close\t\t\t= sfc_repr_dev_close,\n \t.dev_infos_get\t\t\t= sfc_repr_dev_infos_get,\n+\t.link_update\t\t\t= sfc_repr_dev_link_update,\n \t.rx_queue_setup\t\t\t= sfc_repr_rx_queue_setup,\n \t.rx_queue_release\t\t= sfc_repr_rx_queue_release,\n \t.tx_queue_setup\t\t\t= sfc_repr_tx_queue_setup,\n",
    "prefixes": [
        "20/38"
    ]
}