get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 100776,
    "url": "https://patches.dpdk.org/api/patches/100776/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/20211007184350.73858-9-srikanth.k@oneconvergence.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": "<20211007184350.73858-9-srikanth.k@oneconvergence.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20211007184350.73858-9-srikanth.k@oneconvergence.com",
    "date": "2021-10-07T18:43:17",
    "name": "[v2,08/41] common/mlx5: derive PCI addr from device path",
    "commit_ref": null,
    "pull_url": null,
    "state": "deferred",
    "archived": false,
    "hash": "d4420cc12b2d45fab2fd1923d07308d0b967d60c",
    "submitter": {
        "id": 2368,
        "url": "https://patches.dpdk.org/api/people/2368/?format=api",
        "name": "Srikanth Kaka",
        "email": "srikanth.k@oneconvergence.com"
    },
    "delegate": {
        "id": 3268,
        "url": "https://patches.dpdk.org/api/users/3268/?format=api",
        "username": "rasland",
        "first_name": "Raslan",
        "last_name": "Darawsheh",
        "email": "rasland@nvidia.com"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/20211007184350.73858-9-srikanth.k@oneconvergence.com/mbox/",
    "series": [
        {
            "id": 19455,
            "url": "https://patches.dpdk.org/api/series/19455/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=19455",
            "date": "2021-10-07T18:43:09",
            "name": "add MLX5 FreeBSD support",
            "version": 2,
            "mbox": "https://patches.dpdk.org/series/19455/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/100776/comments/",
    "check": "success",
    "checks": "https://patches.dpdk.org/api/patches/100776/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 BDDB7A034F;\n\tFri,  8 Oct 2021 12:56:42 +0200 (CEST)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 27BB141157;\n\tFri,  8 Oct 2021 12:56:06 +0200 (CEST)",
            "from mail-pf1-f176.google.com (mail-pf1-f176.google.com\n [209.85.210.176])\n by mails.dpdk.org (Postfix) with ESMTP id 86CE8411E0\n for <dev@dpdk.org>; Thu,  7 Oct 2021 20:44:35 +0200 (CEST)",
            "by mail-pf1-f176.google.com with SMTP id g2so6084126pfc.6\n for <dev@dpdk.org>; Thu, 07 Oct 2021 11:44:35 -0700 (PDT)",
            "from srikanth-ThinkPad-T450.domain.name ([136.185.113.102])\n by smtp.gmail.com with ESMTPSA id c11sm3311586pji.38.2021.10.07.11.44.32\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Thu, 07 Oct 2021 11:44:34 -0700 (PDT)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=oneconvergence.com; s=google;\n h=from:to:cc:subject:date:message-id:in-reply-to:references\n :mime-version:content-transfer-encoding;\n bh=O1HAl/0obPYLy5OuIz4vR/jgvJYBAkOOVjqjEksmG9o=;\n b=it2GUB2Fyb00BLP6znGCAGLj/ESlVa51jOXIOHummHPmFbejeWm/KRCFm89aHvxRwS\n cADO2RZmXnDsQRItCl8vMMoe52Lu2qOkD9kXGZu/ieVZXQLFEXQMuWx6CRLgGTBB7fUn\n KTA85v78nMS2ad0EMGvtSm0lNHlUJX9JLZ3gA=",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20210112;\n h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to\n :references:mime-version:content-transfer-encoding;\n bh=O1HAl/0obPYLy5OuIz4vR/jgvJYBAkOOVjqjEksmG9o=;\n b=CGuNTDVQjCp5FAz7SosYbe4JF/jHleC2+LNPqT1J8VIE6GVi32nIz9RLMh++n3i4Kq\n /WJq8obrXWVeKttD1vUcp3rZT+daverpy+c1oxZUPWxKVLxwwMmfed0wQUOFXQbWX37/\n iRUb5wjOxlduwqYZ2+3a92fJME+uxuX1z75sBoQXNWifVmWWwZlywAgbV/LVNdEiMIkf\n vz0Al05c96oZhzHuz5MKNKElpgonUQmMrbmpgva2tGNeArL6QHfDTmy34YVcBafZiFVi\n 3Pn4lhKGTkQctafTSOA2YCpgWPjFHOhfyeyRMXp1rFyGdfn4nAcRWfte+O2LuSq+DXPX\n UCDQ==",
        "X-Gm-Message-State": "AOAM531gzDsMWRXxO2SbIM+wTCKngET0kunK08FFMbQaHZtq+TMQTHS0\n trOTwJq6dIoZC/CFtUPVoXPUSA==",
        "X-Google-Smtp-Source": "\n ABdhPJwUafqOApWYIfBdyv0IsN3RGH9zPUjP+ObJj12bQtfU2kq+lQPU0fja70l6mPew3nckZYtsbw==",
        "X-Received": "by 2002:a63:131c:: with SMTP id i28mr971243pgl.396.1633632274826;\n Thu, 07 Oct 2021 11:44:34 -0700 (PDT)",
        "From": "Srikanth Kaka <srikanth.k@oneconvergence.com>",
        "To": "Matan Azrad <matan@nvidia.com>,\n Viacheslav Ovsiienko <viacheslavo@nvidia.com>",
        "Cc": "dev@dpdk.org, Vag Singh <vag.singh@oneconvergence.com>,\n Anand Thulasiram <avelu@juniper.net>,\n Srikanth Kaka <srikanth.k@oneconvergence.com>",
        "Date": "Fri,  8 Oct 2021 00:13:17 +0530",
        "Message-Id": "<20211007184350.73858-9-srikanth.k@oneconvergence.com>",
        "X-Mailer": "git-send-email 2.30.2",
        "In-Reply-To": "<20211007184350.73858-1-srikanth.k@oneconvergence.com>",
        "References": "<20211007184350.73858-1-srikanth.k@oneconvergence.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "X-Mailman-Approved-At": "Fri, 08 Oct 2021 12:55:54 +0200",
        "Subject": "[dpdk-dev] [PATCH v2 08/41] common/mlx5: derive PCI addr from\n device path",
        "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": "Using syctl call the PCI addr is derived\ndev.mlx5_core.0.%location: slot=8 function=0 dbsf=pci0:0:8:0\n\nSigned-off-by: Srikanth Kaka <srikanth.k@oneconvergence.com>\nSigned-off-by: Vag Singh <vag.singh@oneconvergence.com>\nSigned-off-by: Anand Thulasiram <avelu@juniper.net>\n---\n drivers/common/mlx5/freebsd/mlx5_common_os.c | 48 ++++++++++++++++++++\n 1 file changed, 48 insertions(+)",
    "diff": "diff --git a/drivers/common/mlx5/freebsd/mlx5_common_os.c b/drivers/common/mlx5/freebsd/mlx5_common_os.c\nindex 23370857eb..aa3b73f8a8 100644\n--- a/drivers/common/mlx5/freebsd/mlx5_common_os.c\n+++ b/drivers/common/mlx5/freebsd/mlx5_common_os.c\n@@ -14,6 +14,54 @@\n #include \"mlx5_common_os.h\"\n #include \"mlx5_glue.h\"\n \n+/**\n+ * Derive PCI address from devpath\n+ */\n+int\n+mlx5_get_pci_addr(const char *dev_path, struct rte_pci_addr *pci_addr)\n+{\n+\tchar id[10];\n+\tchar searchstr[MLX5_SYSCTL_BY_NAME_SIZE];\n+\tsize_t length = MLX5_SYSCTL_BY_NAME_SIZE;\n+\tchar name[MLX5_SYSCTL_BY_NAME_SIZE];\n+\tint traverse = 0;\n+\n+\tstrncpy(id, &dev_path[strlen(\"/sys/class/infiniband/mlx5_\")],\n+\t\tstrlen(dev_path) - strlen(\"/sys/class/infiniband/mlx5_\"));\n+\tsprintf(searchstr, \"dev.mlx5_core.%s.%slocation\", id, \"%\");\n+\tsysctlbyname(searchstr, &name, &length, NULL, 0);\n+\n+\twhile (name[traverse]) {\n+\t\tif (name[traverse] == 'p' && name[traverse + 1] == 'c' &&\n+\t\t\t\tname[traverse + 2] == 'i')\n+\t\t\tbreak;\n+\t\t++traverse;\n+\t}\n+\ttraverse += 3;\n+\n+\tint end = traverse;\n+\n+\twhile (name[end] != ' ')\n+\t\t++end;\n+\n+\tchar address[end - traverse + 1];\n+\n+\tmemcpy(address, &name[traverse], end - traverse);\n+\taddress[end - traverse] = '\\0';\n+\n+\tchar *ptr = strtok(address, \" :\");\n+\n+\tpci_addr->domain = (uint32_t)atoi(ptr);\n+\tptr = strtok(NULL, \" :\");\n+\tpci_addr->bus = (uint8_t)atoi(ptr);\n+\tptr =   strtok(NULL, \" :\");\n+\tpci_addr->devid = (uint8_t)atoi(ptr);\n+\tptr =   strtok(NULL, \" :\");\n+\tpci_addr->function = (uint8_t)atoi(ptr);\n+\n+\treturn 0;\n+}\n+\n /**\n  * Derive IB dev index from devpath\n  */\n",
    "prefixes": [
        "v2",
        "08/41"
    ]
}