get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 40915,
    "url": "http://patches.dpdk.org/api/patches/40915/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/1528478659-15859-16-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": "<1528478659-15859-16-git-send-email-anoob.joseph@caviumnetworks.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1528478659-15859-16-git-send-email-anoob.joseph@caviumnetworks.com",
    "date": "2018-06-08T17:24:14",
    "name": "[dpdk-dev,15/20] eventdev: add default conf for event port-lcore link",
    "commit_ref": null,
    "pull_url": null,
    "state": "changes-requested",
    "archived": true,
    "hash": "c8a62733015e317be1a57e25a8b55c10e4d828cc",
    "submitter": {
        "id": 893,
        "url": "http://patches.dpdk.org/api/people/893/?format=api",
        "name": "Anoob Joseph",
        "email": "anoob.joseph@caviumnetworks.com"
    },
    "delegate": {
        "id": 310,
        "url": "http://patches.dpdk.org/api/users/310/?format=api",
        "username": "jerin",
        "first_name": "Jerin",
        "last_name": "Jacob",
        "email": "jerinj@marvell.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/1528478659-15859-16-git-send-email-anoob.joseph@caviumnetworks.com/mbox/",
    "series": [
        {
            "id": 61,
            "url": "http://patches.dpdk.org/api/series/61/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=61",
            "date": "2018-06-08T17:23:59",
            "name": "add eventmode helper functions",
            "version": 1,
            "mbox": "http://patches.dpdk.org/series/61/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/40915/comments/",
    "check": "fail",
    "checks": "http://patches.dpdk.org/api/patches/40915/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 5ADF46904;\n\tFri,  8 Jun 2018 19:25:54 +0200 (CEST)",
            "from NAM03-BY2-obe.outbound.protection.outlook.com\n\t(mail-by2nam03on0083.outbound.protection.outlook.com [104.47.42.83])\n\tby dpdk.org (Postfix) with ESMTP id 7D5411D080\n\tfor <dev@dpdk.org>; Fri,  8 Jun 2018 19:25:52 +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:48 +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=22MD7jH5Iu1YHBs65tMYGIwS0Rl3u6jzmJPCZWHr5JE=;\n\tb=Fz0ibpmqfPGI9htok0wD7CzAKL6GbfM9FuNOkx4uKlqk0gL1anpOP0sZ7RoHRGAzzowBm7VnVpw60vEGOZDsxNlYR6rtJzjC+DwoYQzaAcLzXMf9DRMwKVn2bJR9t1nTYsEjykItXWLpjpNIuFXLtTke8kMJDee1CFZj4Ld+Xfo=",
        "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:14 +0530",
        "Message-Id": "<1528478659-15859-16-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:wTGYG0qM+7Qg+3eLvq4INq4nB+JUUa+YYMGVY1at4k9BkB8gtooK7+7IrMPGTUZ/a3HlyVnlzBVbpfsXXYE7wA25dANcmOov53qz1y8QYn4/W2T6GVEmInEbAAbK4iLMyNxQZhhYzizQiNonRjyVykFyxEd4q2dfNxXiJkYXb4DvDy6BBnzOTdrlsCXz0QFBCRwABeUY3U/sWg83G5W2MqXsN0CCf7g36W5uGrd329TyUJziLyNNuqryHAoBi8jL;\n\t25:sCUueyZ+7H2ZwKyKXFjIva/YeYQLo2j2a5JB3iTNst3CUUp2f1bw4ugDU8c1bwBD10oCDa3Ga64JPfbO01oCP/XhEL31Q5nS3NKyTPOtdetYmv1cTZN0/WvTrQC6+vtGZ3EZwJ6j78LwB+5YJNsqQwfww3PCcMh/c+7IWGpYbyoT92UdH3BMLd4C143EVLlaH5Z+ZiSAUi7Dh70C/ChzK3ymXkCpBXYMaH8mJckPfWbt0C2L11ByUL8cCK+/RtpN9vMBo9USSR/xx6jMj+FW5mpfKrOTCuyH/QUZ39M+AOtNlq32emXRQrRK835Wqc9wXdA646xY+rhoaxCwQKEfDw==;\n\t31:9wjr4XEyCrMJ1+f0/Jbdxd7svrPtAvJkBwbYxYdAHrPlZt6fhIrFd28wmbyMHYpGCjs+ITZDfhaKtwuvcrPwoDeTURdK8IfU0NNIl6GuYEbKswXn0cJCfn4U2JmxqYpMQi7yOE8Zofm7POKcz3ptzHsSMv/fSrEWgYol9mugMDb6XoqDqy64EvBN/TjiHPKRFP7jzY30WTK8JUDkM08n/iZe71B/0bspfUCTz/nqBrk=",
            "1; DM6PR07MB4906;\n\t20:3R5CFw7elT5nh4XdjubgIz1u4Usy1j0IjSWP1UgjCIw1+J64QfvVp+Ffie5E289BPTS5d+Lse0NXNmCgjCvC/PBoChyb8HX2UuEZp7QtMmybf5LbwtbSDdOa6P1MMPMF6mstVlfO0VysYnUh5tnSYfX9B9fcraPXkCtaahdB8jJNlQzsT/ewCrG8AvBQtVcMPMH9OiXCejDR2CPYCN1CXh0DeBwLbfUtwRtUiZvIYtBN9HSlsShAW3I+k3cESk6np06HrawWweF1Qml4cvitGpC056R7eqLCNCe6hqqr+0WaYJBMtAKU/G+dRIHj8ticloRMYLJJ00MwjUoPLpUBOHnjU+aQ6coG1S7ghw0JVi3UyegShlSSI5ZvA4iyUZ/fwLi49jvuP4ushfrF9A5FM8z9WTueoolEzWbV93lLklOuqzrFCR9jG3KCG/Pb9O/ofzBZ1eZh7MbREyr9f7MH+nHPjtXIAmtBMPGeOCXdWhLq+i28kL/Cp5gvyvVLM3MS010yi6ERLtDz8GuGYeGZaXYdSmLVj+RObqH1tO1uX/lNg53ePPtDKUcZ26VQfU0fXMcFCJ+k85ATL4LbmS3QMXPcVV9dKZJAmtd91cqmSJs=;\n\t4:S0+y3iQ8RO7FiJklbneVZ200W521N1FJuuvj+stabupV9tU8iKFGxYojIgEVUoYIt5r9tzesxtmi0upb+g003I8zO9IYVUvvPX6iRgMTZkDcTH3nCSPbGkmI7+ziYOQZh5SInvaupntbf+k4yIy9EEpYpwP9J9+jDEXRZcQGSDEgB6V8ZeFVRDJ7gsb1l+LnGiQ/ohd+FoIexM4GmDiA2i6TdthETtgIm1NPzSYreq/uWpYiO9xvsbU442x8RVx37vWSnr6r4Npc5PeQTfrB4g==",
            "=?us-ascii?Q?1; DM6PR07MB4906;\n\t23:7xYjGHOISTibKvHqSbAsUjsUZFTT7z1tepcqYDvGM?=\n\tnkA1GWXTLMC722qFIL/UrxW8j5WlJdquuUqQquvCXReqLLPvNzC5dbyLerxHVlPKMLyp71bGVEi6t+SIwWIQva//knCUKKpYwBaywPLiE7uGHLC+uiHxPorroFs6yRdTolkVIHVwCNriKPVwL4SArKK7uezwFL1culR71qMssTLEVpgWZ81Dh4f2c1UdKH9nff497rL/5TuPgEmZkTPV0+i8lajZbnuBqIJdFNGY71uvP6R+UtsesXd3hvXphq8KOyzG74FilaGTDLG4P3Tc4NWmvphDm3nqKaY7rR1115llTCqJxzdLgLbzTsmx6T1UXbXCH11cVPRIke0b7eaSUyCkyHT9jMhdS/bMZ54elqCRdhEiNv3mt7kyt79TidyYt6n+sUVlRWfyBg8r2sUX0euSEUW8nzhg3TsvrKnLgRS2ewD2uZA0/Rs5kgUN0larXsJIi6osIuvbN6fdPOjmWrz/nrbzFcbFM+nfSAy5Iux0hMIcoU+2cH0F0u1mL4vqiCU8dgoMReVzFEgy/p3uJ473J8NdVLEOpLsAdyfLZt9syAcY3qXuofvjzSC/higCCLT4gL/fYP7owoI1V1p9zkPDl9y+d/HU1xW7kFJnCnPgh+2vrXj+TRXNRI0yxNZRAYWcYezxaqanCu+kBJWltEWq4MdKdLrhRi7+SFb8m7hLEuJ1Fv9jQbjoSWfeMAt9d3Ce0e9SGhoXD90QDJZ+ylSgeymSgOYmuBkx9Jq3onq72i3iZKrDzykKqPQnmL3FEPNEP7e07+/piW6FvMAAZiYMo/Nbydx9JXzBnzQZk3+MqHFL0NAuQ/L1enlbGyqczmSGSehFuD/a9uDSg+46/KDkepjZvKa5X59ZZJ9M58yQaNWgnMVWTdN+tpDlLOIiVO+bZShbknGZqgKa+/wtL8XKXxWjwTtOiGiyVVub8x4JSBcvyM9Q0TIP1PKLFDdj6lBd5UOf73cyyYiPBckSVh8HWO1UC6PHpuk9ySPNDkD34xErvPoy3AKglw1DCknXDGeJzfYbtYURk3AEmyqI+TFb9M4zpD19vKlVlP06E8aU8hc7WwkDv/DBkW76/ZtyvwnoqDZVdgMjEHOI/O2r82lR5xEax5r35sv7cYKUtiNtuthyzCAnjb8wqxwC/9O1v3MlW+o0b/2+sORX9EQji2ypGTKgbkwgTI7XObOUd0mBTJgJP/BJ81DNFiKy9SQM6+s1+qFS3tOpQVQx2k+ActLBDSBIspEZZQCZ0wQ8wnHaHOn+FyNAA5KUVp2GLWY+RY=",
            "1; DM6PR07MB4906;\n\t6:cFX9R69oy+aee2Q+eaxwzzAxurs50kXVuonpQ+Tc84vkZNsZMnnnWMUzFSG8K3wFc4m6lwfXg7HPKtziQj3CtrMEWUD/FJihCDksUha0h5noYPFZ/v26YTB00Q+Y9GO2MMxRD6tXJWLcVgKMXD7fTB+EKLQoitN7PK3hHfU02qlTrxx7SWGUWpJTGbABWIM+6Fo1Nxzkah2hZDxG9DfnYnj13SC69FWh7iitkp7ODucXuCoQxZyd+96Gydo8bLchm6mVob4q16EbO1NTbQTbJJoWG9NdPEU0YtqoJBVPLIULsBrNpBz6+Rx3C4rVpOXbvgvTOVdSpa8GZAgUGp6q5tHwai2jTLVmjfDM+ijXB+CZzYvKA67uWwo3cpNbRsG3xRXY3uqtcKYUQsG5YprL15rtEiqiyR2TuzOxTsvV8yaiIPl25rf7Spm07e+n0cPb9dlDkg8CdwIhYvuNPKZ5Wg==;\n\t5:PnczIlpl+nPO/+pNJ6RsA855OJCT/zmILwTsDpGkE2iJUtG346irhlG5qYCzKOY2YqdGbEOGZBFbH/r53dNvMo4vSJcNVZHvy6xrtoSDK5HnbwPiAmXrRxguXMcst96tOkasATcYkNxUdwnuY4QMwknDnSHukDjE4EmlMzjJNy0=;\n\t24:Ek5UD5KmFtyQBffz2AdAqPRE8miwlCUtiWXuOD70Of6c7p72cnTxfHl0HU3i7q0EKtF1mig4mt84R5A95IjfJXMLo1ZlMn5xLcmw0wJSnI4=",
            "1; DM6PR07MB4906;\n\t7:V68KzoNnG33hsdXqizuDB+hbtxFudBOxgluY74mLzutyUF1S2As93oZUUb4XH+IvsnmR+NKeW/vnU/6TBHYn3/pgZTciMAos91FH2Ghg+vBKIMAKqTmsZ5enUYuopj+InlE4nsZcNEf45wW93z9B1XDR3JjswLSU7ga5Va+Q4DU21Gr2Us72P7aHE1hm97B92cmMQGlPShbXwci0fBM4zIJN5TboGI6aGzj8BMOIhDAQurF1HUY/vc2LYXUQULsh"
        ],
        "X-MS-TrafficTypeDiagnostic": "DM6PR07MB4906:",
        "X-Microsoft-Antispam-PRVS": "<DM6PR07MB49064789BE62CE0E3D286C48F87B0@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": "4p3Dv+4VwpfjsF6XqPBexeI9COQ8RYdYmGKTi9TF1Fa98kbRzBH6Jv6S/NomrpHqi3cNaNnN5pv7LRd4c3sb2nWXKu/tyIxzsIicwOw4c1hXz5HFEjrzhoxB+8M4gIYiU4Yb3vPCD6VLcPkzC708OvaizT9G7Iry0y+2WJkEowg/5cYuPVh1FopAMuaPyBhB",
        "SpamDiagnosticOutput": "1:99",
        "SpamDiagnosticMetadata": "NSPM",
        "X-MS-Office365-Filtering-Correlation-Id": "8a276f14-b8f5-4991-89c6-08d5cd64e1c8",
        "X-OriginatorOrg": "caviumnetworks.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "08 Jun 2018 17:25:48.2951\n\t(UTC)",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "8a276f14-b8f5-4991-89c6-08d5cd64e1c8",
        "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 15/20] eventdev: add default conf for event\n\tport-lcore link",
        "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": "Generate a default conf for event port-lcore link, if not specified in\nthe conf. This routine will check the number of available ports and then\ncreate links according to the number of cores available.\n\nThis patch also adds a new entry in the eventmode conf to denote that\nall queues is to be linked with every port. This enables one core to\nreceive packets from every port.\n\nSigned-off-by: Anoob Joseph <anoob.joseph@caviumnetworks.com>\n---\n lib/librte_eventdev/rte_eventmode_helper.c         | 109 ++++++++++++++++++++-\n .../rte_eventmode_helper_internal.h                |   5 +\n 2 files changed, 113 insertions(+), 1 deletion(-)",
    "diff": "diff --git a/lib/librte_eventdev/rte_eventmode_helper.c b/lib/librte_eventdev/rte_eventmode_helper.c\nindex bec893c..6bdd64c 100644\n--- a/lib/librte_eventdev/rte_eventmode_helper.c\n+++ b/lib/librte_eventdev/rte_eventmode_helper.c\n@@ -87,6 +87,28 @@ internal_get_next_rx_core(struct eventmode_conf *em_conf, unsigned prev_core)\n \treturn next_core;\n }\n \n+static inline unsigned\n+internal_get_next_active_core(struct eventmode_conf *em_conf,\n+\t\tunsigned prev_core)\n+{\n+\tunsigned next_core;\n+\n+get_next_core:\n+\t/* Get the next core */\n+\tnext_core = rte_get_next_lcore(prev_core, 0, 0);\n+\n+\t/* Check if we have reached max lcores */\n+\tif (next_core == RTE_MAX_LCORE)\n+\t\treturn next_core;\n+\n+\t/* Some cores would be reserved as rx cores. Skip them */\n+\tif (em_conf->rx_core_mask & (1 << next_core)) {\n+\t\tprev_core = next_core;\n+\t\tgoto get_next_core;\n+\t}\n+\n+\treturn next_core;\n+}\n \n /* Global functions */\n \n@@ -367,6 +389,74 @@ rte_eventmode_helper_set_default_conf_adapter(struct eventmode_conf *em_conf)\n }\n \n static int\n+rte_eventmode_helper_set_default_conf_link(struct eventmode_conf *em_conf)\n+{\n+\tint i, j;\n+\tstruct eventdev_params *eventdev_config;\n+\tunsigned lcore_id = -1;\n+\tint link_index;\n+\tstruct rte_eventmode_helper_event_link_info *link;\n+\n+\t/*\n+\t * Create a 1:1 mapping from event ports to cores. If the number\n+\t * of event ports is lesser than the cores, some cores won't\n+\t * execute worker. If event ports are more, then some ports won't\n+\t * be used.\n+\t *\n+\t */\n+\n+\t/*\n+\t * The event queue-port mapping is done according to the link. Since\n+\t * we are falling back to the default link conf, enabling\n+\t * \"all_ev_queue_to_ev_port\" mode flag. This will map all queues to the\n+\t * port.\n+\t */\n+\tem_conf->ext_params.all_ev_queue_to_ev_port = 1;\n+\n+\tfor (i = 0; i < em_conf->nb_eventdev; i++) {\n+\n+\t\t/* Get event dev conf */\n+\t\teventdev_config = &(em_conf->eventdev_config[i]);\n+\n+\t\t/* Loop through the ports */\n+\t\tfor (j = 0; j < eventdev_config->nb_eventport; j++) {\n+\n+\t\t\t/* Get next active core id */\n+\t\t\tlcore_id = internal_get_next_active_core(em_conf,\n+\t\t\t\t\tlcore_id);\n+\n+\t\t\tif (lcore_id == RTE_MAX_LCORE) {\n+\t\t\t\t/* Reached max cores */\n+\t\t\t\treturn 0;\n+\t\t\t}\n+\n+\t\t\t/* Save the current combination as one link */\n+\n+\t\t\t/* Get the index */\n+\t\t\tlink_index = em_conf->nb_link;\n+\n+\t\t\t/* Get the corresponding link */\n+\t\t\tlink = &(em_conf->link[link_index]);\n+\n+\t\t\t/* Save link */\n+\t\t\tlink->eventdev_id = eventdev_config->eventdev_id;\n+\t\t\tlink->event_portid = j;\n+\t\t\tlink->lcore_id = lcore_id;\n+\n+\t\t\t/*\n+\t\t\t * Not setting eventq_id as by default all queues\n+\t\t\t * need to be mapped to the port, and is controlled\n+\t\t\t * by the operating mode.\n+\t\t\t */\n+\n+\t\t\t/* Update number of links */\n+\t\t\tem_conf->nb_link++;\n+\t\t}\n+\t}\n+\treturn 0;\n+}\n+\n+static int\n rte_eventmode_helper_validate_conf(struct eventmode_conf *em_conf)\n {\n \tint ret;\n@@ -396,6 +486,16 @@ rte_eventmode_helper_validate_conf(struct eventmode_conf *em_conf)\n \t\t\treturn ret;\n \t}\n \n+\t/*\n+\t * See if links are specified. Else generate a default conf for\n+\t * the event ports used.\n+\t */\n+\tif (em_conf->nb_link == 0) {\n+\t\tret = rte_eventmode_helper_set_default_conf_link(em_conf);\n+\t\tif (ret != 0)\n+\t\t\treturn ret;\n+\t}\n+\n \treturn 0;\n }\n \n@@ -523,7 +623,14 @@ rte_eventmode_helper_initialize_eventdev(struct eventmode_conf *em_conf)\n \t\t/* Get event dev ID */\n \t\teventdev_id = link->eventdev_id;\n \n-\t\tqueue = &(link->eventq_id);\n+\t\t/*\n+\t\t * If \"all_ev_queue_to_ev_port\" params flag is selected, all\n+\t\t * queues need to be mapped to the port.\n+\t\t */\n+\t\tif (em_conf->ext_params.all_ev_queue_to_ev_port)\n+\t\t\tqueue = NULL;\n+\t\telse\n+\t\t\tqueue = &(link->eventq_id);\n \n \t\t/* Link queue to port */\n \t\tret = rte_event_port_link(eventdev_id, link->event_portid,\ndiff --git a/lib/librte_eventdev/rte_eventmode_helper_internal.h b/lib/librte_eventdev/rte_eventmode_helper_internal.h\nindex 9db9684..3a4e52f 100644\n--- a/lib/librte_eventdev/rte_eventmode_helper_internal.h\n+++ b/lib/librte_eventdev/rte_eventmode_helper_internal.h\n@@ -93,6 +93,11 @@ struct eventmode_conf {\n \t\t/**< Stage 1 schedule type */\n \t\t\tuint64_t s2_sched_type\t\t\t: 2;\n \t\t/**< Stage 2 schedule type */\n+\t\t\tuint64_t all_ev_queue_to_ev_port\t: 1;\n+\t\t/**<\n+\t\t * When enabled, all event queues need to be mapped to\n+\t\t * each event port\n+\t\t */\n \t\t};\n \t\tuint64_t u64;\n \t} ext_params;\n",
    "prefixes": [
        "dpdk-dev",
        "15/20"
    ]
}