get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 42234,
    "url": "http://patches.dpdk.org/api/patches/42234/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/1530712550-18099-3-git-send-email-anoob.joseph@caviumnetworks.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": "<1530712550-18099-3-git-send-email-anoob.joseph@caviumnetworks.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1530712550-18099-3-git-send-email-anoob.joseph@caviumnetworks.com",
    "date": "2018-07-04T13:55:49",
    "name": "[v1,2/3] app/crypto-perf: honour cryptodev's min headroom/tailroom",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "1afff6bdd527b9c75c6a44ec88c96f172838d0d8",
    "submitter": {
        "id": 893,
        "url": "http://patches.dpdk.org/api/people/893/?format=api",
        "name": "Anoob Joseph",
        "email": "anoob.joseph@caviumnetworks.com"
    },
    "delegate": {
        "id": 22,
        "url": "http://patches.dpdk.org/api/users/22/?format=api",
        "username": "pdelarag",
        "first_name": "Pablo",
        "last_name": "de Lara Guarch",
        "email": "pablo.de.lara.guarch@intel.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/1530712550-18099-3-git-send-email-anoob.joseph@caviumnetworks.com/mbox/",
    "series": [
        {
            "id": 398,
            "url": "http://patches.dpdk.org/api/series/398/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=398",
            "date": "2018-07-04T13:55:47",
            "name": "add head/tailroom requirement for crypto PMDs",
            "version": 1,
            "mbox": "http://patches.dpdk.org/series/398/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/42234/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/42234/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@dpdk.org",
        "Delivered-To": "patchwork@dpdk.org",
        "Received": [
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 11DBC1BF44;\n\tWed,  4 Jul 2018 15:56:30 +0200 (CEST)",
            "from NAM04-BN3-obe.outbound.protection.outlook.com\n\t(mail-eopbgr680089.outbound.protection.outlook.com [40.107.68.89])\n\tby dpdk.org (Postfix) with ESMTP id B02471BF2E\n\tfor <dev@dpdk.org>; Wed,  4 Jul 2018 15:56:28 +0200 (CEST)",
            "from ajoseph83.caveonetworks.com.caveonetworks.com (115.113.156.2)\n\tby BN7PR07MB4897.namprd07.prod.outlook.com (2603:10b6:406:ef::26)\n\twith Microsoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.906.26;\n\tWed, 4 Jul 2018 13:56:24 +0000"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n\tbh=bjo01mUqItaA3RGy49D+euLg7XLuGI/uw1ncQrl1sZc=;\n\tb=L4M21fbnu5nbhsP0TEOmIRGDKahaKSpOTIqkMpIKuIakS0bjt41qh03DjmsIj+ypEErSfbE2LWG66VmbBFg9qvlSMRCTN1XSYcG18wRUyoOX/hDSNgmS4eZxSgCOvbUAI2uUNR/KPKTq5jL/CgNAYbrCMRiFS7o2Nsu8UZGcR1s=",
        "Authentication-Results": "spf=none (sender IP is )\n\tsmtp.mailfrom=Anoob.Joseph@cavium.com; ",
        "From": "Anoob Joseph <anoob.joseph@caviumnetworks.com>",
        "To": "Declan Doherty <declan.doherty@intel.com>,\n\tPablo de Lara <pablo.de.lara.guarch@intel.com>",
        "Cc": "Anoob Joseph <anoob.joseph@caviumnetworks.com>,\n\tAkhil Goyal <akhil.goyal@nxp.com>,\n\tAnkur Dwivedi <ankur.dwivedi@caviumnetworks.com>,\n\tJerin Jacob <jerin.jacob@caviumnetworks.com>,\n\tNarayana Prasad <narayanaprasad.athreya@caviumnetworks.com>, dev@dpdk.org",
        "Date": "Wed,  4 Jul 2018 19:25:49 +0530",
        "Message-Id": "<1530712550-18099-3-git-send-email-anoob.joseph@caviumnetworks.com>",
        "X-Mailer": "git-send-email 2.7.4",
        "In-Reply-To": "<1530712550-18099-1-git-send-email-anoob.joseph@caviumnetworks.com>",
        "References": "<1529389574-6643-1-git-send-email-anoob.joseph@caviumnetworks.com>\n\t<1530712550-18099-1-git-send-email-anoob.joseph@caviumnetworks.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-Originating-IP": "[115.113.156.2]",
        "X-ClientProxiedBy": "BM1PR0101CA0041.INDPRD01.PROD.OUTLOOK.COM\n\t(2603:1096:b00:1a::27) To BN7PR07MB4897.namprd07.prod.outlook.com\n\t(2603:10b6:406:ef::26)",
        "X-MS-PublicTrafficType": "Email",
        "X-MS-Office365-Filtering-Correlation-Id": "f95b35f8-bfc6-4733-25b2-08d5e1b5efa8",
        "X-Microsoft-Antispam": "UriScan:; BCL:0; PCL:0;\n\tRULEID:(7020095)(4652040)(8989117)(5600053)(711020)(4534165)(7168020)(4627221)(201703031133081)(201702281549075)(8990107)(2017052603328)(7153060)(7193020);\n\tSRVR:BN7PR07MB4897; ",
        "X-Microsoft-Exchange-Diagnostics": [
            "1; BN7PR07MB4897;\n\t3:wDeEZSqV/e6mte7Ac83BQeNbPTmte9s+MgvmZVmsQGyHAtxWbmWW9FwRXRBjWzsDKM9cZmEwJvZqHCHrcVdTT8rAF9wJskd1pQuqpzaJ16aIBVQKqRMWaIB8KOhkub/HIluLoSXPpbSIrjGyg+B28UCx6qWhksKxTAS1d6XOdzUTWfzndOQ9LUt2ke0Q95MwBqLZZZ+xFur2UEel45IKRS54K3feefTMdxtcKkQGwLJ74cuxc3dJuA8LHy+7fBkN;\n\t25:80YkHLkxb/xJCMaj1qFQH1w9nkwcKZHlJGHs553pPwG6kEwPQLmTzu7cHWmxvatzk5iJDVYDIEu//S6V2jQl7eaajVg+ZpZJ1CRbyYXkEdG3vtHoKP2kYWgILB5NXYNkOSwioHyfCS3pZfZuIm9dJ4Mf7Q3ot4FcqQT7d6xTsFLTAU4ecSyamyzJZWLvnuZB5e5PC577oTUgIi2hbSxUJMFbEFlvQm8a5J85ekIhbX6DqgxX4Pv3eDtAxJGIHR1SIJU4AfDid5bZkfOboS4YGQIGyuq8Rh4uFDsW5gnx7g72GDPa73sjCwWY1zXO0y3uFuNCr3HcqROJ5MV/DM+puw==;\n\t31:wculzIk1wpRjBo45OP2LGjwgPqSZ460ITc9DJaziLWz6cEcTvgws+bmK47cY5R6Uy81l19JykcfFhHqbh+xBHfOGHQtec8YTA21ZJSiXtMjm3y3j2PV434XiDMf6td9nnJUi00XIuN/aBVOsPZ6wkLVsHo1E0claBR53HX0lT5rOxTKd4vBiaT7UyEv4RLA5cUV6Bw4XPvvuYsoZ1lbSK0L38sjs0SFlhawOvVmpTCg=",
            "1; BN7PR07MB4897;\n\t20:0C8MgaDccAwGGc6E4q7neWoD4lrYRTlBwTLJms30KF/zgFizp6t8PRiZVMXKB8jAcxOzj2TFwHNqPoqQXOv9+dxMXPutC9uE3mxKt07mJjBtqYH0+YWQMM7YEPtOGTzdzxHHV4MOnVnvWIRU9FbVx+TeVodOC/pe0GBMrB108Wp+z6A2LxDzl6/Y28CwGimvs22jfYOO4mds5GD9LTTP6oLD9ibZK2VEgfwoaHs2hB9Jn6Iyn8RG3LiAbig5+hOIK4kOoODYoSVWeBHRUNge8rl+zUzrgiqnK/FPEwrXIDgtgjyV+35K/Q9ius3kVnJ0fdPRFdC7pEvD930fZKSLUNrlzrMkiZoUKsJ7Wt3EiWaJpmZAR1ZS8AKLIk/Wcwqk+n95RNflHwP043JN4dn+8OnK8AtKiJKBcR3g4L2NiE7IhB5Z5e294S7UACRxi0irUnzXEIa1aExnemNEYIX4Dri9d8e60joRpI38osPb8FmCl7DeKdDG6if9AE/yflLD4HQtvxfNwIx3ovJYiHLwamJ7y/q1oYhZ4wBXXI3/HgStb4z3UCQo3qL77BdRWo1JfrFAQDp23q/CFFk9EfQ8V2bp8TvO6JnAiWeX6SnGuNQ=;\n\t4:94p6adXfiF7vHKh7/biflF8Wuf143maLh4/WyEVl294ddkKhPtw0pS14UGM1HXCwT0VfZiOWjvNJ3CQ+Wc25WpSqGX8QWbm5+YRKjh04LTciBHK7XCsuCbFq9V64itdgSfzTNWgDy+66mA0nBhEwimMtO6cPK0T0xmCRjY7WN6fhjmrXT6x9ynjC1bcxXUnIsBaLAvvXaCpsp+2WxbY3zggBP+qd2DwRXicFgUKH6PCxfDXCIUU5f6Av3UG2ermuIMjpsjTRw0Q4U/iwlCXCRg==",
            "=?us-ascii?Q?1; BN7PR07MB4897;\n\t23:1Nj8hpacD4V4LXmC3aS1Vm/vqsG+axxPECkzEoBSS?=\n\t19OmeYcxfX+6UFJKD0DIGhIn1t3rHzb7fmcad/RqzD8h9JFjZS9P/n4CNBHDiNp9JBCarQgxK6r6V8MwM+We/aHRzXvUKp/qhkbodID2hL2Ft9Eq7SPsStLwWGEwaxoNnJkXNuKIiFNUATr8tBpP7gFsuQs6u59Fcx2IxRPY+ec0G++DAgYCx9mUsAa8jmsRJstcxUz31ZG6svydp9nYXaCu81EQkjtp1DRnufQ0L6rM0agDzmagN6uw5KA4K/k9fvkmzjaI+DQ6HFerxv8pPrtVDU3CNuusHAroAfzmGBPGz6Bl8AEjZFUUh/tsCa1F9M++AQwUVqzT2tELabDRp+910S+UZ4eNRbF0r9YSGjal9+RT8fScNXaJMC5KGE3oSSIj01FwJ4wPcTixZdcJME60HstVXAdDb9VjWk3KzLb25BDmUE2Rq/JnIZ8Z6QDe3zvuIhBh3+WIsCwm+4Azh394xyBX0PlnkRfPUO1adZl5DmxObSYI0JYGmA/cOTgznuOyr+fpp7de2k71Z8JaGzHugmwcCRPrnmySfenjxu/FKqab5wEEm01/2J4iwPJEMFBH4RGkI1lPnLnsv5QC6Ye471I0TTKGTvETdm2jEU22ZIIoDzavW1Ii1t5f7VZJAW06eBvDyWhPFy21RY++DuZ5DBOE6Ym7ZY9u8P49q+YyDwEYdmpKG4fVe3yc4LtlPhsGv/ig8LlT4RIjzb+mNoUvyS/RF8kLCSodmT/8UKdNvDsnNjd7nYUbRu/37CKJxBdGS0thcwvN9+63yavOx6jvnGDpWvz2wZCK7GGdNthQeYKpzUa/d41Sf8RO7p59BdbJMhxuVW8Z4zScocNrDK/oNqJMd2rmNAok//kdYD8P7i4SQpMoHjFPR/DKhK5hQcJvGYKFmzJi25I0Q/wqyOx+6HWJmcLO0liSIpvRLPk03zR7CWIRtktVVn6h+JRZ6OWd3xZqJz96MgLVW3bb0zRB4/LhWTfvewWSnPB2wwpK3neoQDztO01n6cEXyu9gzYulDGT9zwM9Sbrj0y6x081IFYdcoLbuejRiWSOPrUnqjYsubdQxjRVYibWmQqbrpyXASdFwYzApB2w1jCVNrmlXqKJqZ9Ox9ZwstFVp9ScHCP/jlvZBfLnAOTUEqbnYmtXizNRGZXnc7umRbQegGVusMIeJDxmOOJT1cSeZtywOehJGWC/QzD02ReJB0G3P2UwE+1uu3q5ry6c1EGAPF7U",
            "1; BN7PR07MB4897;\n\t6:j6csJj+JF1AfBoIguqKvmG+cmEtExResxWQD4h6UBcqN2Yw3FSjOQ+afTmvAWbdRouQefBTx8sdBFEzLppF8kKOiSEa5aCdJ4ybA1TqNG+mB/Qly7JpBgjhSBiejI/LnapkaKvZiJdlCz1oSWHZdkgdxxwGgZBB7lCNrbYT0+qU+DvGAGYav+uJO5WY9xPuwp90dnShq8GOwnpC9oo3h9vZVjEqBLgVeYeLw3rroBns8WJvxYV9zLvxCkhfiDiIOdImpPjUuJ2QM6SKunzYmuTJDcU2IvoTLeQIwNbNSG4OYPzUmA/6EXCM0ZlFuzxUArioQo6ZaQXQRwFbdTuS00eCvtG4zRqMI4kSvbbxd+Bn4cu4AlWSzCjX9ADAPwsnNBey/8qi0bL3hewrHC/44YFKiVFGG/yoT4XkiYuZbe+pm/FaxUEmGfob9nXi1YlTKP0MdgqafGOBaokNmGHYylA==;\n\t5:ouOEW//pNvB73TGYRSXyXuFtdEIlXAnA7SiJpV0MFYxGlUFt6qFW7i+El96fG0eEJruxBSkAQaO+Ph57Q9yKPQerCzniCgCJg4C8FP0Wh2NYkI2mvuU20WLYctGYuYDMzpmj5sjqbWnp1x7mg8V0bvGN8UkL/RpFKVNdVBdpEXo=;\n\t24:4JEGEnY11E5ZhaBJbY1FeVhkw6lxOeR2KlPV4LfLxnPrTCK9+jSOCDYIVG88cHp7kDPEeqxlB//fclBj10Bje5SFPf9oKTbfqXNGrhl+etg=",
            "1; BN7PR07MB4897;\n\t7:HzZxlKITXh2PdO+wVGXNwC3t5EswkhHV0Ez598MsnfKWDXSxZ7cmHdWInenxeSXNuvtZ7G7gH6v+rHrV2YU7yU8bvpGonhX0mIU9fnJlBa6YVfqQ2nqH1s0xO5NNV/3nS4CeAojLl5k5EJ9vAemWNmAR+09ALukuByUKVg32GILPY0z8zEATu/Ceb+x+/3vltctFdDhakuYi4K35YeNyFgg3KIP+tROaNh8TACU9L/WT9fTKDUHbv+DE/Fr/HZkM"
        ],
        "X-MS-TrafficTypeDiagnostic": "BN7PR07MB4897:",
        "X-Microsoft-Antispam-PRVS": "<BN7PR07MB4897944D41B30331371D52FCF8410@BN7PR07MB4897.namprd07.prod.outlook.com>",
        "X-Exchange-Antispam-Report-Test": "UriScan:;",
        "X-MS-Exchange-SenderADCheck": "1",
        "X-Exchange-Antispam-Report-CFA-Test": "BCL:0; PCL:0;\n\tRULEID:(8211001083)(6040522)(2401047)(8121501046)(5005006)(10201501046)(3002001)(93006095)(3231254)(944501410)(52105095)(149027)(150027)(6041310)(20161123560045)(20161123558120)(20161123564045)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123562045)(6072148)(201708071742011)(7699016);\n\tSRVR:BN7PR07MB4897; BCL:0; PCL:0; RULEID:; SRVR:BN7PR07MB4897; ",
        "X-Forefront-PRVS": "0723A02764",
        "X-Forefront-Antispam-Report": "SFV:NSPM;\n\tSFS:(10009020)(376002)(346002)(396003)(39850400004)(366004)(136003)(199004)(189003)(316002)(6512007)(11346002)(110136005)(16526019)(54906003)(478600001)(6116002)(2616005)(4326008)(956004)(53936002)(72206003)(186003)(3846002)(486006)(47776003)(25786009)(446003)(26005)(66066001)(16586007)(105586002)(44832011)(476003)(106356001)(2906002)(50226002)(55236004)(42882007)(8936002)(52116002)(51416003)(6486002)(76176011)(97736004)(48376002)(50466002)(68736007)(5660300001)(7736002)(386003)(8676002)(6666003)(81156014)(81166006)(6506007)(36756003)(14444005)(305945005);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:BN7PR07MB4897;\n\tH:ajoseph83.caveonetworks.com.caveonetworks.com; FPR:; SPF:None;\n\tLANG:en; PTR:InfoNoRecords; A:1; MX:1; ",
        "Received-SPF": "None (protection.outlook.com: cavium.com does not designate\n\tpermitted sender hosts)",
        "X-Microsoft-Antispam-Message-Info": "3Q+jTa9LL9YyMKAZgylP1NNqxZRgB7Q15P2cybku+QjPtjTzmorE5YpAIRg6gEt651GbonwHJHrV9ewg5YdlgjPtgS/735Q1y6/k3S/6rVEcyW2acxrSrBan0tiiZ48rGEJzwCSGc/EjWNt6/ggaxmxVPe4OnGljVZfUmr4de+UsNJkhg0x2rdTUR1C/2UsIyAU02FJGSVpJb232txnXA4bDLMudNwesg0BkFIv1Evijl5owHGhR7LK/919aAG7ZvxDmutSxiQ9/PDFtSiT+ab+9Q4CttzECksG2HYgavO7Waykd5jHfM2+s0q6r2IplaLnIjQ8nAkTpysnPao3aSxvjekLgVxBZG2b8sngQxjk=",
        "SpamDiagnosticOutput": "1:99",
        "SpamDiagnosticMetadata": "NSPM",
        "X-OriginatorOrg": "caviumnetworks.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "04 Jul 2018 13:56:24.7112\n\t(UTC)",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "f95b35f8-bfc6-4733-25b2-08d5e1b5efa8",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted",
        "X-MS-Exchange-CrossTenant-Id": "711e4ccf-2e9b-4bcf-a551-4094005b6194",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "BN7PR07MB4897",
        "Subject": "[dpdk-dev] [PATCH v1 2/3] app/crypto-perf: honour cryptodev's min\n\theadroom/tailroom",
        "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\t<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\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "Crypto dev would specify its headroom and tailroom requirement and the\napplication is expected to honour this while creating buffers.\n\nSigned-off-by: Anoob Joseph <anoob.joseph@caviumnetworks.com>\n---\nv1:\n* Accomodated the name change of new fields\n\n app/test-crypto-perf/cperf_options.h     |  2 ++\n app/test-crypto-perf/cperf_test_common.c | 33 +++++++++++++++++++++-----------\n app/test-crypto-perf/main.c              | 17 ++++++++++++++++\n 3 files changed, 41 insertions(+), 11 deletions(-)",
    "diff": "diff --git a/app/test-crypto-perf/cperf_options.h b/app/test-crypto-perf/cperf_options.h\nindex 350ad7e..f5bf03c 100644\n--- a/app/test-crypto-perf/cperf_options.h\n+++ b/app/test-crypto-perf/cperf_options.h\n@@ -76,6 +76,8 @@ struct cperf_options {\n \n \tuint32_t pool_sz;\n \tuint32_t total_ops;\n+\tuint32_t headroom_sz;\n+\tuint32_t tailroom_sz;\n \tuint32_t segment_sz;\n \tuint32_t test_buffer_size;\n \tuint32_t *imix_buffer_sizes;\ndiff --git a/app/test-crypto-perf/cperf_test_common.c b/app/test-crypto-perf/cperf_test_common.c\nindex 423782c..e803dc1 100644\n--- a/app/test-crypto-perf/cperf_test_common.c\n+++ b/app/test-crypto-perf/cperf_test_common.c\n@@ -11,12 +11,15 @@ struct obj_params {\n \tuint32_t src_buf_offset;\n \tuint32_t dst_buf_offset;\n \tuint16_t segment_sz;\n+\tuint16_t headroom_sz;\n+\tuint16_t data_len;\n \tuint16_t segments_nb;\n };\n \n static void\n fill_single_seg_mbuf(struct rte_mbuf *m, struct rte_mempool *mp,\n-\t\tvoid *obj, uint32_t mbuf_offset, uint16_t segment_sz)\n+\t\tvoid *obj, uint32_t mbuf_offset, uint16_t segment_sz,\n+\t\tuint16_t headroom, uint16_t data_len)\n {\n \tuint32_t mbuf_hdr_size = sizeof(struct rte_mbuf);\n \n@@ -26,10 +29,10 @@ fill_single_seg_mbuf(struct rte_mbuf *m, struct rte_mempool *mp,\n \tm->buf_iova = rte_mempool_virt2iova(obj) +\n \t\tmbuf_offset + mbuf_hdr_size;\n \tm->buf_len = segment_sz;\n-\tm->data_len = segment_sz;\n+\tm->data_len = data_len;\n \n-\t/* No headroom needed for the buffer */\n-\tm->data_off = 0;\n+\t/* Use headroom specified for the buffer */\n+\tm->data_off = headroom;\n \n \t/* init some constant fields */\n \tm->pool = mp;\n@@ -42,7 +45,7 @@ fill_single_seg_mbuf(struct rte_mbuf *m, struct rte_mempool *mp,\n static void\n fill_multi_seg_mbuf(struct rte_mbuf *m, struct rte_mempool *mp,\n \t\tvoid *obj, uint32_t mbuf_offset, uint16_t segment_sz,\n-\t\tuint16_t segments_nb)\n+\t\tuint16_t headroom, uint16_t data_len, uint16_t segments_nb)\n {\n \tuint16_t mbuf_hdr_size = sizeof(struct rte_mbuf);\n \tuint16_t remaining_segments = segments_nb;\n@@ -57,10 +60,10 @@ fill_multi_seg_mbuf(struct rte_mbuf *m, struct rte_mempool *mp,\n \t\tm->buf_iova = next_seg_phys_addr;\n \t\tnext_seg_phys_addr += mbuf_hdr_size + segment_sz;\n \t\tm->buf_len = segment_sz;\n-\t\tm->data_len = segment_sz;\n+\t\tm->data_len = data_len;\n \n-\t\t/* No headroom needed for the buffer */\n-\t\tm->data_off = 0;\n+\t\t/* Use headroom specified for the buffer */\n+\t\tm->data_off = headroom;\n \n \t\t/* init some constant fields */\n \t\tm->pool = mp;\n@@ -99,10 +102,12 @@ mempool_obj_init(struct rte_mempool *mp,\n \top->sym->m_src = m;\n \tif (params->segments_nb == 1)\n \t\tfill_single_seg_mbuf(m, mp, obj, params->src_buf_offset,\n-\t\t\t\tparams->segment_sz);\n+\t\t\t\tparams->segment_sz, params->headroom_sz,\n+\t\t\t\tparams->data_len);\n \telse\n \t\tfill_multi_seg_mbuf(m, mp, obj, params->src_buf_offset,\n-\t\t\t\tparams->segment_sz, params->segments_nb);\n+\t\t\t\tparams->segment_sz, params->headroom_sz,\n+\t\t\t\tparams->data_len, params->segments_nb);\n \n \n \t/* Set destination buffer */\n@@ -110,7 +115,8 @@ mempool_obj_init(struct rte_mempool *mp,\n \t\tm = (struct rte_mbuf *) ((uint8_t *) obj +\n \t\t\t\tparams->dst_buf_offset);\n \t\tfill_single_seg_mbuf(m, mp, obj, params->dst_buf_offset,\n-\t\t\t\tparams->segment_sz);\n+\t\t\t\tparams->segment_sz, params->headroom_sz,\n+\t\t\t\tparams->data_len);\n \t\top->sym->m_dst = m;\n \t} else\n \t\top->sym->m_dst = NULL;\n@@ -172,6 +178,11 @@ cperf_alloc_common_memory(const struct cperf_options *options,\n \n \tstruct obj_params params = {\n \t\t.segment_sz = options->segment_sz,\n+\t\t.headroom_sz = options->headroom_sz,\n+\t\t/* Data len = segment size - (headroom + tailroom) */\n+\t\t.data_len = options->segment_sz -\n+\t\t\t    options->headroom_sz -\n+\t\t\t    options->tailroom_sz,\n \t\t.segments_nb = segments_nb,\n \t\t.src_buf_offset = crypto_op_total_size_padded,\n \t\t.dst_buf_offset = 0\ndiff --git a/app/test-crypto-perf/main.c b/app/test-crypto-perf/main.c\nindex 4ae1439..2c46525 100644\n--- a/app/test-crypto-perf/main.c\n+++ b/app/test-crypto-perf/main.c\n@@ -149,6 +149,23 @@ cperf_initialize_cryptodev(struct cperf_options *opts, uint8_t *enabled_cdevs,\n \t\t\t.nb_descriptors = opts->nb_descriptors\n \t\t};\n \n+\t\t/**\n+\t\t * Device info specifies the min headroom and tailroom\n+\t\t * requirement for the crypto PMD. This need to be honoured\n+\t\t * by the application, while creating mbuf.\n+\t\t */\n+\t\tif (opts->headroom_sz < cdev_info.min_mbuf_headroom_req) {\n+\t\t\t/* Update headroom */\n+\t\t\topts->headroom_sz = cdev_info.min_mbuf_headroom_req;\n+\t\t}\n+\t\tif (opts->tailroom_sz < cdev_info.min_mbuf_tailroom_req) {\n+\t\t\t/* Update tailroom */\n+\t\t\topts->tailroom_sz = cdev_info.min_mbuf_tailroom_req;\n+\t\t}\n+\n+\t\t/* Update segment size to include headroom & tailroom */\n+\t\topts->segment_sz += (opts->headroom_sz + opts->tailroom_sz);\n+\n \t\tif (session_pool_socket[socket_id] == NULL) {\n \t\t\tchar mp_name[RTE_MEMPOOL_NAMESIZE];\n \t\t\tstruct rte_mempool *sess_mp;\n",
    "prefixes": [
        "v1",
        "2/3"
    ]
}