get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 119855,
    "url": "http://patches.dpdk.org/api/patches/119855/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20221114181956.1052159-4-dsosnowski@nvidia.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": "<20221114181956.1052159-4-dsosnowski@nvidia.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20221114181956.1052159-4-dsosnowski@nvidia.com",
    "date": "2022-11-14T18:19:56",
    "name": "[v3,3/3] ethdev: document special cases of port start and stop",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "e50a7e188222cca41921a19318df4f18180ae810",
    "submitter": {
        "id": 2386,
        "url": "http://patches.dpdk.org/api/people/2386/?format=api",
        "name": "Dariusz Sosnowski",
        "email": "dsosnowski@nvidia.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/20221114181956.1052159-4-dsosnowski@nvidia.com/mbox/",
    "series": [
        {
            "id": 25759,
            "url": "http://patches.dpdk.org/api/series/25759/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=25759",
            "date": "2022-11-14T18:19:53",
            "name": "ethdev: document special cases of port start and stop",
            "version": 3,
            "mbox": "http://patches.dpdk.org/series/25759/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/119855/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/119855/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 4E760A0093;\n\tMon, 14 Nov 2022 19:21:28 +0100 (CET)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 41AF142D2F;\n\tMon, 14 Nov 2022 19:21:28 +0100 (CET)",
            "from NAM12-DM6-obe.outbound.protection.outlook.com\n (mail-dm6nam12on2044.outbound.protection.outlook.com [40.107.243.44])\n by mails.dpdk.org (Postfix) with ESMTP id 0C9A642D24\n for <dev@dpdk.org>; Mon, 14 Nov 2022 19:21:26 +0100 (CET)",
            "from BN0PR02CA0046.namprd02.prod.outlook.com (2603:10b6:408:e5::21)\n by BL1PR12MB5191.namprd12.prod.outlook.com (2603:10b6:208:318::21)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5791.25; Mon, 14 Nov\n 2022 18:21:24 +0000",
            "from BN8NAM11FT017.eop-nam11.prod.protection.outlook.com\n (2603:10b6:408:e5:cafe::60) by BN0PR02CA0046.outlook.office365.com\n (2603:10b6:408:e5::21) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5813.17 via Frontend\n Transport; Mon, 14 Nov 2022 18:21:24 +0000",
            "from mail.nvidia.com (216.228.117.160) by\n BN8NAM11FT017.mail.protection.outlook.com (10.13.177.93) with Microsoft SMTP\n Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.20.5813.12 via Frontend Transport; Mon, 14 Nov 2022 18:21:23 +0000",
            "from rnnvmail201.nvidia.com (10.129.68.8) by mail.nvidia.com\n (10.129.200.66) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.36; Mon, 14 Nov\n 2022 10:21:06 -0800",
            "from nvidia.com (10.126.230.35) by rnnvmail201.nvidia.com\n (10.129.68.8) with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.986.36; Mon, 14 Nov\n 2022 10:21:04 -0800"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=QQlyagqSbjvkeLnAKRSuaUcBx+g8zyh5c71apVgGZA2FP1DtgTd9lJWq3YWzAsIs8iDIU3bfIu5nJORD20jE9rD6OKgvej+bjvooFYL9ELT640DFrt2wj/B5znh/s8Gvq2MovJi4KWJi0Wc4ikL5Efek7r0Ya0T4QHOaMRHf82EwyKS0Q0RNA/O1NYb6o64YJE3uLL8TbvBmqJDxJx9EQfQciexTrMOvR80IydltsVeOW8c3F7uV9tB+AOapxa0rJR6nw25Qqysna0CLjEAQeZWOKSqRHGnGZWC1/UkyH3t9v4xnc3TtkFeGOxVLGYuk6/7d2e5d5I7GbLSV01wG2A==",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector9901;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;\n bh=/7ZlqtQJKEODbPENZe0MdhiRW6isK2SjPKnTnz9s0Vc=;\n b=ahuXCjUT/ceZCbJiI5DLgR3M0tq4PcSwQOyQob31cJsIA6s9KHSDlO9+FxZdv2RW+CaGXf0NdhlquF6920lXR8UPa16W0hm+c/ffYiuKP8Nnl7FIb7i3GDh9grw9sELIVFLiZS1rRDUb5sVOY8TM506R7TSTFu85TlKF7O54RRWG/+4KsK8u9b+C6EQoqPmzXuk1k88PFd5I5Hypga9E284Tipg3o3ON7BP/A/UTsX2DQUVXYRBPdqtBV+uZOaC/6UTU93rf6zA7rjplJNVzlQM8aoCSIudJCsRjBzvOGs7HnFhdDdTY+te8h6ie4dzSG4+VNlsTksKjRVab5EWtIw==",
        "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass (sender ip is\n 216.228.117.160) smtp.rcpttodomain=intel.com smtp.mailfrom=nvidia.com;\n dmarc=pass (p=reject sp=reject pct=100) action=none header.from=nvidia.com;\n dkim=none (message not signed); arc=none",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;\n s=selector2;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=/7ZlqtQJKEODbPENZe0MdhiRW6isK2SjPKnTnz9s0Vc=;\n b=iiWrke1BVg8RVUSDfxdwIdvNVN15ZgD8KP2yFWmJacdUn5CK14J1er5Pg0ui4qf+10gq9oUyWafnqDD/ganEdFt4D274Gc+RY8ATTq6Unzkkn3q9wBCS5DcWSNUU8j1y/GtSRON3hyzAPBoK8OoR5SvQok9Wn1/e0wgJlG0p7Cd1lZ5lCiGeHqdnM/SPiOFMn+BQEIaj0S1egFM0PRY2o+3j4Ri4Jc3beHoOusiH4GnixxWSJk/r0Y790fDcfJJTV63zQ/QKAhhizmKlFEBP91LlG/OC2mRmTT9zbsQ5dX+jvsf5Z80/b3RqEQ4dYRLTuv5254K/2qEE6kYSaEDc2Q==",
        "X-MS-Exchange-Authentication-Results": "spf=pass (sender IP is 216.228.117.160)\n smtp.mailfrom=nvidia.com;\n dkim=none (message not signed)\n header.d=none;dmarc=pass action=none header.from=nvidia.com;",
        "Received-SPF": "Pass (protection.outlook.com: domain of nvidia.com designates\n 216.228.117.160 as permitted sender) receiver=protection.outlook.com;\n client-ip=216.228.117.160; helo=mail.nvidia.com; pr=C",
        "From": "Dariusz Sosnowski <dsosnowski@nvidia.com>",
        "To": "Aman Singh <aman.deep.singh@intel.com>, Yuying Zhang\n <yuying.zhang@intel.com>, Thomas Monjalon <thomas@monjalon.net>, Ferruh Yigit\n <ferruh.yigit@amd.com>, Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>",
        "CC": "<dev@dpdk.org>",
        "Subject": "[PATCH v3 3/3] ethdev: document special cases of port start and stop",
        "Date": "Mon, 14 Nov 2022 18:19:56 +0000",
        "Message-ID": "<20221114181956.1052159-4-dsosnowski@nvidia.com>",
        "X-Mailer": "git-send-email 2.25.1",
        "In-Reply-To": "<20221114181956.1052159-1-dsosnowski@nvidia.com>",
        "References": "<20221114181956.1052159-1-dsosnowski@nvidia.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Content-Type": "text/plain",
        "X-Originating-IP": "[10.126.230.35]",
        "X-ClientProxiedBy": "rnnvmail203.nvidia.com (10.129.68.9) To\n rnnvmail201.nvidia.com (10.129.68.8)",
        "X-EOPAttributedMessage": "0",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-TrafficTypeDiagnostic": "BN8NAM11FT017:EE_|BL1PR12MB5191:EE_",
        "X-MS-Office365-Filtering-Correlation-Id": "0b725cea-10b0-4949-b988-08dac66d099c",
        "X-LD-Processed": "43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-MS-Exchange-AntiSpam-Relay": "0",
        "X-Microsoft-Antispam": "BCL:0;",
        "X-Microsoft-Antispam-Message-Info": "\n d6xRU9PxXU5wiJJK8AT3elH6srm787KmhzbAcC+gMtSL/HBONFfAkbjEyC7Kzmgw78RqYD7mQ898MgxyANIHOkC9oX+Yfi8NnqWo46rUt/bM2019X11rZR5eYpnYHTodSKKthGtpNi7AzqP4idcYXrhNjoGW3FeGusA+yG6c7yTEA2seMYiMm9O+RKmTARo/UEqYzHRSERqNXWJOoWGW/kAF80uXLMk6vLFWkC4O8dG7Cqdg/s5MKUa6I1I8alqYcgLdJdTjR0fRv9enRS8lLo/IOGWI2JXCN35ULB1nP7fBZR7Mh0MCrsDKj51bqrUNm5ttzZv8M1IEOmtctL22NDimPkvLVFkPZNglo/yl42N5QET4lS0NuVuQYa3ozhJmCMrNRpQJ8lSCLv87s9WaQA2L+6sgtB19X9hTU+r7Aa34BATM6Lx90oftTI7ULgxdHIpHvPiOSqhbPPpvBo9bF7H4H/bVz89sLyAzb6flqu/RK/6m6XFbkEndqTQCu/Kw3qQtrXlqwyOXuiNYVITNgLy0KSNmKlewGK+kqJBmrLn0bNTgwHnDdA7Eo4UXBo2hfssc7EoTS+ujLe7kvGLp9hsDkGz0d8aoK83p48VYfcG5+HWoqUWtccGvOXx6677n7NAqZFHrl0CEW8Sn07L1vRUDzdyoWNYUGUGjIZStch5Nz0+orRkvJ92L7JPyywZVMaSr3dXFF+6liDYh08Vnvrl2x6+XodRS57qNkMeidqk1UvcjOQ5nh4iMSuqBJ4PEgA4L8bpB1Ao6nPyqWGHytw==",
        "X-Forefront-Antispam-Report": "CIP:216.228.117.160; CTRY:US; LANG:en; SCL:1;\n SRV:;\n IPV:NLI; SFV:NSPM; H:mail.nvidia.com; PTR:dc6edge1.nvidia.com; CAT:NONE;\n SFS:(13230022)(4636009)(39860400002)(376002)(136003)(396003)(346002)(451199015)(36840700001)(46966006)(40470700004)(83380400001)(2906002)(8676002)(70586007)(4326008)(8936002)(5660300002)(55016003)(110136005)(478600001)(41300700001)(356005)(7636003)(70206006)(316002)(16526019)(36860700001)(6666004)(82740400003)(336012)(40480700001)(26005)(426003)(40460700003)(6286002)(2616005)(1076003)(86362001)(7696005)(82310400005)(186003)(47076005)(36756003);\n DIR:OUT; SFP:1101;",
        "X-OriginatorOrg": "Nvidia.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "14 Nov 2022 18:21:23.9160 (UTC)",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 0b725cea-10b0-4949-b988-08dac66d099c",
        "X-MS-Exchange-CrossTenant-Id": "43083d15-7273-40c1-b7db-39efd9ccc17a",
        "X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp": "\n TenantId=43083d15-7273-40c1-b7db-39efd9ccc17a; Ip=[216.228.117.160];\n Helo=[mail.nvidia.com]",
        "X-MS-Exchange-CrossTenant-AuthSource": "\n BN8NAM11FT017.eop-nam11.prod.protection.outlook.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Anonymous",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "HybridOnPrem",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "BL1PR12MB5191",
        "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"
    },
    "content": "This patch clarifies the handling of following cases\nin the ethdev API docs:\n\n- If rte_eth_dev_start() returns (-EAGAIN) for some port,\n  it cannot be started right now and start operation\n  must be retried.\n- If rte_eth_dev_stop() returns (-EBUSY) for some port,\n  it cannot be stopped in the current state.\n\nWhen stopping the port in testpmd fails,\nport's state is switched back to STARTED\nto allow users to manually retry stopping the port.\n\nNo additional changes in testpmd are required to handle\nfailures to start the port.\nIf rte_eth_dev_start() fails, port's state is switched to STOPPED\nand users are allowed to retry the operation.\n\nSigned-off-by: Dariusz Sosnowski <dsosnowski@nvidia.com>\n---\n app/test-pmd/testpmd.c  | 8 +++++++-\n lib/ethdev/rte_ethdev.h | 2 ++\n 2 files changed, 9 insertions(+), 1 deletion(-)",
    "diff": "diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c\nindex 4e25f77c6a..a0b4ede48b 100644\n--- a/app/test-pmd/testpmd.c\n+++ b/app/test-pmd/testpmd.c\n@@ -3182,6 +3182,7 @@ stop_port(portid_t pid)\n \tint need_check_link_status = 0;\n \tportid_t peer_pl[RTE_MAX_ETHPORTS];\n \tint peer_pi;\n+\tint ret;\n \n \tif (port_id_is_invalid(pid, ENABLED_WARN))\n \t\treturn;\n@@ -3231,9 +3232,14 @@ stop_port(portid_t pid)\n \t\tif (port->flow_list)\n \t\t\tport_flow_flush(pi);\n \n-\t\tif (eth_dev_stop_mp(pi) != 0)\n+\t\tret = eth_dev_stop_mp(pi);\n+\t\tif (ret != 0) {\n \t\t\tRTE_LOG(ERR, EAL, \"rte_eth_dev_stop failed for port %u\\n\",\n \t\t\t\tpi);\n+\t\t\t/* Allow to retry stopping the port. */\n+\t\t\tport->port_status = RTE_PORT_STARTED;\n+\t\t\tcontinue;\n+\t\t}\n \n \t\tif (port->port_status == RTE_PORT_HANDLING)\n \t\t\tport->port_status = RTE_PORT_STOPPED;\ndiff --git a/lib/ethdev/rte_ethdev.h b/lib/ethdev/rte_ethdev.h\nindex 13fe73d5a3..c129ca1eaf 100644\n--- a/lib/ethdev/rte_ethdev.h\n+++ b/lib/ethdev/rte_ethdev.h\n@@ -2705,6 +2705,7 @@ int rte_eth_dev_tx_queue_stop(uint16_t port_id, uint16_t tx_queue_id);\n  *   The port identifier of the Ethernet device.\n  * @return\n  *   - 0: Success, Ethernet device started.\n+ *   - -EAGAIN: If start operation must be retried.\n  *   - <0: Error code of the driver device start function.\n  */\n int rte_eth_dev_start(uint16_t port_id);\n@@ -2717,6 +2718,7 @@ int rte_eth_dev_start(uint16_t port_id);\n  *   The port identifier of the Ethernet device.\n  * @return\n  *   - 0: Success, Ethernet device stopped.\n+ *   - -EBUSY: If stopping the port is not allowed in current state.\n  *   - <0: Error code of the driver device stop function.\n  */\n int rte_eth_dev_stop(uint16_t port_id);\n",
    "prefixes": [
        "v3",
        "3/3"
    ]
}