From patchwork Mon Jul 3 19:13:41 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerin Jacob X-Patchwork-Id: 26257 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id A61017CD6; Mon, 3 Jul 2017 21:15:36 +0200 (CEST) Received: from NAM02-BL2-obe.outbound.protection.outlook.com (mail-bl2nam02on0053.outbound.protection.outlook.com [104.47.38.53]) by dpdk.org (Postfix) with ESMTP id 25C977CC4 for ; Mon, 3 Jul 2017 21:15:31 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=b/7deAU1oj1z5MgkFnmQimvaGo5w481Bn2FYiOCXSIE=; b=D10S32QIb3skNTnnMQyPdn/7Eoegh7lhSOfNjVb/QdWwMN/E1ir9pkl9J6pP5zNjd2cfQAQ869scH8TNEnhlJKq99WNJCcjxLiryNKwHiMs2GVfsyQuFDDMwkxlk0EqophDsaj4yHqa09KOv4S4trt0RtKOHhyutaDbhBtl2hDc= Authentication-Results: dpdk.org; dkim=none (message not signed) header.d=none;dpdk.org; dmarc=none action=none header.from=caviumnetworks.com; Received: from jerin.domain.name (111.93.218.67) by BLUPR0701MB1716.namprd07.prod.outlook.com (10.163.85.142) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1220.11; Mon, 3 Jul 2017 19:15:27 +0000 From: Jerin Jacob To: dev@dpdk.org Cc: harry.van.haaren@intel.com, bruce.richardson@intel.com, hemant.agrawal@nxp.com, gage.eads@intel.com, nipun.gupta@nxp.com, narender.vangati@intel.com, nikhil.rao@intel.com, gprathyusha@caviumnetworks.com, Jerin Jacob Date: Tue, 4 Jul 2017 00:43:41 +0530 Message-Id: <20170703191402.3638-14-jerin.jacob@caviumnetworks.com> X-Mailer: git-send-email 2.13.2 In-Reply-To: <20170703191402.3638-1-jerin.jacob@caviumnetworks.com> References: <20170528195854.6064-1-jerin.jacob@caviumnetworks.com> <20170703191402.3638-1-jerin.jacob@caviumnetworks.com> MIME-Version: 1.0 X-Originating-IP: [111.93.218.67] X-ClientProxiedBy: PN1PR01CA0103.INDPRD01.PROD.OUTLOOK.COM (10.174.144.19) To BLUPR0701MB1716.namprd07.prod.outlook.com (10.163.85.142) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: c3d4fe5d-55b0-4f40-0e44-08d4c247def7 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(300000503095)(300135400095)(201703131423075)(201703031133081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:BLUPR0701MB1716; X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1716; 3:N1L/C1HkCJglF51MIDMhWOVexwbuIy40v9y4tV+E1t53TP962bwxwXy/ZZhMM/qpMikAEbA0K4D7j6qmDDyylkYq1gKUMgvaqT0C3JQXXZ2CyXKLw6H+oGwjPiVYj0L2SHry/gF72hdpGdq5wNev6F1vuGf35wsCGQVDTvcvY5BTfRJuAasV37S7PkNxbfN5NYxTPBTUiBVJsxxhHSzhi0QFrJGmFBu4cZH/CEwrbNX2AhxoHwdQaoQrm7LXa8BODlxmnyNUzSNzFOCIi74Tsc7PK+jgYy3iRiES0LRMXDxCZHti5/14JR+HJ2sTzq+d43UziwCMYOAD/QFVSqfm/D4hxrSxrYWNPGnHm99J9aw0vDe7fu8mRHh+fIqhJt2GSRWO1RvlAHlT4U4FV5qAw64GKowma8P8pUtJNZeBFl9JwGuZbSAenz9acag1bVodxMnc0mhKVGLcnW3844IuiZm71Z+Dp0RxiU+TYePYCkxw0tldMo3p7LS8VXTXHDBPgQxNi2RyxwU0QzlIXrWZA2DFS0Gka3o8SO/Y1tbgxSgqd/sdLF3NQJpDTUbd6uGKk6gjId+cId7Kg59eZuDev/pyNgmGyk38HJVV/tMUigeiPCMkjne9mmEWAChrUilbPHjFPRBo758a8O1+cFWYGLddlYemCOk4LTC7dAIxF4vhYkELGrwElUVo5LixuozJeTpV1c3rKkp6MNUfoVeWrzK9no9Rgme1+QfbvsV8T9ruyph+X90sjTtcG4DKrHUg X-MS-TrafficTypeDiagnostic: BLUPR0701MB1716: X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1716; 25:q6RvKDoAcBEr0QNz263Y84q7OgMge/O+oJOgvw4wAltrBEOn/nM1SZsRwyVIY6wx3M0zpfsUy+x8AHrlS50NZHt0r6xIgJ7b2UZZDagFzNCeSKL4DSG+aGbFDt7lzbz76Qd+NbVK0mXFRIIgcbZrL8MTmNWnORUfTSisAyIgAeUbrqQWKR1Z8INKVh/q1nXPx8cTUBEjJz+EWt/EQDRvJQ1DK59bK1e76Nug38x8NqT1Bn3setGsAnlpj+Hi2ilD5JfPT2q1hbUAetbN/OhMfzOMkPgQ4wI8UjkoJD88KbAMHuLuU2MhF7r8BBwtBkyIdEm/qnveILpyNuTtNBQ1xOTFiIpthcnUW/EGfZGfbV4RSxzP7iJAEsJiHBvEIQzUqD/Q5X21it9PTHSPt1pzXkPD+elO0GdaCThUq0kpniRvy72Bi5H5fp3irEWVvk8kqdSVJ3tS2vpSNT2F7t78JDcSYDF54a4OGVGIyN8E4Hji1O0jf/yUm01r9xoWx1icfVXmwi7me12vek/zPaXYBJs5XOMJVBMx2LzoQNIxfbjc6jcoyMsghFc5uy3s2LpQaBlaQCjlANRcXfdJfh1F1w79mik9l0x6CfTKSyUKOUF3DKJEy5/hJu/ZEArqEVIIAJlVomwjB6ivUrud5U3ucsvEFpzOJfkHGUaRMfR6rK/kKDPVWIYzk2QNh2TCspbTbkkGJmjV/lB+3MpMDjP0hH0hbWWVKBECKA92G1g81jf6GQXLhLs4Cg17Y8NtOfDBve1L5iKpZFyhgVICveQinRF0Vj5t1rljUKAGmsTTmCAH/J4V8b1/JlnOfVHTCX7UkItMJr6iSla4tK9jdPTIV9wcM9OviJpbGgyPJFPF2BykSSgP4X3HhL9dXnRfjkZfByz4eNdyJvqc4xJUxSocQlIpeD8u6KZVsu9Djv3dIew= X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1716; 31:okOoupq7kzEzJpoIFt845e1RiCc6on6RCH4Wp/kNI/1AjHmcaV0xpFG542ojhOH6oKiuvy8nlCAOLMt/xW/X9R5AFIzmG4BeforDA/cJvFV2HLzeL/fU9D1IAOA8z18VObv1ti26KMHmrg2LCxUUWBxRI3hVZ7IvfuikAkonKIcWEQEEGicskkWgOTkZE4QbaXVMTExiVk67CN+rJeClE9KMWk2FRtaPFfdUe1L1vY3J1iLUhSwO8HTIXyi4d1hdSRuRSacpoMeaJQQxuV7FlpXqGVbGbY7mU1QplLUvXgJ3Q0jhbUK5RbTKUI2zWbUnjMBKk5DX/ysLR9kD/f+Nkqb60RChVkciTlWUPA/wo9xuam3i62rJGXNTLyre5qj0u+u0eMqfvMvZ3XGK/b8lJOstC65LPVIDlVaWS+oshZdSnTXw2OAqpnb8aXGME5NAy7jqo+ESTDq6hXOTkCqSLZ48mPl/XMdwfAzb6g/1xxpw/GIuetNh5gHlYLI/6W7sZL150u6rMPw3d3XBjl0mZ4qjxV9wZPRwYOefXBFdFL56bMMYrZNdIgt9KUN3mhJ3VRQY8RVBQDtGPXgX1PszVDtDqgpmefA7+6SFoJEb+5Vfr48ZyulgtU4Mwc5aGlvRDx2j7vztQFjYsxMQXZvh2VdrfDuiXbblnK8vBHRkGd0= X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1716; 20:Yle1rCZGRxQiZuluP7nb8YfUrgAHwB694WLTPWg12oZmiVGpjq951/+O9S8jLqIS8xX6jMgb1KzGMM0D1lOB+eSTjgIUVYB9cw0riB710k6EtNM7gvE8xT2E1Y/jfykT5pVF/xaya3r5AxX/WnzRYIhRBK4zLZ0Z4Fik+0grQoOh5M5bLaqNpNo5KAVGRy3nUKhBueuutygVdcSYflCp5VfMkDLY781GOTD3OkiuOXGel4Imano7lM7aOXWrk+ZWhxpa2ztTHHKEd5VjaCT3VBmWTtDY5DSo4XOQAG2s0d05PZbWemgI9FNMJCoEZNKXqWrkpcSdfKmowrvYBAeIu01oFBO4g1tQIzxO9mp2f948iwmlcWcjBvcE0vrNd70uBqfPTSmAdiMMQTsZzZ+LDiUVh6bTs6DExYw3IFMsVu+w9SIVSOurKE8fXEqWDO35+m06LsZjkUGOA6RVCvLVzmbnzVBpWPua+28oydkgJom3xvosLA4hG9veANnwpPzF2vYCm5lq1m4/jh4dkI+sCCKysh3oGy8foRLVHd7deC8MGFFF/OkU9RnuruL8LdH2mzqg/wYWyeYAQwnUuO2qEryoh5qifbuv0Np26Ty0vuA= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(236129657087228)(228905959029699)(247924648384137); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(93006095)(3002001)(10201501046)(100000703101)(100105400095)(6041248)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(20161123560025)(20161123555025)(20161123564025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:BLUPR0701MB1716; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:BLUPR0701MB1716; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BLUPR0701MB1716; 4:UJJjzeYLRVDDFm6YGxFhg596JtPGIoWRZgy0eAvC?= EX8IHCS77y4EVZUiYtQeb4D4k3QepSuXSX7rEblB9FYbIIZeUucH28iRj82Sf3EsxCrynaWIq3Jp1NujI5i+2/8qhRa6lypF9mo3JR7+dNZFRGB57vnc4ALG7pZM+tc0dyyaIPbvxYcM8blgm5ey71+bJB6KnmbfKqRoIodGcrgbF8s7TmSvVw0MUtDtapVECzjzpfZFNBtmO+kfPiNnbE6b4v37sO15OLtP9Z9CluVnBB02zfwnvjxBpnpEifJx+3vjpsWiIPaS2rMTrZ2no8X2lKsQne+3j9CVRGksmKhERawM6Ertg0crankbUEBEtj2lCwkIkpoJAlysQoeP/JRX+tGrnK4qThUdKxAVKIoeoo2xmdFoHMK/TVSfJkryihPMhkzyBgzryvh/vsTHX/sHC/ZHlcOBq7OYTmcQGsCaP75k1CRE2PeFnuPXa/YpVK0D67ZfmSltQf/wbhllHptgwQ7KAW4wIcfEBY3kJWeyCqTwb3ciMSOMtCwrs8mhsv6+tmhxGhWNCcI0bG+k6pD1ytgkb7dzAdT/16bFCuv0mwhFRG7a/Q4LesTMJ3g70tYNEK+tTs4tp24N+l3xs6qAgsnQIpcSOVUUGLnUhSUePfDshDK/f1TsZRP9z12SDWhemqsEAGVyr93SBDyPQ9oDc+95XSfaCmautaVNLqA1PwA4r5dyGRpc+HfaP6OL83fO9HzGDdTNhvILZKoV5Ah7DM0AWO0p57Xq7Gvjktc09VsXB/Rtrcw8rh04e47hqPzACipSXC3QeY1NGQJo7MiIwzQJShLliNwOfRB1B7rdsxaKeibO8yVkdg7yL+Yx3DKF5pqPL9VdoqKfeeTqPq+mz3MojE8NIhi7Hh2+NJqu5wx3vcCabcLPVyLeuI/ZqL9u8mxcIzKRJVtHyjPlGJnrYSX3POqav2XXlbnqciqa3qEFb8ye1SlN3W/Wkt8GBOIy25/omeo3rpLmfyAgjCZJZ/A8SdYrNBsMQYUwIHo4Y/B810oQ98KI3ve6l6CM0z0IOir8nyAG6KTARjVF2ZSCeWpHrOMdsi2/1xv3LFvIjgS2ZK4e2Deg25pTV2TJ7ph258aJ2xhHBHZIbEMJaWJ2wTX3928sAULaBAAzhX4xVvuTcfZ1QmGUX0roAc5HxtGQ0FWcjsDBGq4Fm4dbrXnDU30bwkcrzbnH5fjpZ6Z7NGkzO7yKLFMqCB4GM+nsOWM= X-Forefront-PRVS: 035748864E X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(39850400002)(39840400002)(39400400002)(39410400002)(39450400003)(7736002)(478600001)(575784001)(53416004)(72206003)(38730400002)(110136004)(107886003)(42186005)(8656002)(50986999)(76176999)(36756003)(6512007)(53936002)(4326008)(25786009)(5003940100001)(6916009)(42882006)(2950100002)(66066001)(5009440100003)(6666003)(2351001)(2361001)(6486002)(6116002)(189998001)(305945005)(33646002)(5660300001)(81166006)(8676002)(3846002)(47776003)(1076002)(2906002)(50466002)(48376002); DIR:OUT; SFP:1101; SCL:1; SRVR:BLUPR0701MB1716; H:jerin.domain.name; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BLUPR0701MB1716; 23:P5/wNCLwG0e8/VkjEs58K4q4SFHwiwMRMIb47w6?= cMkmNJbzz28LtNapOGlIgIS0noJcxiF8pAWHryWrm6Y39lrzgo+KrXMMyMv6Bc2W9X8dHpSIouUKwdhmkIl2pc7j2otYdBygVAgAveMykIqjCMMFKi7Ehkg9EIlFIbOkNK3nBdoxnnhpPVNWiAvFtas5LMwJb3im2claMwkYLd+31706rP8wa1CuYcSX4R19+auZu4vgdSeRnDFWXw68qTNeCBzWHuUrtObJos9vcza7jJT+wSefWBfk0eQjtUtOZsyvCvaiLXRwWYwBrwSIbH61lgkKZ8vYCiWxRSfWMQef5ewb8FwLP8RWFOnkJYhsbdrrBl3r33YlhVAgqcc4RLaWwP8Upm/DlS4vsyh07ZEQr3JCKl5tdV49+9kOCTzVka5cZ/MUyIanyIe59Kj41NgYUCFr2QclBWNQXchAuw6A2AbvWrxUFJcGN4lySJlovknmzQja/AX2j2W7Tnwq2HU2X3geU8SQX2ZogAE/VQBmgqcsfCcwr6tjdRTwm7yiH93DPPOm6+SHJWnDmW0VgBmRfPbWXcrPptiO2OCNFDtJ8o+peF5avv3vsU4nt2QVLHImWPBM0/FkFvMvihnUWgCmmjwSnkfWS0JbqOUm58uBWPQSEaGw9atae840lxCoXcYUyZEaLx9Urf/2kSHg2YN/NXQXGpCr2BF+5tjDkzh/LF0HhM1mm5WeO7+tg6VzrXn9M4vuw5h9a+V6zbF44H7ef/YhqeaowIUj0XDxOSJ0WyAZ9y9fQtIVOPJkqBVvnTfH8VpqF0E2pgEgARMYl//w2JGZjP8UBzSFk9gRiNxb8Je6P6U1VvC9NCcMsldjrk3byqXTfLZ96OGQLcsmMowqSlK26enRyMF6gLf3sH/CBjwOoNMXZoKYaKogIwTsDeHPI468Q/n4V0bidHF6DYVam8kD2m0W6rmg3lAuDNbe+gJD/6+RxJYhA6fym4dwdsMsLpOG1Pe5YBGd81D6h6IJbuPdBy56v3AmOrRncXxSPMh1bYqfy6Aa4i8VO2Gy6DPnm/vxfsQsHt6xHMHqxvN5fimG2epXMbkAyfwbqOVyob4bmeDCGbLc3abqjRRndkwxhFs7ibv1cvFCvO/2ayXUfDtLBGp695PRju/4nIi/kT0RVt1M9bnVZXO8K3xLLB1s= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BLUPR0701MB1716; 6:U83ap0Iios6R4FAkwOUte3jTIcWhxD8W0+pfqXrB?= mCFFoV6Xekx+HyUEzy4lwf6r0bok7vleOV1oqoQ99syMPj7ZcCPxejekpXW79zIqDh9yZyVdBULezLjPZpBl2qhEenBoParfQ5xxn1xnU+arVALKHBRoV8scwjx6kuKIp8ewNsfLWb5KxPglkmM+9uPqa6WDYCNnlXqvH2QQnHc6Z54yZATSoooHa9iLZcwEqGCdsnyc2whb20g4kxMAdgYjhXJDmHu6fKOKFnQWiG3jO+PrEiiLvHiAuA0+ChdWadDnFIUyvQ0pkWo7xPBTTp44rzCCWTRWgMMqw4c8AE0lExsu+UDU7VLYm1twNJNCQ/mLx4j1OF7wczD1xuCU+ejIZrc9f3evjRQtAZHfC2ggYRBJjnSN4Gly/GdMLW22WNSA25tL8NHYn6MkmXODNGgH8Sc58PI6/Ap7Z9qkDXtvgURjhBH91lGd7omPOUXVgAFnxB2jdFTF7NF5wgapHGIaXk3kfMABWjfuvPbkSFkcqmAkUKylPt9NOm/LX9y3mgfEHcw1P0wVhAREkNBkpU12VOEGvdAp4puMthaJMZcxcsQ/e68kpC98z/UAwwd/p+u6OXrvNRtBSk9LZLn/Ol0OY6MttXacKUBlA6myXNN9Nzz0OveIbg7xeAKjOMGrHIXDWL/sSSqKJ41ewcR9I4AiOoONGW+0qPbDoXhrU4pKpR3zhc6RVMwRxT1dp89+3Z1JbiWwCbONiL+ZNnUKzQJrreZnGO1IcNg7kcH1QCJRKTVYAObLHSCA7Ok25t45BmhF3HrNalji5OuHKJ/tXlDRSpbPRMscBTT301WUZNVjPNJ6GSpeBR0QE/Uv03BRjGsRgrUFJ4XzDDPpy0UjgDRJpayngbuP0J1z1Y4BFDLRt7ANdfuRIJrDJMmDm74c2l0Y63hHi6Rlu6+MkeQnKLUu79QLWAurEMCqrHiIWV49IfKag4aTiaHnGZN+7Cuh+3A= X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1716; 5:+ibpeeBZgetmIjnFwzZMTELxrpKFGyO2EM31stHWq5PDQUX6EubzX5XWTXqOnhvIwDbIU3o6FGA+aoMohL/qgijFPqDvnPG7zmHqpacgAp9DyoN/v7lpCCnFFh4u6VYa/B1gsThFQcbemYMCv715Lp1P7sRKnCPEk0UFdWpnc5q86Zvj2i/LMIKQy/OU8igHhXXvB+Ot8/9tN3x2iv5IsUyoFdFH54ZaasvStYfBXgIvAELbGobNS3eVm6wjE62oyKAJNN3IcUnl/YgRrzUhxaSycLNOak7zIuoFg6Yp8uezpd0w9IUCmYit+bV37aHLAWauujb+2OU1GRTjCYtm/8HU7HjUMa8DMrKw7hRgByWIzZzpBPIHd42ybswpXKx6PXGtEI/zjKU8miLPIIV+EbLD5nQqwUeArM6Alq1hUgLaaPE1UwvS1NjX8CPsr6VIXSuB+Oymx4Y4MslPN5nixGOtfNA323T9Fw+wldBrej7bIniprKTpFDQIJOII6BJZ; 24:kUki+klqO7oUkoH+9chYJvcq7jDU+NGJdCP7xB743FExdyJmdFL5gr5KIxAo9YX4FnaydZRpBXSzZ2gzFkXVjKaQtVyHjQOoodhmGF4U/uY= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1716; 7:pkG5h5O7oBzlEaF/cJVgAByoUHxLRN0+2rBYy0Sf2Qf6oCQUUeBOQqYLCWhG4uoneUeltRoDfD6Iq6r1tSNMAra2dSwmiZClC0SEj3p6uzZC+8shRyEw9zBlz6sCOmENk49mcfe6N16FIr2eewtG/ykTI1Bx70kAavAhtyaC8j2SZ2MdYX9mDyixZ5/JZavmwnPnPI2ErbKmIca5ltuRM9Clm7dOSVL2hT8K9g2OFgtUEperJ31M06CBupbNrSFhI5k+T0+Bi+DMaItw802LI6sPmc9OT3857mS1Vf9daqYUaOz9MzM+fcBEdjbZztnoruro5h9JB1p9jCaynlgSWjFzCQ97J3WW/bid7R9JdWBlS24PKEmOMn8Etkvp/Gw1cHiuR6YpDaiD1g3buA9E2TV99tIXTDpcrGPWXLNVz9DXnqHcmRvpMle7J2xAYmCRSdzdLKgjSb57DjqiBfRbQmTQERF+TXQK5aWOCmCIa3hY1Mhx9R/Omh95O1U/SLJbYxonbKoL78HGff1xdWyxAstOOWijVkqZcWptZMLCn1NVWFxp5v7T8DMxs3Bxz4TaEr6SCnpv09EXOtgyb53n9gJCod0L0x2aC32/ByyP+TVYLo9qEkE9iiEoWYLKqFYEk0V80z2dJNFfnHvuagFs4w4fDlIFlQiielRsnGEtQvf0Ls32cR/+9kssHohQm0wM1yhC81DE+3VFXSgPRrbDS2QtFJtiZctl/mk2zYseyHFWbXusnxIm/sgb1n9197qoOiFJawfrESZMr38kuM4Z/YjtQIGueouVm8CJwRC809E= X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jul 2017 19:15:27.1687 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR0701MB1716 Subject: [dpdk-dev] [PATCH v2 13/34] app/testeventdev: order: add basic functions X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" add functions to create mempool, destroy mempool, dump the options, check the options and print the test result. Signed-off-by: Jerin Jacob Acked-by: Harry van Haaren --- app/test-eventdev/test_order_common.c | 117 ++++++++++++++++++++++++++++++++++ app/test-eventdev/test_order_common.h | 12 ++++ 2 files changed, 129 insertions(+) diff --git a/app/test-eventdev/test_order_common.c b/app/test-eventdev/test_order_common.c index b8ba8a0d1..c5d0736ac 100644 --- a/app/test-eventdev/test_order_common.c +++ b/app/test-eventdev/test_order_common.c @@ -33,6 +33,77 @@ #include "test_order_common.h" int +order_test_result(struct evt_test *test, struct evt_options *opt) +{ + RTE_SET_USED(opt); + struct test_order *t = evt_test_priv(test); + + return t->result; +} + +int +order_opt_check(struct evt_options *opt) +{ + /* 1 producer + N workers + 1 master */ + if (rte_lcore_count() < 3) { + evt_err("test need minimum 3 lcores"); + return -1; + } + + /* Validate worker lcores */ + if (evt_lcores_has_overlap(opt->wlcores, rte_get_master_lcore())) { + evt_err("worker lcores overlaps with master lcore"); + return -1; + } + + if (evt_nr_active_lcores(opt->plcores) == 0) { + evt_err("missing the producer lcore"); + return -1; + } + + if (evt_nr_active_lcores(opt->plcores) != 1) { + evt_err("only one producer lcore must be selected"); + return -1; + } + + int plcore = evt_get_first_active_lcore(opt->plcores); + + if (plcore < 0) { + evt_err("failed to find active producer"); + return plcore; + } + + if (evt_lcores_has_overlap(opt->wlcores, plcore)) { + evt_err("worker lcores overlaps producer lcore"); + return -1; + } + if (evt_has_disabled_lcore(opt->wlcores)) { + evt_err("one or more workers lcores are not enabled"); + return -1; + } + if (!evt_has_active_lcore(opt->wlcores)) { + evt_err("minimum one worker is required"); + return -1; + } + + /* Validate producer lcore */ + if (plcore == (int)rte_get_master_lcore()) { + evt_err("producer lcore and master lcore should be different"); + return -1; + } + if (!rte_lcore_is_enabled(plcore)) { + evt_err("producer lcore is not enabled"); + return -1; + } + + /* Fixups */ + if (opt->nb_pkts == 0) + opt->nb_pkts = INT64_MAX; + + return 0; +} + +int order_test_setup(struct evt_test *test, struct evt_options *opt) { void *test_order; @@ -90,3 +161,49 @@ order_test_destroy(struct evt_test *test, struct evt_options *opt) rte_free(t->producer_flow_seq); rte_free(test->test_priv); } + +int +order_mempool_setup(struct evt_test *test, struct evt_options *opt) +{ + struct test_order *t = evt_test_priv(test); + + t->pool = rte_pktmbuf_pool_create(test->name, opt->pool_sz, + 256 /* Cache */, 0, + 512, /* Use very small mbufs */ + opt->socket_id); + if (t->pool == NULL) { + evt_err("failed to create mempool"); + return -ENOMEM; + } + + return 0; +} + +void +order_mempool_destroy(struct evt_test *test, struct evt_options *opt) +{ + RTE_SET_USED(opt); + struct test_order *t = evt_test_priv(test); + + rte_mempool_free(t->pool); +} + +void +order_eventdev_destroy(struct evt_test *test, struct evt_options *opt) +{ + RTE_SET_USED(test); + + rte_event_dev_stop(opt->dev_id); + rte_event_dev_close(opt->dev_id); +} + +void +order_opt_dump(struct evt_options *opt) +{ + evt_dump_producer_lcores(opt); + evt_dump("nb_wrker_lcores", "%d", evt_nr_active_lcores(opt->wlcores)); + evt_dump_worker_lcores(opt); + evt_dump("nb_evdev_ports", "%d", order_nb_event_ports(opt)); +} + + diff --git a/app/test-eventdev/test_order_common.h b/app/test-eventdev/test_order_common.h index a9dfb647a..ccddef6fb 100644 --- a/app/test-eventdev/test_order_common.h +++ b/app/test-eventdev/test_order_common.h @@ -84,7 +84,19 @@ struct test_order { struct evt_options *opt; } __rte_cache_aligned; +static inline int +order_nb_event_ports(struct evt_options *opt) +{ + return evt_nr_active_lcores(opt->wlcores) + 1 /* producer */; +} + +int order_test_result(struct evt_test *test, struct evt_options *opt); +int order_opt_check(struct evt_options *opt); int order_test_setup(struct evt_test *test, struct evt_options *opt); +int order_mempool_setup(struct evt_test *test, struct evt_options *opt); void order_test_destroy(struct evt_test *test, struct evt_options *opt); +void order_opt_dump(struct evt_options *opt); +void order_mempool_destroy(struct evt_test *test, struct evt_options *opt); +void order_eventdev_destroy(struct evt_test *test, struct evt_options *opt); #endif /* _TEST_ORDER_COMMON_ */