get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 123468,
    "url": "http://patches.dpdk.org/api/patches/123468/?format=api",
    "web_url": "http://patches.dpdk.org/project/dts/patch/20230208164624.2997614-2-niklas.soderlund@corigine.com/",
    "project": {
        "id": 3,
        "url": "http://patches.dpdk.org/api/projects/3/?format=api",
        "name": "DTS",
        "link_name": "dts",
        "list_id": "dts.dpdk.org",
        "list_email": "dts@dpdk.org",
        "web_url": "",
        "scm_url": "git://dpdk.org/tools/dts",
        "webscm_url": "http://git.dpdk.org/tools/dts/",
        "list_archive_url": "https://inbox.dpdk.org/dts",
        "list_archive_url_format": "https://inbox.dpdk.org/dts/{}",
        "commit_url_format": ""
    },
    "msgid": "<20230208164624.2997614-2-niklas.soderlund@corigine.com>",
    "list_archive_url": "https://inbox.dpdk.org/dts/20230208164624.2997614-2-niklas.soderlund@corigine.com",
    "date": "2023-02-08T16:46:20",
    "name": "[1/5] framework/dut: add support for restoring dual-port NIC with single PCI address",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": false,
    "hash": "e92d3ff1d3d1c4adb0f9bae4cee385bdf191dff3",
    "submitter": {
        "id": 2665,
        "url": "http://patches.dpdk.org/api/people/2665/?format=api",
        "name": "Niklas Söderlund",
        "email": "niklas.soderlund@corigine.com"
    },
    "delegate": null,
    "mbox": "http://patches.dpdk.org/project/dts/patch/20230208164624.2997614-2-niklas.soderlund@corigine.com/mbox/",
    "series": [
        {
            "id": 26893,
            "url": "http://patches.dpdk.org/api/series/26893/?format=api",
            "web_url": "http://patches.dpdk.org/project/dts/list/?series=26893",
            "date": "2023-02-08T16:46:19",
            "name": "Add initial support for NFP PMD",
            "version": 1,
            "mbox": "http://patches.dpdk.org/series/26893/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/123468/comments/",
    "check": "pending",
    "checks": "http://patches.dpdk.org/api/patches/123468/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dts-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 CC0DD41C41;\n\tWed,  8 Feb 2023 17:47:02 +0100 (CET)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id C3D00410EE;\n\tWed,  8 Feb 2023 17:47:02 +0100 (CET)",
            "from NAM12-MW2-obe.outbound.protection.outlook.com\n (mail-mw2nam12on2097.outbound.protection.outlook.com [40.107.244.97])\n by mails.dpdk.org (Postfix) with ESMTP id CBD7C40141\n for <dts@dpdk.org>; Wed,  8 Feb 2023 17:47:01 +0100 (CET)",
            "from SJ0PR13MB6037.namprd13.prod.outlook.com (2603:10b6:a03:3e2::9)\n by DM4PR13MB5929.namprd13.prod.outlook.com (2603:10b6:8:4f::16) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6064.34; Wed, 8 Feb\n 2023 16:46:59 +0000",
            "from SJ0PR13MB6037.namprd13.prod.outlook.com\n ([fe80::90b0:f667:bccd:64ba]) by SJ0PR13MB6037.namprd13.prod.outlook.com\n ([fe80::90b0:f667:bccd:64ba%9]) with mapi id 15.20.6086.017; Wed, 8 Feb 2023\n 16:46:59 +0000"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=cTn9pEp7iYM2hL1xuFphLDhNZMVnn9LO6k+E+VcvX5utyhjN0fgvUE5SF6jqlmn9WGc/Wxodr34Efx1mBcuoy7MmNPMr8xa9nQW37AldPcCSJfzEK3IXKaZAfKLDTTC4oCpswtcZ9TKeon+w3/cNMksOY2x/8zIivSfOdK0ImrE2au/32aoXSgTnGQSLKAtKrwU/fTD2MPXBbZM3yn20+tMsu8dqrbV9tg8hr+qSGeSiRDOO5NJORm2vgaJJgGGUjndfv/F4k9kR6kuV7FoTVmQ3Q8Yj859tkhwDoFdcFJz/zJC5Lm6orI6hhF5EVhOCRAOXB3yxmVtMNErsaKASNA==",
        "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=F3O+mpJDOWwrLawjXg0nLY6Oe0vni6ZOFn+JkzBxS7Q=;\n b=NBdiO17mkKERbM9BE8aro3H6Q3TDOcyDbe0a8g0919Y2CosaCXv0pwPhs7cd9T57vn55BOWF7sfxDk+k4WHH6fake5PsS1XJPTOy/g/nx11yOJj5/f2Aax0XyG9LTpDmo8YqOHDd0cRFUTm2dNO/JeZmvemifCbcYpVuHYBAw0LaRxeUBvm5jEYpYfh7CbyaC2yA/h1HSpKfianKTGyeiNJIbF+ZiFz4bICf9Up/4oKaxG3beT73SLnUNfWNEZQL2+0EiEUe6LydshvjJCpi+iUiZ38xi5rYK94xBXBu4NHzaYB1ERryrgKlS2UH+BLPGrlH5tYl3/MldqGLdMgdcw==",
        "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=corigine.com; dmarc=pass action=none header.from=corigine.com;\n dkim=pass header.d=corigine.com; arc=none",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=corigine.onmicrosoft.com; s=selector2-corigine-onmicrosoft-com;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=F3O+mpJDOWwrLawjXg0nLY6Oe0vni6ZOFn+JkzBxS7Q=;\n b=QyVgTTEHzPQouoNBJ3umnjpWb0fsAvxwMGRobg1WSL1n0VFAHblQb93zdi2oVw/LbVIplLS8/pXL1pJ95awfHZfc7HuBzr3VXieK/Qajm2+ToM2njwT8nCkvuKV91ttgMtNUeQeg1PlDxPtCXW1XZXkCNK058IotuENxUs67NZY=",
        "Authentication-Results": "dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=corigine.com;",
        "From": "=?utf-8?q?Niklas_S=C3=B6derlund?= <niklas.soderlund@corigine.com>",
        "To": "dts@dpdk.org",
        "Cc": "oss-drivers@corigine.com, Qin Ke <qin.ke@corigine.com>, =?utf-8?q?Niklas?=\n\t=?utf-8?q?_S=C3=B6derlund?= <niklas.soderlund@corigine.com>,\n Chaoyong He <chaoyong.he@corigine.com>",
        "Subject": "[PATCH 1/5] framework/dut: add support for restoring dual-port NIC\n with single PCI address",
        "Date": "Wed,  8 Feb 2023 17:46:20 +0100",
        "Message-Id": "<20230208164624.2997614-2-niklas.soderlund@corigine.com>",
        "X-Mailer": "git-send-email 2.39.1",
        "In-Reply-To": "<20230208164624.2997614-1-niklas.soderlund@corigine.com>",
        "References": "<20230208164624.2997614-1-niklas.soderlund@corigine.com>",
        "Content-Type": "text/plain; charset=UTF-8",
        "Content-Transfer-Encoding": "8bit",
        "X-ClientProxiedBy": "FR3P281CA0122.DEUP281.PROD.OUTLOOK.COM\n (2603:10a6:d10:94::6) To SJ0PR13MB6037.namprd13.prod.outlook.com\n (2603:10b6:a03:3e2::9)",
        "MIME-Version": "1.0",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-TrafficTypeDiagnostic": "SJ0PR13MB6037:EE_|DM4PR13MB5929:EE_",
        "X-MS-Office365-Filtering-Correlation-Id": "de673ac9-9848-4641-a0b9-08db09f418aa",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-MS-Exchange-AntiSpam-Relay": "0",
        "X-Microsoft-Antispam": "BCL:0;",
        "X-Microsoft-Antispam-Message-Info": "\n bAbRC1K7/mhgD14AbgO2dbLbeny/7wr3Rv4j8pHt82FhRoO+bLiIWiYbqpIhGCua7dw+GHQr8Xlvk3kXnxegBtZehC68GfZLbWpy1vULvdIhEO1xyYnjv608R3MlqvTDnFWwIsHsgzz9K6P1gVSl6hBNAlVdItbMHWgVFchcqhDbkZNbGk5pVKteN11ah5SxIjrLWHxJskhH/JxjI5vA97IoHeN2t/C6glGVBSXQT1REwrMcbKGXFD3Y0S2JT7wgkxOOdTuJlevEYpEysyv5eqW+iert7thKsOXz5ybHegYnZknTCi+IAS+tmmyKBknqz+FU9Y5zCbB9LgcABXQeTuydsg1eKPAPlbm825ZVUjXexklh+odfGDyGzkmK7843/d5rUrcYgQ/WTP16WmOKCejvGhoovNKpsJTTVgM3xsEHP2UChO7a9+Nn2riLgtuaznxGl5x9M2Ha1CU31HGxtgn2LIjdgalbJIyPaPh3vz2hoXW3txjRZVyfRj5Fg6Aw5PYZUWB4yTHzXlfuXCdxksaUQmsLDcoOfeyYwBYIX4SJTBz2kl++oxziyeALm0wu/Mobj8wc6f4rkNUc4cUxf44HdN0QbIO2OCTG6M5ex363eThHwpGjZ9/5cH/Rg5JKef8bi+i+PS4ZqHzLHypX/FR8F57x8u22waoF0A6nIW4+RHzNgX2iN5flyFgGSGYAxqn6x4M1Qwsrr1tK5FFHOQ==",
        "X-Forefront-Antispam-Report": "CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;\n IPV:NLI; SFV:NSPM; H:SJ0PR13MB6037.namprd13.prod.outlook.com; PTR:; CAT:NONE;\n SFS:(13230025)(4636009)(136003)(39840400004)(346002)(396003)(376002)(366004)(451199018)(6506007)(86362001)(5660300002)(66556008)(26005)(6512007)(186003)(66476007)(8936002)(6666004)(107886003)(2906002)(38350700002)(66946007)(6916009)(4326008)(8676002)(38100700002)(41300700001)(316002)(2616005)(66574015)(1076003)(478600001)(6486002)(52116002)(54906003)(36756003)(83380400001);\n DIR:OUT; SFP:1102;",
        "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1",
        "X-MS-Exchange-AntiSpam-MessageData-0": "=?utf-8?q?5+67MX4Q7IIrvb11kkXD7/uHnADi?=\n\t=?utf-8?q?7gVRAiH0ZTX9l0SQKEDcAtu2A8y7i3Z3PMDwuzPeVfjSXCRlU0Au3OeuwyRWhgJ/p?=\n\t=?utf-8?q?dYtJFGB5Fs7rcSxypc9hZLRgOlxDqP35jWNdblSlqiwoF1WZVo4r4GIg3ug9kEKAc?=\n\t=?utf-8?q?rQNY+ovrVfZYfrATQWE+bWLX0QZTeKkCamlq47KNW8VZ5UHr+eMRTscatCWK9srp/?=\n\t=?utf-8?q?o87woCD17ohvkOLWKc0Rol20VF+m2XiR6VNhIAiHQc6i6YinyHBYqafIY1UjDBiEv?=\n\t=?utf-8?q?gacxQP5g+wtYNHLcwf7JI/cv6ALx9f86pxklojIA5ZlUdnDGfTvEXwYlagKQMsj1A?=\n\t=?utf-8?q?W7mNRf9q2P010DmrGME3CPjyMeHet/N+87YfbrpjTpYU42ikwbjtA3xjPZVyjFTiq?=\n\t=?utf-8?q?tRg/KOq89imGOA0jY0iK00TeHvmNJvfxDBlxiiwFJeoQW8QexOLj3WvGs+3l4tIjo?=\n\t=?utf-8?q?inFOFge+xN/IGMEcXzpHoNr9WazeaEkO5u5Wu1oJDNDdG24zRoEtxVteDl1aLj013?=\n\t=?utf-8?q?I2To2R/hUagEnJNT8fdTfturOVTf/H9pa3joPZULMsSTqKeF2chdagocwJKkrr5TD?=\n\t=?utf-8?q?OrbsE+2piaz3YCMevtCnCM/cd3tEzMDFraTjFxtdbbykLMot272UgnHQ/eJuVXKqK?=\n\t=?utf-8?q?76ZhCvfz2GBsZ1Rkd0i/IkEUQrUwLwmwk19WsPPYAv0/OQlMMSo3T90SCDniqfGnM?=\n\t=?utf-8?q?NJ5pdOEOkbU/mhYymdUxQHxwUCyJuQ1TuHTGgL5NzOnY77FY4JXcjeRfcmLVl3b0d?=\n\t=?utf-8?q?LQivZ1Gt5VJIl97QGOtOqEZQiUiTQVtsqWMbayKw9+lWv/WZlT6nfGe/BHQIlR/E1?=\n\t=?utf-8?q?1dlIE+02vmGVFB/AKae843NEV6wO3IWHKtv96tI5DDwXWO+JkM/jzj918U4HUQzb6?=\n\t=?utf-8?q?yRQ3zpL7b9PToS/xq/+9jumxpj6yH8PD51PnMBtGTx6plrMj319x6/dET4VIE0zbQ?=\n\t=?utf-8?q?oqK3fFoOOtGWcIcrKmUCnHYRxlsQL3LWTIsXJtcuGwtGgkDFPpmrgXhmsiofRGc/F?=\n\t=?utf-8?q?h5j+cMZMMXyfgS4RVvM4MrD5TbTIJD+rd8vxwEq3Y44Zly4k+sxOmC2HF6M9+dO5O?=\n\t=?utf-8?q?duHbk1vdyltbvnSWsWBbWSgKzg8pqxqMWpQVifMjJCKCfdww//Wvzt/nCrSx2U/VF?=\n\t=?utf-8?q?Z6nrUUYPVbd9HfFSm6uWyxcwJ9P544ZqMaGqmzKVe3gsP1YlmjOIO6ZpFl0ILXrAS?=\n\t=?utf-8?q?Q2QMCc5tx65dyi9LKPszj/Hh4rnG66Xeeyw+LP5Gjjcmce4CukBWC4WyLYRUA9KFB?=\n\t=?utf-8?q?Lm00Rx6ApRvJfBA88k9G8YR5ySPRCQpW+zZH/056VyopQsh+9wKpwHiVAVXQ86nqa?=\n\t=?utf-8?q?s61uu3G66Qxc63hE0tGUNCsN5nXKLSFyfbwqGPIuWjTN2MrsGGxkQd32Wh0MGUCc1?=\n\t=?utf-8?q?6knf0ocoFGh0WvXfEXhDZzGnqlRDBjztqZ8vpOZ/4DHbmn0YEGP9M9uoKfuCCILd5?=\n\t=?utf-8?q?QpAvVqWWJeSOzToGAZC6nJbW/dR+A3zpfPGTkY2Atn/RuYIg0qCTM39OZMTOgzw1A?=\n\t=?utf-8?q?54gSHPAvXAOfAX1Bkr9PEhKUvO+wCYLaTDs7QITf/h04BgQpNYpptq4=3D?=",
        "X-OriginatorOrg": "corigine.com",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n de673ac9-9848-4641-a0b9-08db09f418aa",
        "X-MS-Exchange-CrossTenant-AuthSource": "SJ0PR13MB6037.namprd13.prod.outlook.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Internal",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "08 Feb 2023 16:46:59.5125 (UTC)",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted",
        "X-MS-Exchange-CrossTenant-Id": "fe128f2c-073b-4c20-818e-7246a585940c",
        "X-MS-Exchange-CrossTenant-MailboxType": "HOSTED",
        "X-MS-Exchange-CrossTenant-UserPrincipalName": "\n QY1LDZmm9HPBfZqoE8w1mw6SrANJfafz5F6wqCVSAPiFZqgyGQoscLGyStIZ/jynSx7Byy401svB40W99Rr0/8HFz4la2s/JjdHyS69Odps=",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "DM4PR13MB5929",
        "X-BeenThere": "dts@dpdk.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "test suite reviews and discussions <dts.dpdk.org>",
        "List-Unsubscribe": "<https://mails.dpdk.org/options/dts>,\n <mailto:dts-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://mails.dpdk.org/archives/dts/>",
        "List-Post": "<mailto:dts@dpdk.org>",
        "List-Help": "<mailto:dts-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://mails.dpdk.org/listinfo/dts>,\n <mailto:dts-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dts-bounces@dpdk.org"
    },
    "content": "From: Qin Ke <qin.ke@corigine.com>\n\nThe functions of restore_interfaces and rescan_ports get the incorrect\ninterface and mac for the second port of the NIC which has two ports but\nsingle PCI address.\n\nAdd support for it by adding the filed of port_id for port_info, then it\ncan get correct interface and mac by distinguishing port_id.\n\nSigned-off-by: Qin Ke <qin.ke@corigine.com>\nReviewed-by: Niklas Söderlund <niklas.soderlund@corigine.com>\nReviewed-by: Chaoyong He <chaoyong.he@corigine.com>\nSigned-off-by: Niklas Söderlund <niklas.soderlund@corigine.com>\n---\n framework/dut.py | 23 +++++++++++++++++------\n 1 file changed, 17 insertions(+), 6 deletions(-)",
    "diff": "diff --git a/framework/dut.py b/framework/dut.py\nindex 481c0cb6abe8..eb988ac3e265 100644\n--- a/framework/dut.py\n+++ b/framework/dut.py\n@@ -402,9 +402,9 @@ class Dut(Crb):\n         \"\"\"\n         Restore Linux interfaces.\n         \"\"\"\n-        for port in self.ports_info:\n-            pci_bus = port[\"pci\"]\n-            pci_id = port[\"type\"]\n+        for port_info in self.ports_info:\n+            pci_bus = port_info[\"pci\"]\n+            pci_id = port_info[\"type\"]\n             # get device driver\n             driver = settings.get_nic_driver(pci_id)\n             if driver is not None:\n@@ -431,7 +431,10 @@ class Dut(Crb):\n                 pull_retries = 5\n                 itf = \"N/A\"\n                 while pull_retries > 0:\n-                    itf = port.get_interface_name()\n+                    if port_info[\"port_id\"] == 1:\n+                        itf = port.get_interface_name()\n+                    else:\n+                        itf = port.get_interface2_name()\n                     if not itf or itf == \"N/A\":\n                         time.sleep(1)\n                         pull_retries -= 1\n@@ -865,13 +868,19 @@ class Dut(Crb):\n \n         for port_info in self.ports_info:\n             port = port_info[\"port\"]\n-            intf = port.get_interface_name()\n+            if port_info[\"port_id\"] == 1:\n+                intf = port.get_interface_name()\n+            else:\n+                intf = port.get_interface2_name()\n             port_info[\"intf\"] = intf\n             out = self.send_expect(\"ip link show %s\" % intf, \"# \")\n             if \"DOWN\" in out:\n                 self.send_expect(\"ip link set %s up\" % intf, \"# \")\n                 time.sleep(5)\n-            port_info[\"mac\"] = port.get_mac_addr()\n+            if port_info[\"port_id\"] == 1:\n+                port_info[\"mac\"] = port.get_mac_addr()\n+            else:\n+                port_info[\"mac\"] = port.get_intf2_mac_addr()\n             out = self.send_expect(\n                 \"ip -family inet6 address show dev %s | awk '/inet6/ { print $2 }'\"\n                 % intf,\n@@ -1017,6 +1026,7 @@ class Dut(Crb):\n                     \"type\": pci_id,\n                     \"numa\": numa,\n                     \"intf\": intf,\n+                    \"port_id\": 1,\n                     \"mac\": macaddr,\n                 }\n             )\n@@ -1035,6 +1045,7 @@ class Dut(Crb):\n                     \"type\": pci_id,\n                     \"numa\": numa,\n                     \"intf\": intf,\n+                    \"port_id\": 2,\n                     \"mac\": macaddr,\n                 }\n             )\n",
    "prefixes": [
        "1/5"
    ]
}