get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 134690,
    "url": "https://patches.dpdk.org/api/patches/134690/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/20231129024221.57653-11-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": "<20231129024221.57653-11-stephen@networkplumber.org>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20231129024221.57653-11-stephen@networkplumber.org",
    "date": "2023-11-29T02:39:17",
    "name": "[v5,10/10] common/dpaxx: replace zero length array",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "bf58ecfa33664aa6deb5bc449388ce3b842bb0a0",
    "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/20231129024221.57653-11-stephen@networkplumber.org/mbox/",
    "series": [
        {
            "id": 30410,
            "url": "https://patches.dpdk.org/api/series/30410/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=30410",
            "date": "2023-11-29T02:39:07",
            "name": "Replace zero length arrays",
            "version": 5,
            "mbox": "https://patches.dpdk.org/series/30410/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/134690/comments/",
    "check": "success",
    "checks": "https://patches.dpdk.org/api/patches/134690/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 E218D433F5;\n\tWed, 29 Nov 2023 03:43:55 +0100 (CET)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 5325942E59;\n\tWed, 29 Nov 2023 03:42:47 +0100 (CET)",
            "from mail-oi1-f177.google.com (mail-oi1-f177.google.com\n [209.85.167.177])\n by mails.dpdk.org (Postfix) with ESMTP id 3C78442E35\n for <dev@dpdk.org>; Wed, 29 Nov 2023 03:42:43 +0100 (CET)",
            "by mail-oi1-f177.google.com with SMTP id\n 5614622812f47-3b85dcecc62so2307271b6e.2\n for <dev@dpdk.org>; Tue, 28 Nov 2023 18:42:43 -0800 (PST)",
            "from hermes.local (204-195-123-141.wavecable.com. [204.195.123.141])\n by smtp.gmail.com with ESMTPSA id\n j17-20020aa78011000000b006cb95f6aa0fsm9674900pfi.150.2023.11.28.18.42.41\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Tue, 28 Nov 2023 18:42:41 -0800 (PST)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=networkplumber-org.20230601.gappssmtp.com; s=20230601; t=1701225762;\n x=1701830562; darn=dpdk.org;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:from:to:cc:subject:date\n :message-id:reply-to;\n bh=5PaHYNcOwezwar+iyevsLsJ0uFN1l62vmsHlZdUG6s4=;\n b=Gz3UZudUpYznjqxPpi2h24GuRoQs+1fvmhpmLhvJs9NRwIKRbEpdcpX5dGPf2RuM6k\n /z584bK6mi2aOlQrwnw5CYu8MsiDtQ9pSGjSSA914I+PXYk4sx1+HftcUmPsxaZGNW5K\n uqaOIX7gPEf+GjUmDx8b3qxQEVxuP6ydLQoL3Mvo/Ef/JWrlgAENMRQEzGZgVuSL2Rfb\n d/QpQkxPwMNZj4RFErWqt0NlxzS7ze6ZTEbiUSwZd67pp8wSkJiMTlzVpaGZfp+qzu7l\n JR84q1ItquGdYvpibatgzpW73t41ZehH92YAEgZWBWGEv5j7kixWpybII6ZivE4rf5Dt\n 9ESw==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20230601; t=1701225762; x=1701830562;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc\n :subject:date:message-id:reply-to;\n bh=5PaHYNcOwezwar+iyevsLsJ0uFN1l62vmsHlZdUG6s4=;\n b=TzZQA6TrZ+hBhH1uE81HFTA9SV4P5MlIBIS7LJ5F0WIStv8aBZ8nleRauzWVKv0l5/\n 8tZAbI/LLb81zYy0m6kU3WCkR2kgGQQ6iD54mAgCQfqg57OUsyDA2T1s4qWTTMbxzdl4\n i6jNpQMcxrVEg4ubpDwFalXpR6IVof6rAPTdIQsX8z5w/rn8l+O72vKh9jpR95xOYsfE\n OlAe0bmRQGd0IEJ57K/Wc8XIQCf9Mkq8WH+DcNqy+e4HzHbhRIhKwUcW98wNyqlgJt6i\n hkVZ+HLzFDX9B4CegvB0DCnWB5DPFdIWm/BbFkqPN/orL1B4hPoT2V9x0b34N7/6PDMk\n 46jw==",
        "X-Gm-Message-State": "AOJu0YxsSMTIuABv9HnI3jwbRod+AMqoUZpl/GE1lkZROAXa4UetkhSO\n dCvQW/dwUDTDLl3NXAgzugAt4wA1jDGygjpdV7M=",
        "X-Google-Smtp-Source": "\n AGHT+IGXMVXIGkaMqSO/tvzRcAUaNoDu/9hVcIWcjXiVLcB5oWhrG2jP3u7DKVpcpC5QOzTvqqbgzw==",
        "X-Received": "by 2002:a05:6808:320d:b0:3b8:93dd:18a4 with SMTP id\n cb13-20020a056808320d00b003b893dd18a4mr2109117oib.19.1701225762332;\n Tue, 28 Nov 2023 18:42:42 -0800 (PST)",
        "From": "Stephen Hemminger <stephen@networkplumber.org>",
        "To": "dev@dpdk.org",
        "Cc": "Stephen Hemminger <stephen@networkplumber.org>,\n Hemant Agrawal <hemant.agrawal@nxp.com>,\n Sachin Saxena <sachin.saxena@nxp.com>",
        "Subject": "[PATCH v5 10/10] common/dpaxx: replace zero length array",
        "Date": "Tue, 28 Nov 2023 18:39:17 -0800",
        "Message-ID": "<20231129024221.57653-11-stephen@networkplumber.org>",
        "X-Mailer": "git-send-email 2.42.0",
        "In-Reply-To": "<20231129024221.57653-1-stephen@networkplumber.org>",
        "References": "<20230113215205.125767-1-stephen@networkplumber.org>\n <20231129024221.57653-1-stephen@networkplumber.org>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "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": "The zero length ip_header is used as an overlay to the\nencap IP header. Since the code is already assuming the layout\nof the structure, replace the array with direct access.\n\nSigned-off-by: Stephen Hemminger <stephen@networkplumber.org>\nAcked-by: Hemant Agrawal <hemant.agrawal@nxp.com>\n---\n drivers/common/dpaax/caamflib/desc/ipsec.h | 20 ++++++++++++++------\n 1 file changed, 14 insertions(+), 6 deletions(-)",
    "diff": "diff --git a/drivers/common/dpaax/caamflib/desc/ipsec.h b/drivers/common/dpaax/caamflib/desc/ipsec.h\nindex 95fc3ea5ba3b..d1411cc6aab4 100644\n--- a/drivers/common/dpaax/caamflib/desc/ipsec.h\n+++ b/drivers/common/dpaax/caamflib/desc/ipsec.h\n@@ -334,9 +334,7 @@ struct ipsec_encap_gcm {\n  * @seq_num: IPsec sequence number\n  * @spi: IPsec SPI (Security Parameters Index)\n  * @ip_hdr_len: optional IP Header length (in bytes)\n- *  reserved - 16b\n- *  Opt. IP Hdr Len - 16b\n- * @ip_hdr: optional IP Header content (only for IPsec legacy mode)\n+ *  Ip header must follow directly after ipsec_encap_pdb\n  */\n struct ipsec_encap_pdb {\n \tuint32_t options;\n@@ -350,7 +348,6 @@ struct ipsec_encap_pdb {\n \t};\n \tuint32_t spi;\n \tuint32_t ip_hdr_len;\n-\tuint8_t ip_hdr[0];\n };\n \n static inline unsigned int\n@@ -776,7 +773,12 @@ cnstr_shdsc_ipsec_encap(uint32_t *descbuf, bool ps, bool swap,\n \t\tPROGRAM_SET_36BIT_ADDR(p);\n \tphdr = SHR_HDR(p, share, hdr, 0);\n \t__rta_copy_ipsec_encap_pdb(p, pdb, cipherdata->algtype);\n-\tCOPY_DATA(p, pdb->ip_hdr, pdb->ip_hdr_len);\n+\n+\t/* ip header if any follows the encap_pdb */\n+\tif (pdb->ip_hdr_len > 0) {\n+\t\tvoid *ip_hdr = pdb + 1;\n+\t\tCOPY_DATA(p, ip_hdr, pdb->ip_hdr_len);\n+\t}\n \tSET_LABEL(p, hdr);\n \tpkeyjmp = JUMP(p, keyjmp, LOCAL_JUMP, ALL_TRUE, BOTH|SHRD);\n \tif (authdata->keylen)\n@@ -913,7 +915,13 @@ cnstr_shdsc_ipsec_encap_des_aes_xcbc(uint32_t *descbuf,\n \tPROGRAM_CNTXT_INIT(p, descbuf, 0);\n \tphdr = SHR_HDR(p, share, hdr, 0);\n \t__rta_copy_ipsec_encap_pdb(p, pdb, cipherdata->algtype);\n-\tCOPY_DATA(p, pdb->ip_hdr, pdb->ip_hdr_len);\n+\n+\t/* ip header if any follows the encap_pdb */\n+\tif (pdb->ip_hdr_len > 0) {\n+\t\tvoid *ip_hdr = pdb + 1;\n+\t\tCOPY_DATA(p, ip_hdr, pdb->ip_hdr_len);\n+\t}\n+\n \tSET_LABEL(p, hdr);\n \tpkeyjump = JUMP(p, keyjump, LOCAL_JUMP, ALL_TRUE, SHRD | SELF);\n \t/*\n",
    "prefixes": [
        "v5",
        "10/10"
    ]
}