get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 40917,
    "url": "http://patchwork.dpdk.org/api/patches/40917/?format=api",
    "web_url": "http://patchwork.dpdk.org/project/dpdk/patch/1528478659-15859-18-git-send-email-anoob.joseph@caviumnetworks.com/",
    "project": {
        "id": 1,
        "url": "http://patchwork.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": "<1528478659-15859-18-git-send-email-anoob.joseph@caviumnetworks.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1528478659-15859-18-git-send-email-anoob.joseph@caviumnetworks.com",
    "date": "2018-06-08T17:24:16",
    "name": "[dpdk-dev,17/20] eventdev: add routine to access eventmode link info",
    "commit_ref": null,
    "pull_url": null,
    "state": "changes-requested",
    "archived": true,
    "hash": "837275fa5030e4b33108e5ce697fb64c3f882b4b",
    "submitter": {
        "id": 893,
        "url": "http://patchwork.dpdk.org/api/people/893/?format=api",
        "name": "Anoob Joseph",
        "email": "anoob.joseph@caviumnetworks.com"
    },
    "delegate": {
        "id": 310,
        "url": "http://patchwork.dpdk.org/api/users/310/?format=api",
        "username": "jerin",
        "first_name": "Jerin",
        "last_name": "Jacob",
        "email": "jerinj@marvell.com"
    },
    "mbox": "http://patchwork.dpdk.org/project/dpdk/patch/1528478659-15859-18-git-send-email-anoob.joseph@caviumnetworks.com/mbox/",
    "series": [
        {
            "id": 61,
            "url": "http://patchwork.dpdk.org/api/series/61/?format=api",
            "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=61",
            "date": "2018-06-08T17:23:59",
            "name": "add eventmode helper functions",
            "version": 1,
            "mbox": "http://patchwork.dpdk.org/series/61/mbox/"
        }
    ],
    "comments": "http://patchwork.dpdk.org/api/patches/40917/comments/",
    "check": "fail",
    "checks": "http://patchwork.dpdk.org/api/patches/40917/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 7DF6E1D08B;\n\tFri,  8 Jun 2018 19:26:00 +0200 (CEST)",
            "from NAM03-BY2-obe.outbound.protection.outlook.com\n\t(mail-by2nam03on0084.outbound.protection.outlook.com [104.47.42.84])\n\tby dpdk.org (Postfix) with ESMTP id 569051D08C\n\tfor <dev@dpdk.org>; Fri,  8 Jun 2018 19:25:59 +0200 (CEST)",
            "from ajoseph83.caveonetworks.com.caveonetworks.com (115.113.156.2)\n\tby DM6PR07MB4906.namprd07.prod.outlook.com (2603:10b6:5:a3::11)\n\twith Microsoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.841.17;\n\tFri, 8 Jun 2018 17:25:55 +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=Al+romWSU0PjNM3jC0WIhNA5Dsbx8Ja3Qki3pKpFY00=;\n\tb=AZXRxT2IA9089A9YE/ukp8Zs9n3iP9+Tm3IzIZZVhIwlrs05rb9JlvYAPVo6WpCMJI2EzoW4RQSLx3HUUMbWXmkCzMmwpEdzlQ1RRHSZEsB7K25JQdvrylmseTejrbhR+Sn6NdS95uJk8BK7+buAeJsykv52NJ3JheJ6oiu/thc=",
        "Authentication-Results": "spf=none (sender IP is )\n\tsmtp.mailfrom=Anoob.Joseph@cavium.com; ",
        "From": "Anoob Joseph <anoob.joseph@caviumnetworks.com>",
        "To": "Bruce Richardson <bruce.richardson@intel.com>,\n\tJerin Jacob <jerin.jacob@caviumnetworks.com>,\n\tPablo de Lara <pablo.de.lara.guarch@intel.com>",
        "Cc": "Anoob Joseph <anoob.joseph@caviumnetworks.com>,\n\tHemant Agrawal <hemant.agrawal@nxp.com>,\n\tNarayana Prasad <narayanaprasad.athreya@caviumnetworks.com>,\n\tNikhil Rao <nikhil.rao@intel.com>,\n\tPavan Nikhilesh <pbhagavatula@caviumnetworks.com>,\n\tSunil Kumar Kori <sunil.kori@nxp.com>, dev@dpdk.org",
        "Date": "Fri,  8 Jun 2018 22:54:16 +0530",
        "Message-Id": "<1528478659-15859-18-git-send-email-anoob.joseph@caviumnetworks.com>",
        "X-Mailer": "git-send-email 2.7.4",
        "In-Reply-To": "<1528478659-15859-1-git-send-email-anoob.joseph@caviumnetworks.com>",
        "References": "<1528478659-15859-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": "BM1PR0101CA0050.INDPRD01.PROD.OUTLOOK.COM\n\t(2603:1096:b00:19::12) To DM6PR07MB4906.namprd07.prod.outlook.com\n\t(2603:10b6:5:a3::11)",
        "X-MS-PublicTrafficType": "Email",
        "X-Microsoft-Antispam": "UriScan:; BCL:0; PCL:0;\n\tRULEID:(7020095)(4652020)(5600026)(4534165)(7168020)(4627221)(201703031133081)(201702281549075)(2017052603328)(7153060)(7193020);\n\tSRVR:DM6PR07MB4906; ",
        "X-Microsoft-Exchange-Diagnostics": [
            "1; DM6PR07MB4906;\n\t3:rnEEwQs0r5IQ5P6XtGbwB0vvMbzAEhiAq6Ip1uMLghZCX4U6HU20XnLIkLNcr+xglEwhaNQVlvY/UGPLK+fx75yKR8u8QTfROiMsJxBYRJuGpk60eag28jxHsa489+K1GqQMuG9KTpyyM+tmO/hhkO8kjoK8auDQiquapSbiwMuKbRpy/WNUicmUT66w4j43vJjVdQevuBn/ZT5BlxC/OCIj6giCAwTOQxt/W8qbMtdusGv8MlCLwrP1fSuZOyd7;\n\t25:3Tc8BMei3tsNd33zrcHeOlrKQBUH0jONKjnurdv/QiZ2TnXb8g0zzGyHKEbgtjjfWaK1NL2n7ROiO9AjIlnMgCgkDfM9/mM2REneulcZTgir4eJHU5ip1MS+mDQVMLawXNdxsHPrQ7gO79IbSWb/g/TiqjQ+gzRo+WKNL8i2OYm3qW7+wyUWX3Wt6ezh5auTpx+DqLevxKbD1XbSfdeaemkXL4NWwGnSJqRoRqca8HbPN74caA0Zxad9RrEbp27X8kNV07vkkZHgf5ExRGT2BAEibeEIby/MMDWRx12M6OxnBQhydDVSmUGCWxHWBrrtSk6+Dlfyq1d7dFN6tKTFLw==;\n\t31:aI73P4a8hwCukHz8RjzIA4XiwqJT/UAX40cDByq799RZhuz/q7XhH1O1NFiruI4HOVMhqTNI4pDyBdKqIzHf7e99TPX2SQo7hY0d5ZuW4fsvwsawowZ58IYL8OKO+o5QcyBi2cmr+ig5dfKTa0z/ADL/YGqZgS1UwE4Nz9Wowx54ADdpxRHvfyJalMR3JXXwrKCHjUTZuQcUTHFlZLf02F15UxI70zR7yUStDr9BxQg=",
            "1; DM6PR07MB4906;\n\t20:MW3PFbqQb8dLaTXBMIsb+tMgOOZjpqQgEY9+VRvTkKMxuDwmS8XQXfVS9atAdtvZA0N3I4h7bla8IQZ7xaI5pYf4b6cp8ZHGcK2HfhNsIWTkW2905atcgrsv0EBweJwECkpbEefT+tRCG7Kx+5EvGcZl9N7jcnyDQ0DyGoKr9jceLtopK5307wDF3lF4d+PTDVZ2hYjCbj3znA2m+5Mfw7289LD5DSbOg4lRvviZhTZbugrqhExkazCj8Eu9mK0/K6dDYoTkW/TLwqvOXE2HZkIISPnBz0FEfnCS8EHscPlw7uYNPibDfLxoP9kCAHo00RwqdP6e/39NyWF+hf7T1LzeWUkqceudXi+8fGrdNJgbZW8tclEqsKZ/oFO6SeBzUkut+RTjaUjbjdXoEIHwzmJtVqgdl/qzFlq8AEE4Tu5n8zOPqbjKexhSGcDr6LmF6OkJrSdf5hiJU3lnG453iDgx6xkbExwwNrhIscLLgQTQx1kga13IvvWXxT6YIGZzDd159eRtd/R5UlYpj+5QfFYAzjmm+zYxC+pcIUfYzRjGrsAIutMDQZ/pNTYiQzK2CzaC5L6uj5v6i+jjWasD//P+AN7FZQTHUseugSo46OE=;\n\t4:MGxnRNDRqHTkDe83ccfVvmbebwO7/kQU1HQs3He7rMYjmbeAx1Vn0yw3C/9HrBOVpoXKHGdvdpjoYPr5ZoQqXID45Rup3Lmd8TS5A9eH2pv0Iq8MFswxz3uZpTSWRp3sJzPy1rzy/ZgvUOo2Yr2KxLfUDnpyqrouYZCe2Iwjc1GyoF/2DeyKHynBRckg81UZWsKmzxN/V21mcFU5BE8GDenel9aUSv2/fVV3HzjKbMdupdrGvwMJZZ/OErEor1Q3j+BD6xcwBbUn7iRfB2T9Yw==",
            "=?us-ascii?Q?1; DM6PR07MB4906;\n\t23:4yjlphURVRwxJW6zkb7jEx9o8Y/jWxIhLwDMGCEXv?=\n\tRhSWNfMW2uOudBgh7fKTtRT5TA3YqtE44RqaCZVT7/vwUr62L3ZiQlXD6mddWBpXkbEv2DneLDKScQdj1i1uPa0PTG47pAz+lfMTCZCHgXfDL+ptQT/JceFZLH6jVkn+MdzCxuaKRUjSy6jPlZ7N8u4SKii5nXo20hnQdYw5nMuFEd0SbmPOjIILR+azpYzLbeACCOQe9U4ZFFcGJ7s1vrC8KLek4FCpJpMqJnWOSzR/PgI88d9wd7FJ7yisR76O32WAUFiXmifdbu2Le5kOUfHfIa8QPzh3x7WP2jsbAR/qG6ID4VJQWHCGnbIHeODe2kGDZAufu8tUJdW3zGPYPz5aWq2pty0MO3bwu+zOptmbc4+tyc3ouePM61+h1LrnTme60qfWFHOYFC2h+H+BZoFIBuVusQ82YNOshet48Tad3wEPwOc6/7jiZXaLnGIfkkQyuNGOiknU9zDUkFmIfJ0lHbTgzccIhxYC3Y1Z3FBfOZI88eoN4o4M3qidkrvLgybvByZgpwtTD1aY9WFZAp5GOYHLddMVJu/4BOtqALSClpd95oMb2kZGDQbl2Hgfl5skkw7Pg/ocVvQHcf/aah7QDDTmzVnrhdoi5+fAwQJ9pSLbXefzfqyZqxCjGCB3w8kpfKvq6YdnGDTPYBmoD9DhfPMVyItu3po4NYIu410/TB6BaIFHpjY5YXftZP01PDWJQndXW8s6mlYSp9ioLBaWBBt+kZ0gNlRPepuzjBfoct7NlLp4L99Rks7EXHwECBm7zaK0njBUYgqBsSN/VxBpOdFUbejWcwhQaNn1h6ROTSkWaJXGO6BhGTc9cLy88Rn3C702AuLNqMRST/4k5H9tPdVp1B77o7+PMLz6jDVpxz3Rkj2lh87Q9bg1scWNokNwnbLsKjxibTtp0YAMWDqIM7fvLHBHEsimoC2EH3XEv1quJ1zf+lGFDrIneiwdYdUNm/7YYxg8odHJooqTt67dQEYjyNYWMH2kHtJixJguO+cYjmXU2ZlS213JdkYZoFNV5Akes1mYQOatUpB5L8A7YU+en6WvwV9UtZqXgM40OswZ46TBVVoFc9Cs9LgUVRHjUjto+oqtXLajCcnjTzIYmC7P6QsQuNzk1+LBdnIlDSUibtywCpp+bUW5kedHbw7xplpZ5HLXa3TDkXMa3Sk96u0Gg0sobqt2aCvjl8vtjGuoIJM1lVrHvirGGdaXy5NGima7sas3JnowwyeN8aC7pcRYvAqBzcJHZ96RohlXDFkWKryBTL6CUmcXWlNMkQ=",
            "1; DM6PR07MB4906;\n\t6:S5X4yWTsS7yECKC3J4NG6fBdoPbC/+Fo2Wi5uJvLD+9puOOzPkQdrn2bLaBeM9stnr1qDsrjJm0xnfHf9iCpvG5IeqJrvM+7qfIYN8XeS1ZOscUutpwuvtK44nyHUCEsVJlwArJu+M5pWXHMCw+3DuF35iJSoQq4Ce21+MJQl5iWYQyLjUgTWBpcwd0g6AixtHPFAEeGt2/ikm8W8AWFl8Ea7yJWYzdUf/J7ulbXBXxWJhIGxoEEo/2k7zCp+1aBkFDV7UwYbXsjGHMgytAREpQXxRNKKT9DWwBplMZ7IPDWJ/9xv3wDhP5u5Fx++IFouY5dq9pPM9o2pzJmugjB1RnqSpJnL8mhMDh6ujpk/chMSFdbFUd/p+BFNpQ7xbUIZhhDzdeaFBT3pUIB3hXY3xMlq/9VFZ/gB02nRW/sZfbIk9MHMnRuqwUUsKCt3sXoZ0PL6Lkyd4KNz8O/LdI0pQ==;\n\t5:weW5xQZ88dS2bneSsnTlcXFgxJbTBQfflrexJ4dGeMuTwe1fVwokK3q8mZCFjtwXloiSNn5Rf53o07cAsy03/0ru1awOKuTqFZb399t4uYtdyh/6I/VQegn7jpwkkUr3g6Kkx2QolDmydyrJxD5C8b70miaIrxzbKyFIsW0cTGI=;\n\t24:kAR4jqYbAcz+1Lpx1FPwTiPnp6pbWuWTxYiccYTZ+CGIGZlY1JphtzJKR6at3OQepZYb4bVWpcPo8A+7UtcNtsP/difHOJU0Xu1yxXvfc0M=",
            "1; DM6PR07MB4906;\n\t7:yHIriGrZ4rldRYAOvJoN2FVBxEkeJzoEa6kDMi5nGfDnkEztDV1htV1OFrj8sIKubFRIoy5FX9V332Mi6a1RCVV7jIcZ+VuYPmS6meO6u8Offx4+WhOWA/q4VfIuwcHLQySG9DNplnMsFURRfsBPbDNhCihvWlZo4uZFaFqkTjS0ofOZqoK4tKxyvTdEM3YCwapGgG7ikXkjz3NstkQ2ZDPYycsZv689iP8Yfq2GS+Llyns0YZSLELalfmfEaNly"
        ],
        "X-MS-TrafficTypeDiagnostic": "DM6PR07MB4906:",
        "X-Microsoft-Antispam-PRVS": "<DM6PR07MB4906D4BA97F29B75045B1FB2F87B0@DM6PR07MB4906.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)(5005006)(8121501046)(93006095)(3231254)(944501410)(52105095)(10201501046)(3002001)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123564045)(20161123560045)(20161123562045)(20161123558120)(6072148)(201708071742011)(7699016);\n\tSRVR:DM6PR07MB4906; BCL:0; PCL:0; RULEID:; SRVR:DM6PR07MB4906; ",
        "X-Forefront-PRVS": "06973FFAD3",
        "X-Forefront-Antispam-Report": "SFV:NSPM;\n\tSFS:(10009020)(39860400002)(346002)(366004)(376002)(396003)(39380400002)(189003)(199004)(186003)(16526019)(5660300001)(26005)(42882007)(55236004)(66066001)(47776003)(68736007)(6666003)(305945005)(2906002)(8676002)(7736002)(8936002)(36756003)(52116002)(2616005)(956004)(476003)(446003)(50226002)(81166006)(11346002)(44832011)(6506007)(386003)(486006)(59450400001)(76176011)(51416003)(48376002)(50466002)(97736004)(316002)(6512007)(25786009)(53936002)(6486002)(81156014)(4326008)(3846002)(6116002)(16586007)(54906003)(110136005)(105586002)(106356001)(72206003)(478600001)(8656006);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:DM6PR07MB4906;\n\tH:ajoseph83.caveonetworks.com.caveonetworks.com; FPR:; SPF:None;\n\tLANG:en; PTR:InfoNoRecords; MX:1; A:1; ",
        "Received-SPF": "None (protection.outlook.com: cavium.com does not designate\n\tpermitted sender hosts)",
        "X-Microsoft-Antispam-Message-Info": "rnpsXmbRKtOrOae63vwIeoyQ8LIQ4EpP2X8nndKCHYyBDeg/F341hanl/AcXrLRPN64IPlszJkSQPcH7dwSW55mlFh4o0Oz6eJtZdI1WRYAnDkyeDVnxQcwfnnaON5BoNH/rMhmT1Vn5j3n5FCZKtTY/L+rUB53lXvxxJ+5K7km2ihJyDqQKKjCJ0DoDbfBS",
        "SpamDiagnosticOutput": "1:99",
        "SpamDiagnosticMetadata": "NSPM",
        "X-MS-Office365-Filtering-Correlation-Id": "6a2b8156-a985-47ee-49ad-08d5cd64e5d3",
        "X-OriginatorOrg": "caviumnetworks.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "08 Jun 2018 17:25:55.1233\n\t(UTC)",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "6a2b8156-a985-47ee-49ad-08d5cd64e5d3",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted",
        "X-MS-Exchange-CrossTenant-Id": "711e4ccf-2e9b-4bcf-a551-4094005b6194",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "DM6PR07MB4906",
        "Subject": "[dpdk-dev] [PATCH 17/20] eventdev: add routine to access eventmode\n\tlink 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://dpdk.org/ml/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://dpdk.org/ml/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://dpdk.org/ml/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "When the application is drafted for single stage eventmode, it will be\nefficient to have the loop in the application space, rather than passing\nit on to the helper. But application would need to have info on the\nlinks to be able to do that efficiently. This function exposes the links\nto that application.\n\nSigned-off-by: Anoob Joseph <anoob.joseph@caviumnetworks.com>\n---\n lib/librte_eventdev/rte_eventmode_helper.c | 80 ++++++++++++++++++++++++++++++\n lib/librte_eventdev/rte_eventmode_helper.h | 25 ++++++++++\n 2 files changed, 105 insertions(+)",
    "diff": "diff --git a/lib/librte_eventdev/rte_eventmode_helper.c b/lib/librte_eventdev/rte_eventmode_helper.c\nindex 82cc6d3..7827ea6 100644\n--- a/lib/librte_eventdev/rte_eventmode_helper.c\n+++ b/lib/librte_eventdev/rte_eventmode_helper.c\n@@ -877,3 +877,83 @@ rte_eventmode_helper_initialize_devs(\n \n \treturn 0;\n }\n+\n+/* Helper functions for eventmode workers */\n+\n+uint8_t\n+rte_eventmode_helper_get_event_lcore_links(uint32_t lcore_id,\n+\t\tstruct rte_eventmode_helper_conf *mode_conf,\n+\t\tstruct rte_eventmode_helper_event_link_info **links)\n+{\n+\tint i;\n+\tint index = 0;\n+\tuint8_t lcore_nb_link = 0;\n+\tstruct rte_eventmode_helper_event_link_info *link;\n+\tstruct rte_eventmode_helper_event_link_info *link_cache;\n+\tstruct eventmode_conf *em_conf = NULL;\n+\tsize_t cache_size;\n+\tsize_t single_link_size;\n+\n+\tif (mode_conf == NULL || links == NULL) {\n+\t\tRTE_EM_HLPR_LOG_ERR(\"Invalid args\");\n+\t\treturn 0;\n+\t}\n+\n+\t/* Get eventmode conf */\n+\tem_conf = (struct eventmode_conf *)(mode_conf->mode_params);\n+\n+\tif (em_conf == NULL) {\n+\t\tRTE_EM_HLPR_LOG_ERR(\"Invalid event mode conf\");\n+\t\treturn 0;\n+\t}\n+\n+\t/* Get the number of links registered */\n+\tfor (i = 0; i < em_conf->nb_link; i++) {\n+\n+\t\t/* Get link */\n+\t\tlink = &(em_conf->link[i]);\n+\n+\t\t/* Check if we have link intended for this lcore */\n+\t\tif (link->lcore_id == lcore_id) {\n+\n+\t\t\t/* Update the number of links for this core */\n+\t\t\tlcore_nb_link++;\n+\n+\t\t}\n+\t}\n+\n+\t/* Compute size of one entry to be copied */\n+\tsingle_link_size = sizeof(struct rte_eventmode_helper_event_link_info);\n+\n+\t/* Compute size of the buffer required */\n+\tcache_size = lcore_nb_link *\n+\t\t\tsizeof(struct rte_eventmode_helper_event_link_info);\n+\n+\t/* Allocate memory for caching the links */\n+\tlink_cache = rte_zmalloc(\"eventmode-event-lcore-links\", cache_size,\n+\t\t\tRTE_CACHE_LINE_SIZE);\n+\n+\t/* Get the number of links registered */\n+\tfor (i = 0; i < em_conf->nb_link; i++) {\n+\n+\t\t/* Get link */\n+\t\tlink = &(em_conf->link[i]);\n+\n+\t\t/* Check if we have link intended for this lcore */\n+\t\tif (link->lcore_id == lcore_id) {\n+\n+\t\t\t/* Cache the link */\n+\t\t\tmemcpy(&link_cache[index], link, single_link_size);\n+\n+\t\t\t/* Update index */\n+\t\t\tindex++;\n+\t\t}\n+\t}\n+\n+\t/* Update the links for application to use the cached links */\n+\t*links = link_cache;\n+\n+\t/* Return the number of cached links */\n+\treturn lcore_nb_link;\n+}\n+\ndiff --git a/lib/librte_eventdev/rte_eventmode_helper.h b/lib/librte_eventdev/rte_eventmode_helper.h\nindex c1676e3..1d8af44 100644\n--- a/lib/librte_eventdev/rte_eventmode_helper.h\n+++ b/lib/librte_eventdev/rte_eventmode_helper.h\n@@ -107,4 +107,29 @@ rte_eventmode_helper_initialize_devs(\n void\n rte_eventmode_helper_display_conf(struct rte_eventmode_helper_conf *mode_conf);\n \n+/**\n+ * Get event dev - lcore links\n+ *\n+ * When the application is doing single stage execution, the execution loop\n+ * will be in the application. So the application would need the info on which\n+ * event port need to be polled by an lcore etc. This helper function would\n+ * help the application in doing so. The 'links' would point to the memory\n+ * allocated for the links list, and the application should release this, once\n+ * the use is over.\n+ *\n+ * @param lcore_id\n+ *   ID of the lcore for which the links list need to be populated\n+ * @param mode_conf\n+ *   Configuration of the mode in which app is doing packet handling\n+ * @param links\n+ *   Used to pass the pointer of the memory allocated by the helper to the\n+ *   application\n+ * @return\n+ *   Number of links found for the lcore\n+ */\n+uint8_t\n+rte_eventmode_helper_get_event_lcore_links(uint32_t lcore_id,\n+\t\tstruct rte_eventmode_helper_conf *mode_conf,\n+\t\tstruct rte_eventmode_helper_event_link_info **links);\n+\n #endif /* _RTE_EVENTMODE_HELPER_H_ */\n",
    "prefixes": [
        "dpdk-dev",
        "17/20"
    ]
}