From patchwork Mon Jul 3 19:13:38 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jerin Jacob X-Patchwork-Id: 26254 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 093E77CB9; Mon, 3 Jul 2017 21:15:21 +0200 (CEST) Received: from NAM03-DM3-obe.outbound.protection.outlook.com (mail-dm3nam03on0044.outbound.protection.outlook.com [104.47.41.44]) by dpdk.org (Postfix) with ESMTP id BC8937CB6 for ; Mon, 3 Jul 2017 21:15:19 +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=x8BrLWXJHyirGED85qH8nqGHhlWnvmkQNJ+WWwqmjT0=; b=cjtSLun49sQOxvqL6RLKoPNdEVDiOITN1ml01fGI8WtYw0Nfe9NoJ6/aiXP4nOtBEWxsp/LcNkb2FkQDNt2ZeVROM9vOsdf+fmn3UMiMCQ6etsZIBDSWvNj52KDdQLzJZDthGaCiI+o4cgGTh6Kj/47labvPybRcpvzfc/Zh83M= 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:15 +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:38 +0530 Message-Id: <20170703191402.3638-11-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: c836ed68-ad1d-4256-00cb-08d4c247d7e3 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:5kJbgocdZQ9OPYTbC7A5BfwQr8dICua0xTdWb4sGcenZd23tgEW8lpO2mb5QEa6N6lESn5cdRTmhRP4icSXrxcAvHSZ8fduPdYJS50KFs9Es05b3rgfPxeh6Ld4pt4aQ3I48YkwPWN+zNetlN2Wms7ALwC8x9gPFea4Mf/7Q5y16Thh+9LcFk6+LPmA7M/C9BW2C0XOr0bvxAm9VZk++ve9zRMwibnzv0RRaKLwoC6fkm3MSTvly8pMXsEg9xkf0Ko169wfoYpPXS1kOgfOJRy0FzLeA2ln8nbIntPvGniwtp+l3sMv0AmwihdTsWtB87o3dKgZgMIpMemb1XS1nuHOUIT0595gs741KH0Mpcceczd5KxYwJAtAliX1Jn2qsh3l2kYNwB4deSmzb7Ze4FZn4pzNCdZjJEVSoBvsF4ftmoSI8uR0YR03826NXyGhvkbhwF66EyopWDqyM0HTlgIllV+JeGBVq5wZu0voURVmHGZTVxunltJCBm0DMNEPMTVK1RGUvKS5NTqLtCywZ1ARAJb+QldyAfQ1K7J6a2Rg23nK1j5yMUqwksUJy3rcVyVb2aXh1T+cor3lMWpDZXRYk9nkaarF9JCNAEGxcU7X8+CtYBHryDVzLMCMwttrp8DP83orPFrkd3iQKOAoxFaiogZWBPgZr657W9Fv1I5vYpzthiE2GoMEjIxbU7rEiVx0hAPw2uZJaVHH5dFkWI/uzlp5ko2k5tRmysRHti6a9QNEqtAZLdQ3vIfGSFTk+ X-MS-TrafficTypeDiagnostic: BLUPR0701MB1716: X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1716; 25:dSAW6EPaB0uk17doHh71dhLK/elVDj/UezY9rfBOjY3jtt1TWEBZpSxyF9/QxFjABg/auoj0aPZ3XQKjlFDa/eakCz9CDRBdXjq1uuFdW8lH/I8GbakaS+kHl8PvuWIWId+qtiFZ565Ho57AKyvqsDpfF0CbDhHwLpJHXM1W9i2G2jzDnSvm55fkrtb1xyF+mNvCelaRi8MrQqVerh3e9gSWLK4TrGxeAmaXDh2GhphdC2XZ2hc5IfnyGTZOs+wrOOb79gywxDNQze3Jlvpaimnce2SztRd2ZzYUVwiVA1y5PFmjK96c9OTcqggveJ8R3otnFg2Ffbqx5rnagQsy1SjuHB2Lwy3dzOQRJ3+lFzj0YOkc9IpwBMYTUzqxwxYilSpz9HhlHghF8Ct5CKKOCGd5BA3uAHmJVV+9aJRMrW8/Y09S8ZbpfZ2IVqXezBDRqyo/isEbnJljTsykaq/t+WUzfsIs9YxFaTp3dofh1HDdR2W4u0ESAFMmjTBW0/Ozt4f0AGWRm0y6HvfdGvQOxpn8MGUsYOi20gIw51s8nWnChQ6Cqj9sDb5NQkFD76/3v2bq+FfqYgTDY0WUUaKc5hvtBMJzLf32co5eXwp4sgZxIg/XuLX9GDzJrfi4EFKEm0DPb5JQ1FwwjGeWOYY8lgDGRzwPDTT/uQQ9OaUvOD/n4hozheiVUEiyY7aKcwcZflhQc9YSadFVXV7XFCzINtiuXxxJODe4okOyGrALrJmHbv2kicuGqBt2B+3eptDEAW3Ee8Ov4Kfb6w72nhFaT1RlzRm2z6DuOr5nkneNaBvmI6velcPT1/KGev83ZIvLI3shEfjlR0P8eKvGcoV0ZshSFBW9DJtRMEIzS6fT7SfdqUYvn5pbcyL0ia7T8tWwEV32Mftj7kt5vXNBDZQe5KxRYtXWyh3rn8fIKs/tdzk= X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1716; 31:YW7RHfu48N+WJC39aNaW9THZdwAtgC3lFvxlhHDvg74nNJipmZtNe44jAz19BebEtWIvxgSHyD88Zd/x1Hw2QpSOdTccNzN9SQt39Vd1sDEuRbfzrhKjc/H9YFsVd/aFYsySiywgvPcJ83qPk0uRJwKoV+Ky0YtZAnJmik6HYVApFjsdNsc22rUOCuogzEytHvaS+UKqNNhrEhJ1iq02jzWqtwjABRq3PFjFjUkpzDM+ZubZdnqtZ8/FmNKbUYrsnM2KB+Y0oGhLh3iMGfC1DgqTYYpmlSFC/dE5T0EYnJrTe9qVQTdSFfDIh3ZQsdMPih4fwEdFcA82G3V0Y0jRHhF7MwX8JUSshZ4oy9jQ8k7H1DwAlczGc3HQgptsfOKJhffU/Pwv6vYn1np29sOnubZcjakz61ELQfOfK+uRUgPMdPg+vGeEJhwzFBTZpPq74FKrdbZGABk9JApA1PmYnVgz2cx7qUifWV8EtWGtKn+OpbbV3/8OPJP/nhrtEMFOxWmfaaKcGMpkUvDoP5rObi3GIv/3NIgercZB54T3pbs5Bf6iN5s51WFMuQe7LkEET3OJ4q7p1q+KMAsxFcQnygd0qifZJCJg+oPLDE9sWF06GNQLEBSZCkXihSdwgL7odSnp/DN8NLKecIEdh3Gf7J6QLC6/S1EgwQZKSTEwan4= X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1716; 20:vTS/fzNtsu9EMEdmW1X5xJ7dPRmSS5BYTHLtQ5Z17btDsYx33UHyUhwcM25LVhsveK4SvxfsWWvulhEd94BoZTyRn+ZRYMcOMVojylDnp7831UGeFprVEknR04+saQCjuhkNPxhXufAoetYV3bce9KxvQRcA5QshsM9EcvKMz7RUyDr6N25WGQTVpkTeRU3Pxzs4gmCmqScfOt43oHk0u9gTcoxYj0GNKL1VtBeL3MIL9ivTAxmeWUO62KWawbuExqUGxu+xjePx5K84GlfaBvOBzzsJQ1Kgmpii16zsK+wS3ZF/Q+okAF8ViSI6ThcSD9j5Po9BKYIlffpa9SP7XW8svjjihTJkRBLtpfWRBEoqWlTH3XRp/jHfEUVYwnIy0C5RAGHHpyoy1k6lJ0IjCyMAN3yD8AWnND/bp9MtzzYtynJ7c4xEN0dmE6UwfwrwxPk09E7TUGEOz5XWfqP6c76RB48y54E4QSSGPjUyizgdBjr9jpEdw0ehSAWj2oTDsESmCfhWnIixUIc+l09Eitafq1BtPoFMVID8UuWr583qTn3c4dykw7oqVyoDQEfrFlbipQlOJFxNHC0F5KT7eeN0ngYSuJaCr6/+TY07jso= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(236129657087228)(228905959029699); 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:3QgO5Xao8iByu6hmBIMuzbsxKiFa1q9KnV5oi8WX?= v21dCJzA6ug6YAOUbVc5fj3bykqKjvdNhbuIZkoDh/aukfLEc0wYhYL+APp88TYCbX7NfL6l4QXTEtvbeR8bEOnoLXvtQWSpiCmzbxT8COwCU/WXsWIV8QXe6j0+qWN5rKxUgf/mF71UfBxfRrJLEWvyCNq+ooI7f2WdIEKk+yVkV/+AB0hYjZ+JVuqKKtic4YwYtoR5RjP61Rcna7HhgivdANogGxw8T07VXLRD+H49RfldFrRcripqzME23KpSETmudxKkrvotup6Js/thQe9I1VLxNNJS6cr6d11F4HPsFKUAo6NkX8Wp4dMMTByAOHxDVMjcQ8Tux+873wroJjT2YTLUvhuvi6UIAwJkQO6bDA+V0crzIlFit4DH4qzKgL9xacOre5EnTbnaZJB7rXA2GpKvQHG0DzXFY4fo2MWUULD2OamkInJ42O35WyFVj/wQDl6oCpCShQKj34jPPNhpLtC6h0blAVISt528jnCVBmD697C3tN81yaCjnfVTx09smhZzyNDFBhvgOWbdVh9S/1meu5Av9yanIbbnctR4qPnsMbMcgnIlgYDlYNJya/meS71QcPZllddN5oQbjP/TRAY7IZiii6SWGkNVjkPHYXAJFtZSbB9Q6riAVqXI00XZibERQP5ofyJ7bzRISpV7Yr32o77A4+ZBZCg472NHpHqJoMrdEJDCCM2XrRsfSCZ8iPNyEKPmFHsnXvD1PyhuT+JBAp4NC4QaBkY+i+hCkpbJeiUBePQUWIu2yRDkVRw6FI1p206M94H4/cuqGzSO0Tt3juxgAWUWDJ2sDSlugyXwVkdZowy0huDfaD2VbjYhnX7HvJb4cFyHZzn3u0JMXmS0GQ7mt9eURCsrKrhK432/u8P/TLu/fPDgyGwJ8bTNIzQvISKIcKOmrNM5pa3hFkXRiqT4pheWR4Ydaoe1jNdeHgsOC7Wu9QEASA/0lJW0jjNANjss1TUW/kSYJ+aeOjtjMxEbI6/VWoOtGekcgz+I16Tpa7Np2/IN/DxNw8lwqmqZYAcLOkrUzFonMD4a/7vY0LphAI6Eep7WRcvjsvqcaJxunBZIWVjyUHmARaJOaYAPjvSeuQSIHNsD+rY2wnofqbFHKs0YcWqXjmf+CT1WM/RdQwRsQDjU9BwsVayF9iy6GKPgK868KYTRSUEM 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:p0eFrl+Z1w+LLpGawrn5p+6+w9q074dZ+VTnT3v?= yExzbaA3bL+9Xu/sj+xH9avVbcUjI5a6BLZzRUU3Ty9av1YpYjZRuKsRRHQn1q2pDt+BRp6W8JwuIGBWWCshOpyZI2LeFcC+4yD1kzVyBzNqZc7fpwVeHheCp5KJNVhBR7GOtGiFDeBuCXBHlM0DWDkCskk4iaUmQUFCZfRRWu4RqVjSvgZaFc89edCwOC52LL6vUqHjprKfdRW2GRdUbj/XMyitpRYn3GqiaKQQKwIdRiU6yBrYUA4r4ZusFNnP/FDTcR0t53T5MnDYyzw14crEGtPavBgZzDVeXvIAczcT00IvTaJwQP4G/mUqTVbEF5dx7TA2ODChgjTMQCqVJdcP+9zZyxraSYMXOIB0PB2FFh6hDxu4U4DUCJ/xxH33igksBXGdoptiMGo+K1f4RZLGbuqIGWjNSmEgC00D5sOzUP4xJQAE3/0s76UJYCJQoKUQFoCYw+AF65l04KkWZQu5qBIbL3z8poA6C5pc8BWz/i4Z2kRZhz3y+UYED4icR/Fo6iJprIwQd8b2APJzgKFbPUOILTn1yleglG9AjLHT5FiJDJsyPlAir2mn7nSxEvBCy8RLEBVWFxOLos/VYAONi29VKdgPd2CLzxrJ2yn2yVqyhLTzH3igc0c4RB9RebXLnVBjz+WcnjxFqJWBgu3m32bZrEFnsaX15Ewed0pVMXwITBIFyhDYlSEkxmFT0kfBWdNTOjolxxzc9R867W+u3WZap8KqJqELHvW88xdKyVfhPHU5fDoa+M0cgNSss7qBxG+M9TYffHgthb8f7pHomnXl7KHerTLIWbZagxiTdAruqoHJm903OFG7q7rmCGiz5+waohciW4a9fmrcQLHcU6nvNKq4tsRkvU5KCECuLrWt+jrCdHPD8ciykZuyQ9/MmzJZiUwZqigkND/HZcH8qKuAn6MzAXUa+rIrZ17FyyxDNhtnX171nzT0/aMyIuI1LIgOJQPYNexV19VE1TeE4H8jAbxBVLTu6irqv7g7eGgrYf1l2wpo3ct+9KkTSXRXxVUzpbmYbnYc5MLo82eLJZR6xJ5XnqENI2iwRqhvseG5uOR44OpLyz10OpWTP3kTLQoG5K+RyZalOqD4hHPcGoK/zwqtXL2WSK46iqJ2o+FShyZ9htarKoiDaHDPj4PE= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BLUPR0701MB1716; 6:pOtonbUbCCcbzObM+m1jFaNKQiX7hxMZ4xJXD8q4?= l4bRHGDS9+ysb2PkBhJ/KBnY41Qd1E2thazQmBeyRQ9UVmNhjvKIqGVanXXlg7DQdH71g15kNWOeKgIfs/u2V2aPMjkDkPVgPY0sEvvwhRrOqCp7ptsLAtZPF/vB1zlGVhvajUtKqS7p1KJtOwLbGwsA0Z44hjVSstN8iV1rkkvWG3hDbUn38/HBjGGJln07Wa/Vi5uEOzZVlDO0X3W3mjyur+xBu5bgQ0Z2othzJexTH3QmmttrTu8pYM/lKYl2QoyVj0oz13bphPIvGyq/cxjtlVK85rpRMA2/RtRRgXI5HUeXywuUmBXi/BGOhNxQV1EsVwK5TOscnxlaXg8EUtQV0oKvCu0zl/FXD8PkSHYpfCzp1duKE3Uef5PnyAKl2N88aTl5ZvjA11cI+G1KWVZksY1RAzlwmQDFe86IK4WNET2LyYK7SoneOJa659hRRf4fU7nmiEF2F5U/NWoVnapwCqdoYxhadogC93DHTGqWG5Yw0ahFaj2km9T9TwzYufArtudNxDIBhFDKFFFDGpOcoLYW1+C/nRdEw9h5WgEqC9Bf1C2N4WXmanBAXbNdYcwHd0rKOmm8envJC0jDl+vpAc9MBOtRg3Myc/gD7AosgS0ch8w9nktXlEu9PsLMKIqA1nMNrXu8BlHeCdpA6uWIqkt9drj3NdCgPKG622PG3F2BPpyd3PB4Hv7KbMfCg7XscUzcADp3a34vSAtOxVP6Mw2dR12FIOXikTNB/aO/Uzj1FVZGN1HVRORCiwIIwAmIHp50aFi9tky2NE30GW3yyihOqfpQSe9cly68pksfx68nFVbWHjVj26ZQbNheAe6d2t1eaDpia8eSuwu4yu0y0uuhlMw+odXeXlgkjYeHe6WxduFlFoQcDrFFbQ8NdxHV9UHRoQS1AfLNveXdv4JNKOcYbCdvwtcWH1QZ7OnDVIKX4aN+xhssVb3/6jOPRME= X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1716; 5:z1QezrWVIa0MxyM+hQeb3d5uIcqDJB1ADkayONbe/YSLqB0fCeuEuhRuNO6nkZoQW/v13CoqDjXvyPWQUSqsqOuUVkTthTQVo8Pr0JT+rSh+9i8wWfD0pKIewz3AFeIvEItQPEJ13/tNl6ZueaxnhAY+Yk3TJSFUq2xOpWZvJyKeeNUDp1izIDf4zfSIc6RKtPwi84tbwjBqGzHvwq53kuUUFh+X8hVE0aSv2MoV6td2wFLFf6xPjx2IoQMgpFnTTAprPEFvK5koUFZ6D64aYAIxqbOveTSMCKjuWVjrFhLgtTh8GqSfRCFugOpu+XfH362uShoeWZPoTXNCpw/rYKlIstaloF4BZ8t0cLYDdqCD22/7eArnLJaMntBRDis3UiEMWtER/b0UOGAauXs05/jQpJevtTE3ESNXW7Y0RRa2e05dZLQEoJ0CMVrufGCUlFtiBD23jmU2eRg75rRm8qK5VmppXV7ckYlwV8p/D84CgePHKbahzmgHil1HxXQf; 24:P4GxlhbvHnrnSX4Oifw9rGEUHoCeWTbtAdLwQ2KVE9SHpgWFSOKtEJvaHuwpQqseWloR0vL9Zu8wSflhOpdV05pXOoskbnT3STM00p05wfY= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1716; 7:Vgn39rgeqMnj52rV6hyAFzrv5jlpPSMrmNZmr01OmnbSRwSnM3SLVH6/y9tTJoHLtkV5YQJxHic2Nzzq430UoSwfYTj2ryl5l1fQaSE0olhMlOrw/6vZg85Kj0InM8AFcKi6+17OuZ9gyPiweJjxXjpBCzechQ0pxtM2kCTUJK7viFh8jELaAQh5dE4qI3xEQ+bpufY7UZNP/bp5oj0divTjycWbZ7iCPIyM2SBPYURM2h4NgEKnvDmdG7oATQSWgfSb37WByfttcfbwiMe9cIiTvvSK59srmgx64iE+fI4C/+VjrwF6cpBuAtpiEYdrnI/PYTwUw+qQ1wgz2HVNfJZ+uIa4DYjD5QSn6gkQMZFaec921DitDZ5hTrldl1SYnQzY+9D/ExVIZfFZoSNAigso7PFDFq8jHbCRPC95OgLeooDSLo8/fw3Hpl9PfMxhC8o37SOPwb56ZTsvtdSoX/ZJ5hsbyIBvPDbx7YMTBMORs/fniMC+dVPYyjP3Je48Cu/QF9/yON7aX3XbIPL0EJ9szkaK+V98/qfOP7STka4d4izgwQ9vZ8fnC1ZflZdpeKlaM/04ggAcGy5Zf320HpPMXk7LYxlwfNWAeKh3lp3blixhVi2ZK0NVjfap31jMRmn5gQZPiJpsrrKRKuYtwOh6jasI8mBJj1bPvKCGyD2YlQdpI3zTQGuHH4pJBCL7SFq0is72ZI1Ie0mE8NMrkQ5u4PF9M69nS7JviJ6ewSC+A2eRN3a4DwBE6MYMOCSM0oDm/+MeU1tAsir9QPcAau5rRh88lJOh6maJaehadPQ= X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Jul 2017 19:15:15.0901 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR0701MB1716 Subject: [dpdk-dev] [PATCH v2 10/34] app/testeventdev: invoke the test ops 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" This patch retrieves the test ops from the given test case name and invokes the registered test ops callbacks in order and print the test result. Signed-off-by: Jerin Jacob Acked-by: Harry van Haaren --- app/test-eventdev/evt_main.c | 136 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 136 insertions(+) diff --git a/app/test-eventdev/evt_main.c b/app/test-eventdev/evt_main.c index c076cdb62..27d0ae683 100644 --- a/app/test-eventdev/evt_main.c +++ b/app/test-eventdev/evt_main.c @@ -38,6 +38,21 @@ #include #include +#include "evt_options.h" +#include "evt_test.h" + +struct evt_options opt; +struct evt_test *test; + + +static inline void +evt_options_dump_all(struct evt_test *test, struct evt_options *opts) +{ + evt_options_dump(opts); + if (test->ops.opt_dump) + test->ops.opt_dump(opts); +} + int main(int argc, char **argv) { @@ -54,5 +69,126 @@ main(int argc, char **argv) if (!evdevs) rte_panic("no eventdev devices found\n"); + /* Populate the default values of the options */ + evt_options_default(&opt); + + /* Parse the command line arguments */ + ret = evt_options_parse(&opt, argc, argv); + if (ret) { + evt_err("parsing on or more user options failed"); + goto error; + } + + /* Get struct evt_test *test from name */ + test = evt_test_get(opt.test_name); + if (test == NULL) { + evt_err("failed to find requested test: %s", opt.test_name); + goto error; + } + + if (test->ops.test_result == NULL) { + evt_err("%s: ops.test_result not found", opt.test_name); + goto error; + } + + /* Verify the command line options */ + if (opt.dev_id >= rte_event_dev_count()) { + evt_err("invalid event device %d", opt.dev_id); + goto error; + } + if (test->ops.opt_check) { + if (test->ops.opt_check(&opt)) { + evt_err("invalid command line argument"); + evt_options_dump_all(test, &opt); + goto error; + } + } + + /* Check the eventdev capability before proceeding */ + if (test->ops.cap_check) { + if (test->ops.cap_check(&opt) == false) { + evt_info("unsupported test: %s", opt.test_name); + evt_options_dump_all(test, &opt); + ret = EVT_TEST_UNSUPPORTED; + goto nocap; + } + } + + /* Dump the options */ + if (opt.verbose_level) + evt_options_dump_all(test, &opt); + + /* Test specific setup */ + if (test->ops.test_setup) { + if (test->ops.test_setup(test, &opt)) { + evt_err("failed to setup test: %s", opt.test_name); + goto error; + + } + } + + /* Test specific mempool setup */ + if (test->ops.mempool_setup) { + if (test->ops.mempool_setup(test, &opt)) { + evt_err("%s: mempool setup failed", opt.test_name); + goto test_destroy; + } + } + + /* Test specific ethdev setup */ + if (test->ops.ethdev_setup) { + if (test->ops.ethdev_setup(test, &opt)) { + evt_err("%s: ethdev setup failed", opt.test_name); + goto mempool_destroy; + } + } + + /* Test specific eventdev setup */ + if (test->ops.eventdev_setup) { + if (test->ops.eventdev_setup(test, &opt)) { + evt_err("%s: eventdev setup failed", opt.test_name); + goto ethdev_destroy; + } + } + + /* Launch lcores */ + if (test->ops.launch_lcores) { + if (test->ops.launch_lcores(test, &opt)) { + evt_err("%s: failed to launch lcores", opt.test_name); + goto eventdev_destroy; + } + } + + rte_eal_mp_wait_lcore(); + + /* Print the test result */ + ret = test->ops.test_result(test, &opt); +nocap: + if (ret == EVT_TEST_SUCCESS) { + printf("Result: "CLGRN"%s"CLNRM"\n", "Success"); + } else if (ret == EVT_TEST_FAILED) { + printf("Result: "CLRED"%s"CLNRM"\n", "Failed"); + return EXIT_FAILURE; + } else if (ret == EVT_TEST_UNSUPPORTED) { + printf("Result: "CLYEL"%s"CLNRM"\n", "Unsupported"); + } + return 0; +eventdev_destroy: + if (test->ops.eventdev_destroy) + test->ops.eventdev_destroy(test, &opt); + +ethdev_destroy: + if (test->ops.ethdev_destroy) + test->ops.ethdev_destroy(test, &opt); + +mempool_destroy: + if (test->ops.mempool_destroy) + test->ops.mempool_destroy(test, &opt); + +test_destroy: + if (test->ops.test_destroy) + test->ops.test_destroy(test, &opt); +error: + return EXIT_FAILURE; }