get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 57530,
    "url": "https://patches.dpdk.org/api/patches/57530/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/bf669ee595e5f4c8643e4694fe06174b453bdf45.1565188248.git.thierry.herbelot@6wind.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": "<bf669ee595e5f4c8643e4694fe06174b453bdf45.1565188248.git.thierry.herbelot@6wind.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/bf669ee595e5f4c8643e4694fe06174b453bdf45.1565188248.git.thierry.herbelot@6wind.com",
    "date": "2019-08-07T14:37:26",
    "name": "[19.11,07/12] net/i40e: set speed to undefined for default case in link update",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "b534a7e843ff320e1bd28fb97e04922c8049b7ed",
    "submitter": {
        "id": 897,
        "url": "https://patches.dpdk.org/api/people/897/?format=api",
        "name": "Thierry Herbelot",
        "email": "thierry.herbelot@6wind.com"
    },
    "delegate": null,
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/bf669ee595e5f4c8643e4694fe06174b453bdf45.1565188248.git.thierry.herbelot@6wind.com/mbox/",
    "series": [
        {
            "id": 5973,
            "url": "https://patches.dpdk.org/api/series/5973/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=5973",
            "date": "2019-08-07T14:37:19",
            "name": "Miscellaneous fixes",
            "version": 1,
            "mbox": "https://patches.dpdk.org/series/5973/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/57530/comments/",
    "check": "fail",
    "checks": "https://patches.dpdk.org/api/patches/57530/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 A90A15B34;\n\tWed,  7 Aug 2019 16:38:15 +0200 (CEST)",
            "from mail-wr1-f65.google.com (mail-wr1-f65.google.com\n\t[209.85.221.65]) by dpdk.org (Postfix) with ESMTP id 6BFCE2BA8\n\tfor <dev@dpdk.org>; Wed,  7 Aug 2019 16:37:58 +0200 (CEST)",
            "by mail-wr1-f65.google.com with SMTP id p17so91618363wrf.11\n\tfor <dev@dpdk.org>; Wed, 07 Aug 2019 07:37:58 -0700 (PDT)",
            "from ascain.dev.6wind.com. (host.78.145.23.62.rev.coltfrance.com.\n\t[62.23.145.78]) by smtp.gmail.com with ESMTPSA id\n\t2sm133441211wrn.29.2019.08.07.07.37.57\n\t(version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128);\n\tWed, 07 Aug 2019 07:37:57 -0700 (PDT)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind.com; s=google; \n\th=from:to:cc:subject:date:message-id:in-reply-to:references\n\t:in-reply-to:references;\n\tbh=aluXQhFqKHvSpt/J7FslVOSjArgfppvuj0QkxyHz2OI=;\n\tb=QYbwziTFQzyDQBKUjpTdh9CuEOUOrqadUlq+6BQyzuSrZNsOBQ2nVmoyNSL7O8az+x\n\trzbTZMlSy9DPgpC0fyqzFcuIEsi+YuFceCNvs+lo6Fa09Qc9id56Gi2YjvcZh804iR5e\n\te8esFZTEfQEmJfbdgoS5HyB0WMlGjfKL1GeiL7rFZJBzb6G1Jo0FEAU5o2We5Vu5Q2zO\n\tSFA2SbfG0U8JOIX6IpSckKzQb6PHyEM57BUo7DPsQm1eGpwHj+QjMVLFba1P3kYE8sG0\n\tY5nnuO4kCuxumhl3nh0DnENGbINY6gjTn+d5k+axwCr8mu+WkvAaHexJuMAER+aVTlnr\n\t8/rg==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=1e100.net; s=20161025;\n\th=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to\n\t:references:in-reply-to:references;\n\tbh=aluXQhFqKHvSpt/J7FslVOSjArgfppvuj0QkxyHz2OI=;\n\tb=uflhRZhb4bi06pLLLGqIdKQZBzk3cYoN6yMBxVifxdRj1b4CoCjS+PL1x6AReKmz8g\n\t2I5AMFhYkGeaDCIP5vkjdTUKho5DClGhYJjyJM70I5PE9N1/SAiuh2DBK+UT+yMvTg87\n\tS8bK9w6FWNo5o1aYndllvfLLbwHvnJOXcN9V8a74dwMB4Uc9d54328JPkzwWhsilaBww\n\tG4HypVPoJ2khExiaFWeNw7tlYbx2RuUcJh8gqIPh8LnNxv1W8eRADxjnDId+7mamz84H\n\t3WCjh7anMOlMTEalnz3UocMaGRafAe/rM6KdHr1diidPrMCj2eRYbM4YG/Xjj1cS7ueJ\n\tGrlQ==",
        "X-Gm-Message-State": "APjAAAUSZxgTbq9BlUpBtV8U6ElT3t3PxKVhZck8ifeEynD32qANrVpT\n\tfE4Ar79yN+fLn66iYdkvP4oJFO8Vlg==",
        "X-Google-Smtp-Source": "APXvYqzFkmU/UX6W7DtuMuATASrecyq/8UX1iIHhAQlZLSpp+j2Pqi/0bUgkdcPsHu21HuIR1CwjsA==",
        "X-Received": "by 2002:adf:f646:: with SMTP id x6mr12051850wrp.18.1565188677981;\n\tWed, 07 Aug 2019 07:37:57 -0700 (PDT)",
        "From": "Thierry Herbelot <thierry.herbelot@6wind.com>",
        "To": "dev@dpdk.org",
        "Cc": "Laurent Hardy <laurent.hardy@6wind.com>, stable@dpdk.org,\n\tThomas Monjalon <thomas@monjalon.net>",
        "Date": "Wed,  7 Aug 2019 16:37:26 +0200",
        "Message-Id": "<bf669ee595e5f4c8643e4694fe06174b453bdf45.1565188248.git.thierry.herbelot@6wind.com>",
        "X-Mailer": "git-send-email 2.11.0",
        "In-Reply-To": [
            "<cover.1565188248.git.thierry.herbelot@6wind.com>",
            "<cover.1565188248.git.thierry.herbelot@6wind.com>"
        ],
        "References": [
            "<cover.1565188248.git.thierry.herbelot@6wind.com>",
            "<cover.1565188248.git.thierry.herbelot@6wind.com>"
        ],
        "Subject": "[dpdk-dev] [PATCH 19.11 07/12] net/i40e: set speed to undefined for\n\tdefault case in link update",
        "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": "From: Laurent Hardy <laurent.hardy@6wind.com>\n\nDuring PF/VF link update, a default speed value of 100M will be set\nif get_link_info has failed or speed is unknown.\n\nConsequently if PF is put in no-carrier state, VFs will switch to\n\"in carrier\" state due to a link up + a link speed set to 100M\n(default value if no speed detected).\n\nTo be consistent with linux drivers on which PF and VFs are in\nsame carrier state, sets default speed to undefined (instead of 100M)\nand updates a link status of VF only if link is up and speed is\ndifferent from undefined.\n\nFixes: 4861cde46116 ('i40e: new poll mode driver')\nCc: stable at dpdk.org\n\nSigned-off-by: Laurent Hardy <laurent.hardy@6wind.com>\n---\n drivers/net/i40e/i40e_ethdev.c    | 4 ++--\n drivers/net/i40e/i40e_ethdev_vf.c | 8 +++++---\n 2 files changed, 7 insertions(+), 5 deletions(-)",
    "diff": "diff --git a/drivers/net/i40e/i40e_ethdev.c b/drivers/net/i40e/i40e_ethdev.c\nindex 4e40b7ab5250..76abe8209a10 100644\n--- a/drivers/net/i40e/i40e_ethdev.c\n+++ b/drivers/net/i40e/i40e_ethdev.c\n@@ -2743,7 +2743,7 @@ update_link_aq(struct i40e_hw *hw, struct rte_eth_link *link,\n \t\tstatus = i40e_aq_get_link_info(hw, enable_lse,\n \t\t\t\t\t\t&link_status, NULL);\n \t\tif (unlikely(status != I40E_SUCCESS)) {\n-\t\t\tlink->link_speed = ETH_SPEED_NUM_100M;\n+\t\t\tlink->link_speed = ETH_SPEED_NUM_NONE;\n \t\t\tlink->link_duplex = ETH_LINK_FULL_DUPLEX;\n \t\t\tPMD_DRV_LOG(ERR, \"Failed to get link info\");\n \t\t\treturn;\n@@ -2777,7 +2777,7 @@ update_link_aq(struct i40e_hw *hw, struct rte_eth_link *link,\n \t\tlink->link_speed = ETH_SPEED_NUM_40G;\n \t\tbreak;\n \tdefault:\n-\t\tlink->link_speed = ETH_SPEED_NUM_100M;\n+\t\tlink->link_speed = ETH_SPEED_NUM_NONE;\n \t\tbreak;\n \t}\n }\ndiff --git a/drivers/net/i40e/i40e_ethdev_vf.c b/drivers/net/i40e/i40e_ethdev_vf.c\nindex 308fb9835ab1..9ba351710b7a 100644\n--- a/drivers/net/i40e/i40e_ethdev_vf.c\n+++ b/drivers/net/i40e/i40e_ethdev_vf.c\n@@ -2143,13 +2143,15 @@ i40evf_dev_link_update(struct rte_eth_dev *dev,\n \t\tnew_link.link_speed = ETH_SPEED_NUM_40G;\n \t\tbreak;\n \tdefault:\n-\t\tnew_link.link_speed = ETH_SPEED_NUM_100M;\n+\t\tnew_link.link_speed = ETH_SPEED_NUM_NONE;\n \t\tbreak;\n \t}\n \t/* full duplex only */\n \tnew_link.link_duplex = ETH_LINK_FULL_DUPLEX;\n-\tnew_link.link_status = vf->link_up ? ETH_LINK_UP :\n-\t\t\t\t\t     ETH_LINK_DOWN;\n+\tnew_link.link_status = vf->link_up\n+\t\t\t\t&& new_link.link_speed != ETH_SPEED_NUM_NONE\n+\t\t\t\t? ETH_LINK_UP\n+\t\t\t\t: ETH_LINK_DOWN;\n \tnew_link.link_autoneg =\n \t\t!(dev->data->dev_conf.link_speeds & ETH_LINK_SPEED_FIXED);\n \n",
    "prefixes": [
        "19.11",
        "07/12"
    ]
}