get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 78643,
    "url": "https://patches.dpdk.org/api/patches/78643/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/20200924053433.12648-7-stephen@networkplumber.org/",
    "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": "<20200924053433.12648-7-stephen@networkplumber.org>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20200924053433.12648-7-stephen@networkplumber.org",
    "date": "2020-09-24T05:34:32",
    "name": "[v6,6/7] app/proc-info: add crypto security context info",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "7ef0f30b1aa6b63b30deb01419762346a91c106e",
    "submitter": {
        "id": 27,
        "url": "https://patches.dpdk.org/api/people/27/?format=api",
        "name": "Stephen Hemminger",
        "email": "stephen@networkplumber.org"
    },
    "delegate": {
        "id": 1,
        "url": "https://patches.dpdk.org/api/users/1/?format=api",
        "username": "tmonjalo",
        "first_name": "Thomas",
        "last_name": "Monjalon",
        "email": "thomas@monjalon.net"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/20200924053433.12648-7-stephen@networkplumber.org/mbox/",
    "series": [
        {
            "id": 12454,
            "url": "https://patches.dpdk.org/api/series/12454/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=12454",
            "date": "2020-09-24T05:34:26",
            "name": "app/proc-info: enhancements",
            "version": 6,
            "mbox": "https://patches.dpdk.org/series/12454/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/78643/comments/",
    "check": "success",
    "checks": "https://patches.dpdk.org/api/patches/78643/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 dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 103ACA04B1;\n\tThu, 24 Sep 2020 07:35:29 +0200 (CEST)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id B5B2F1DD66;\n\tThu, 24 Sep 2020 07:34:56 +0200 (CEST)",
            "from mail-pl1-f196.google.com (mail-pl1-f196.google.com\n [209.85.214.196]) by dpdk.org (Postfix) with ESMTP id 9FF121DD56\n for <dev@dpdk.org>; Thu, 24 Sep 2020 07:34:49 +0200 (CEST)",
            "by mail-pl1-f196.google.com with SMTP id bb1so1078471plb.2\n for <dev@dpdk.org>; Wed, 23 Sep 2020 22:34:49 -0700 (PDT)",
            "from hermes.lan (204-195-22-127.wavecable.com. [204.195.22.127])\n by smtp.gmail.com with ESMTPSA id v8sm1529609pgg.58.2020.09.23.22.34.47\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Wed, 23 Sep 2020 22:34:47 -0700 (PDT)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=networkplumber-org.20150623.gappssmtp.com; s=20150623;\n h=from:to:cc:subject:date:message-id:in-reply-to:references\n :mime-version:content-transfer-encoding;\n bh=fTElCX3vFG04xc93DAgMHACNuypYEu6nOBwSgv76rgk=;\n b=h+rlMwU54MZtH4GsLdGs5oNLPjemW9JtC+x5wss+3r94hpRRr6rpGBqg3k3fV5Ilkr\n TNDoaiw0EB7WY0xKJIhyh0KhklbxZlnniZmPfN4x9qt+7YU+sTMlR3jS4W1D+w4Zr2Nl\n BPPjJXjM0KSHC5ED9XBbdkmZZR+5gYvtAEbTrRNcrHf+8zolgSN5QyZzX3U/+wHH4k2e\n wZDRqHCvHtt7t4SFyqQrd0sqWsT0mieLMVfz/kgAtp9vSwkGejEwqo3/Fifq1x/HBG7b\n 3EcN4MKKB99XdCu1zukusPYihzQZ/e8W9w3BMK/NcDakaN1hIVsIBm/sr3Mw0zzdW3av\n 21RQ==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20161025;\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=fTElCX3vFG04xc93DAgMHACNuypYEu6nOBwSgv76rgk=;\n b=KxN9lXhx4cq5dSOZIRbbUlfHkc5l5CnyZRIiK6MQcdKJMa3xUknCTR2en07SnhQ41V\n VqhR6fk+uKdYXOh/7gqt3qaJt+zqN3A48B/kWuTDfVEbldVyBkP0lHdrvSWnKvq/KPwS\n jd1axvLS0epCixZsM6VDnxInpoMPQAOn+Ss1nL2gk6mtu5ekFpyZhF2Z8xknaR3OUeqk\n bJISkYc/XAWwT8BihAJ++hGj09/4bHMQHeKUrHZ7xLOc+WE4k/wgGM9El6LzoEA1aBYB\n bOjfWTRCCNgKvp8yrhZR14wUjdxJUAIzT/FD8BT7KFbeemLZr4eCE+8vQavkNokBXgCv\n cTCg==",
        "X-Gm-Message-State": "AOAM532Lp8jH+AEVMr7bFhFmctBdkf1u3zD7ql7MZ6UZ8b0k6xUI1JXy\n Idru951Dy5ThQ6tj8A8KzdLY5Lf4HvLhYA==",
        "X-Google-Smtp-Source": "\n ABdhPJzAwu57iXQKT75hvHPOJuED+t/44g3IYinTfD0zG2ST844QCx0wqkkhNwcq3fzO1YslhKiXVg==",
        "X-Received": "by 2002:a17:90b:138e:: with SMTP id\n hr14mr2323239pjb.161.1600925688429;\n Wed, 23 Sep 2020 22:34:48 -0700 (PDT)",
        "From": "Stephen Hemminger <stephen@networkplumber.org>",
        "To": "dev@dpdk.org",
        "Cc": "Hemant Agrawal <hemant.agrawal@nxp.com>,\n Stephen Hemminger <stephen@networkplumber.org>",
        "Date": "Wed, 23 Sep 2020 22:34:32 -0700",
        "Message-Id": "<20200924053433.12648-7-stephen@networkplumber.org>",
        "X-Mailer": "git-send-email 2.27.0",
        "In-Reply-To": "<20200924053433.12648-1-stephen@networkplumber.org>",
        "References": "<20200728191330.20864-1-stephen@networkplumber.org>\n <20200924053433.12648-1-stephen@networkplumber.org>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[dpdk-dev] [PATCH v6 6/7] app/proc-info: add crypto security\n\tcontext info",
        "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 <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: Hemant Agrawal <hemant.agrawal@nxp.com>\n\nIf crypto context is not present, no point in displaying it.\n\nThis patch adds the crypto based security context info.\nAlso improve the flag printing to SECURITY OFFLOAD from\nINLINE.\n\nUse common code for displaying crypto context information\nwhen doing show_ports and show_crypto.\n\nSigned-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>\nSigned-off-by: Stephen Hemminger <stephen@networkplumber.org>\n---\n app/proc-info/main.c | 80 +++++++++++++++++++++++++-------------------\n 1 file changed, 46 insertions(+), 34 deletions(-)",
    "diff": "diff --git a/app/proc-info/main.c b/app/proc-info/main.c\nindex c36f9f4d7471..e90e9aba080e 100644\n--- a/app/proc-info/main.c\n+++ b/app/proc-info/main.c\n@@ -654,6 +654,32 @@ metrics_display(int port_id)\n \trte_free(names);\n }\n \n+static void\n+show_security_context(uint16_t portid)\n+{\n+\tvoid *p_ctx = rte_eth_dev_get_sec_ctx(portid);\n+\tconst struct rte_security_capability *s_cap;\n+\n+\tif (p_ctx == NULL)\n+\t\treturn;\n+\n+\tprintf(\"  - crypto context\\n\");\n+\tprintf(\"\\t  -- security context - %p\\n\", p_ctx);\n+\tprintf(\"\\t  -- size %u\\n\",\n+\t       rte_security_session_get_size(p_ctx));\n+\n+\ts_cap = rte_security_capabilities_get(p_ctx);\n+\tif (s_cap) {\n+\t\tprintf(\"\\t  -- action (0x%x), protocol (0x%x),\"\n+\t\t       \" offload flags (0x%x)\\n\",\n+\t\t       s_cap->action,\n+\t\t       s_cap->protocol,\n+\t\t       s_cap->ol_flags);\n+\t\tprintf(\"\\t  -- capabilities - oper type %x\\n\",\n+\t\t       s_cap->crypto_capabilities->op);\n+\t}\n+}\n+\n static void\n show_offloads(uint64_t offloads,\n \t      const char *(show_offload)(uint64_t))\n@@ -826,26 +852,8 @@ show_port(void)\n \t\t\t}\n \t\t}\n \n-\t\tprintf(\"  - cyrpto context\\n\");\n #ifdef RTE_LIBRTE_SECURITY\n-\t\tvoid *p_ctx = rte_eth_dev_get_sec_ctx(i);\n-\t\tprintf(\"\\t  -- security context - %p\\n\", p_ctx);\n-\n-\t\tif (p_ctx) {\n-\t\t\tprintf(\"\\t  -- size %u\\n\",\n-\t\t\t\t\trte_security_session_get_size(p_ctx));\n-\t\t\tconst struct rte_security_capability *s_cap =\n-\t\t\t\trte_security_capabilities_get(p_ctx);\n-\t\t\tif (s_cap) {\n-\t\t\t\tprintf(\"\\t  -- action (0x%x), protocol (0x%x),\"\n-\t\t\t\t\t\t\" offload flags (0x%x)\\n\",\n-\t\t\t\t\t\ts_cap->action,\n-\t\t\t\t\t\ts_cap->protocol,\n-\t\t\t\t\t\ts_cap->ol_flags);\n-\t\t\t\tprintf(\"\\t  -- capabilities - oper type %x\\n\",\n-\t\t\t\t\t\ts_cap->crypto_capabilities->op);\n-\t\t\t}\n-\t\t}\n+\t\tshow_security_context(i);\n #endif\n \t}\n }\n@@ -1151,7 +1159,7 @@ display_crypto_feature_info(uint64_t x)\n \tprintf(\"\\t\\t  + AESNI: CPU (%c), HW (%c)\\n\",\n \t\t(x & RTE_CRYPTODEV_FF_CPU_AESNI) ? 'y' : 'n',\n \t\t(x & RTE_CRYPTODEV_FF_HW_ACCELERATED) ? 'y' : 'n');\n-\tprintf(\"\\t\\t  + INLINE (%c)\\n\",\n+\tprintf(\"\\t\\t  + SECURITY OFFLOAD (%c)\\n\",\n \t\t(x & RTE_CRYPTODEV_FF_SECURITY) ? 'y' : 'n');\n \tprintf(\"\\t\\t  + ARM: NEON (%c), CE (%c)\\n\",\n \t\t(x & RTE_CRYPTODEV_FF_CPU_NEON) ? 'y' : 'n',\n@@ -1185,14 +1193,14 @@ show_crypto(void)\n \n \t\tprintf(\"  - device (%u)\\n\", i);\n \t\tprintf(\"\\t  -- name (%s)\\n\"\n-\t\t\t\"\\t  -- driver (%s)\\n\"\n-\t\t\t\"\\t  -- id (%u) on socket (%d)\\n\"\n-\t\t\t\"\\t  -- queue pairs (%d)\\n\",\n-\t\t\trte_cryptodev_name_get(i),\n-\t\t\tdev_info.driver_name,\n-\t\t\tdev_info.driver_id,\n-\t\t\tdev_info.device->numa_node,\n-\t\t\trte_cryptodev_queue_pair_count(i));\n+\t\t       \"\\t  -- driver (%s)\\n\"\n+\t\t       \"\\t  -- id (%u) on socket (%d)\\n\"\n+\t\t       \"\\t  -- queue pairs (%d)\\n\",\n+\t\t       rte_cryptodev_name_get(i),\n+\t\t       dev_info.driver_name,\n+\t\t       dev_info.driver_id,\n+\t\t       dev_info.device->numa_node,\n+\t\t       rte_cryptodev_queue_pair_count(i));\n \n \t\tdisplay_crypto_feature_info(dev_info.feature_flags);\n \n@@ -1200,14 +1208,18 @@ show_crypto(void)\n \t\tif (rte_cryptodev_stats_get(i, &stats) == 0) {\n \t\t\tprintf(\"\\t  -- stats\\n\");\n \t\t\tprintf(\"\\t\\t  + enqueue count (%\"PRIu64\")\"\n-\t\t\t\t\" error (%\"PRIu64\")\\n\",\n-\t\t\t\tstats.enqueued_count,\n-\t\t\t\tstats.enqueue_err_count);\n+\t\t\t       \" error (%\"PRIu64\")\\n\",\n+\t\t\t       stats.enqueued_count,\n+\t\t\t       stats.enqueue_err_count);\n \t\t\tprintf(\"\\t\\t  + dequeue count (%\"PRIu64\")\"\n-\t\t\t\t\" error (%\"PRIu64\")\\n\",\n-\t\t\t\tstats.dequeued_count,\n-\t\t\t\tstats.dequeue_err_count);\n+\t\t\t       \" error (%\"PRIu64\")\\n\",\n+\t\t\t       stats.dequeued_count,\n+\t\t\t       stats.dequeue_err_count);\n \t\t}\n+\n+#ifdef RTE_LIBRTE_SECURITY\n+\t\tshow_security_context(i);\n+#endif\n \t}\n }\n \n",
    "prefixes": [
        "v6",
        "6/7"
    ]
}