From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM01-BN3-obe.outbound.protection.outlook.com (mail-bn3nam01on0078.outbound.protection.outlook.com [104.47.33.78]) by dpdk.org (Postfix) with ESMTP id 649B0374 for ; Mon, 26 Jun 2017 15:06:32 +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=l6YOenumAabtqW8nZbOgHRlHF8rynlj3zSSDc35B0Gs=; b=bub+7bKw2qnjYe5VfRt495tmGYpZf1zx+wNlxyoyFHTBD9x+VOkSwr7mZq0/rxEiVYOfslUHWcsFcSeuWOl073AK35ET9lxsiQhubWLunzdVo9a4OSxohfc0Ol4WPjlOKBqX8WUr8XHDmHCWech1LHoago1rtjc2nV0ItNGqHyc= Authentication-Results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=caviumnetworks.com; Received: from jerin (106.201.123.212) by BY1PR0701MB1722.namprd07.prod.outlook.com (10.162.111.141) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1199.15; Mon, 26 Jun 2017 13:06:28 +0000 Date: Mon, 26 Jun 2017 18:36:10 +0530 From: Jerin Jacob To: Harry van Haaren Cc: dev@dpdk.org, thomas@monjalon.net, keith.wiles@intel.com, bruce.richardson@intel.com Message-ID: <20170626130609.GD5612@jerin> References: <1498208779-166205-1-git-send-email-harry.van.haaren@intel.com> <1498208779-166205-5-git-send-email-harry.van.haaren@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1498208779-166205-5-git-send-email-harry.van.haaren@intel.com> User-Agent: Mutt/1.8.3 (2017-05-23) X-Originating-IP: [106.201.123.212] X-ClientProxiedBy: MA1PR01CA0116.INDPRD01.PROD.OUTLOOK.COM (10.174.56.160) To BY1PR0701MB1722.namprd07.prod.outlook.com (10.162.111.141) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ca57ab84-385a-4010-a0cd-08d4bc94298e X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(300000503095)(300135400095)(201703131423075)(201703031133081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506067)(300135500095); SRVR:BY1PR0701MB1722; X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1722; 3:FNkunHzEcJQZ/9Yc4ey8UEtLs30mgEITCaRItALqPPXHXOBQVhLrt2ORXrKbhVgDw466NQyBKkQrPT9wsQ7daz3rwCsDg/AMBH5IBtEKSQpgZFaVgpa9jMyI4sN0a60C0sKohJOEaIsh7ZEDjJo2Zm3EcHFi/gEMnQI47T2BmanB81UWXO4ITmyUEp3XEUrbxfsYBBcXjKT/COKDLphDaOYRs6UqiybDebko7xWdflu5ROJy5jYnb8TOJOt36/lEO9DdYpszQay4qLR7z2qldg2uJsCcBjPlQFZzbJMU4Zt5gLJvaYQyOL7AbUypUFaTu+/yqbhBbSWBmdCwM2A9HnU6JLucO6E67HUfwp2PlwNJiSAUHB2a9g8D63cJWKZM4LtXc81K/6OR8+qmLnO+FtKYlqNrQ3NgfeVl7S7ntLbKTAg2AWQCQ6/a4FG2AE0ySFzxb15LP/A+NTGisGibPxmtvDt/WHeh6EBPMPhp1U+32m0hwcGdPGEIshCVYGJb9VuLGB4kUaNP/LM8NFEkRMIVRIUFVQB9+/fFRoFu7+siIVNFb9bhEzzW3h4aUOWLVuEsce0TEzg3kwaxpIHm0BwPisu/S+sz+QJBFHCEdG5sqpNgSr+Za/tdRrQTyh5NmxRZvDsUL0l4iAn6mvTRa2NEWh7ENQVyc8XCKgPZeACfkwhwEB/RbsMVEGrvqCfQmxkgsdnilRLNRaTdHyE7L4zrNjyTL1bBAawSbIYHwfM= X-MS-TrafficTypeDiagnostic: BY1PR0701MB1722: X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1722; 25:RvEBtZ7uzNTFySHQgGY8Hn6YL5TsR8xWZFNKuBQ83vnP4uT5fA6WXFa/AhnoIuE/ZeVPgf9xWyXtHpr+BmTk9PctdPO1PRnp2BZGFSXHEk1JUZ6g9m7zrtEg2t3AtIP/BTKVeEk71YHVDdosbqY1Jeb6N0s4o9Y4shdpEXB1z8+d8KaZHKJJa+mCNG9+gpU4HMVPp6brs0puV4u+Ps0VeYXItuEYv2EZC932dbFBlrvK9vQz2cP1LNE1Ca3vqQCTv7p0Q1d1dPDIwYnoZYpZ91A8pM/qtRFrmQ/d0L4jxaFx9vElsIfbn3PwJdKHskqcx6hAQKacmX13MfQRDBRoiUUYaIviBf1mr6cuczP0Rneo8Qx1xRRYwBRht372uu6Opvlk7hlQfZrgI5Bo7Yw0O52W/cSHJX/coN8kus5t1lI4WPC1daiEHgbg/d7RqH4SO6duVYI9aZd51DeuZEDwYwH9H4XJ9UNq5HiW04pKrr93ubHxbmp2uIjOLbptbg20KwRUCso+xLSUcqmAL05B2URnSHiGW2lzDEOKu2zOhH5r8sqi9pPLwGTF2wnDbuyh0DrGtuNaAOvWSGv50SPdIZ03M8WTAaG9SlBnYSsBhEfzGHAvBL6dK1e1nnOgXIXpLJppT+Bq/cOY9wxC/On0tz+jDbvgXBpyeMNQhqkhJgSz4CGfIbloH913y0+CfmHh/J/Jnv/jDMBKjSvHnv4gFnJo05XROR8CADU+3DHWF3Co77QOmm5K2z49FsVsgmQ9LSxJgFuCI5afpaI4T8bRBXg20SLSlKaMZ+rmh0NO22YLSNu+q/Ey6stUnexMLS/37AwAIyqIN+H9AkB3tX1AU5ALaQF3EVU7+oih3UMBoRndPy4an/51mkrmXQLysqpClU7VBH9yI0B01AzkqzZAw1QKl0/gj280wFleowR0VVY= X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1722; 31:2jE0l/xcHjxUgB4fy4fAhc9wQmlscrEht34E31YyRCwLVROiuLo4uPO1JmEtzzBfeR9iQawC40m2XqQyJx6pZp6e00co6Ur8y5rpgv38eHrYJlaehvGdc2MhUAzfpC4PiOL0XqIoqPNjrG3rk+iDQ/+FuLnNFp2fOe7xKoMZGnsP8F9vYXUFGEHcLlmt7RAOBJ/x9IuaXHIfj96BRVK0lFr6mr0jzDC3JqgxRWqSmgMXByJ0fkF2cSOotbJ41uvY5myiCI/IyTnTP+Tgy8qSGBIVG/CrRDL0k2hIIkuhBdI3QSFdTeLgwmMQeMlJoyQdIrFJCxPR2wV1nMUniNW+arfg+Zz5L+lnlM9T1uU+EQE2nQSVa5wSP1CqO9k5Nr3/s5hokFEu5FV5GpdRb8G3Cwi28+3DV7Or+IadfweC3dpDQlQjqStxRO+agUPqggWekwuTN/vefKB9b+yDVOQr29RANKTZ5nRE8Pl9VwBzUOTxh5ech8D7I/9wOjTKFZ3cPFpqwS60/tPpVBUFOFivNRoHyIA6jx/f7soDhxapKPo1OseHEhfzPpGfwCZ9fhyTSFN35yxVzyyKqcocVSJ20gzfMmEqteuAJv47kniVGlZ9s6apOvWRHwFBZRT7V4h+vaHfS9EUB0YChBwxiAyvoKgBbO+1K17SPIbos8pp/x9MEvDhpd09q+7oD3RD1PXdu9ky67P2Ga3tnGAVdLUbQg== X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1722; 20:eGsXp7PZfWRVRLej7fzsZ72Y6V6btzrMBNEmOBgfRQtdH+OzpvhsGJrFIyFko7NQw/+DyeHNswaswzC/+0nPsrXuTlIHTbupmQgZR/UjQsbvT1xYJ+aONUeatWqDmANoKxqafKd62U08uRRkTtsi92abKLwgbAlRhTFjQynkT/I5pPeGvcZiRWKfUoKRLdPa2t5uf6lCNpsgPcGVp/fYf3YcjLoLz8CwpWAHvSIrDprJj6wuPq7E2vODD4HW5dx3Q+QLptGlbHJEZXs1VSeEtQEoJ2i1aw7ge4hdXMiefdT1TL/aEdOFq1dM6OSi6AX1kfu9s1aY9Bia6rZsLKpvVnLkxvCvNZv0zrfGcAje2ewUA0DeSbAY1mMiIR5WkmrZ6bKef6Xrh4rOJAlIAL0FeObzDR6cj7LPtlOs+nr9uBPXiijwlThGKmqBpbLoR9Z1BdJu6T+DgnOIUJ/bbUynla/VwhUYcEtmoCDS4CcTcHYdhigjq4aWIHUVILd2LrMFXb3fgFfjjU97nWE+/r6YwxK4alpBuSLzO/ANSUyl+X15tjfRO/8peyumSax98qO08sXQ7InolSP5VotMBDh+FPDLn7ioH/i/725I4AtELl4= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(236129657087228)(158140799945019)(228905959029699); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(10201501046)(100000703101)(100105400095)(93006095)(3002001)(6041248)(20161123560025)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(20161123564025)(20161123562025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:BY1PR0701MB1722; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:BY1PR0701MB1722; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY1PR0701MB1722; 4:TXT5RONldfWB51u/xX2Ok446Ysz62S2b5VVXYCtU?= =?us-ascii?Q?yiOgFiih2SBoK9XDKCOzmzUbah9dORttiT/pljzBjLJIQMLzqKN4XLtnCDut?= =?us-ascii?Q?N/kaaZDvIFooezKCUgbPgMfKkuza7HRf/EQZKrmYwZAngsdFDITWgKiLKL+q?= =?us-ascii?Q?I50uSpoestpZQO3cR9U++dQy00cr8TQ+/dsVntSawTdnuPKMrO30YdLEx2IG?= =?us-ascii?Q?piRzpegRh0IXZa7VoTYFfHDdHXko7H2cCix6V19Dv2WEr7LAf7M47TtyWWw4?= =?us-ascii?Q?T+delsYzB9imLdx5hbKYVzJ0pwO3KcY98KFQ7djFtaSx3t6sKe7XljHkJgCg?= =?us-ascii?Q?isOETJoO3Iu8nE9jGc7gkvq/yxGMyVhMYw7lHPa2I6+/uEElkwuP+/8YCnJM?= =?us-ascii?Q?QLLtr9XIdyTXUXXDiey4k6/4LHwKvbPAY0PaawJw9q8LfxHwjDNVtq0Kzmx0?= =?us-ascii?Q?ywhwPtNg3dbCRd1lmIA9+0+YEicp+IfkobOPSlAqbMHLZwPahuTTyu41RG4w?= =?us-ascii?Q?HwTUUL5UwFRi6U3J6K8xg1izpAQAN66BhX/6ljFrbasVkU0PMkjShr68lXbg?= =?us-ascii?Q?Mt7J4oCabi+EvaBrEgbGHKfBQDslZ+o0uKO9T00dwZiYhSQrW9nWtY9aFMAZ?= =?us-ascii?Q?lTqP/bwYfXDIKRkbBf3W1rc1/R4U2AljbaIu5d1NTA3YE6DMGoifQZZT6X9+?= =?us-ascii?Q?Qpen3VvG/pky+qIPK/kkwnhz29sKXpKSC5IhCsi1ZOLMP5hboAAZ9rwkmBS9?= =?us-ascii?Q?/CqhS0jB6ywnVeWsNwR6IIURB9kIyJ5JTxECy1VzxuE7xKgMZHvfUtq4QEAL?= =?us-ascii?Q?WPHSUIR6d86nL0FmTMIrYHd60sQVahHA59Zy0CoSHo+FqGUHwoS68TleKVkK?= =?us-ascii?Q?jFtiJd95GR+pfI7BSjWy8WIFwufA2AtBoAqCIq6wTyB2+Yp2s3+pcgnSf43r?= =?us-ascii?Q?ue/8G1aps0BXJaRecjC+T1hkgcorlHbEpkjDr7yU4wwz/ST/WYVK0n6Y5/Yn?= =?us-ascii?Q?oUzW6INo1NTftIBI21rS/2vWNmoBelMESvNjLgF8ZHqV+TrLG/50Lzn2pPlF?= =?us-ascii?Q?gDmXTHaeFgcJGjLx7Ala48JA2+VH/Yolcrsnh0iCL1VFiFS4uxJsiY+6nCxR?= =?us-ascii?Q?1Wfamfo4ZCSUyE1zikYxunQDOm9g/CdC1D8pGEB1u1xm8DTYBACENJXhvF96?= =?us-ascii?Q?YmcVAiX4jYNjXJMEiqCGkLMN69NyYmqVDKjYIhV0uSR5CzPxvz58qgAFEPKa?= =?us-ascii?Q?GR1UIfZ8GPBDtNzjd2c=3D?= X-Forefront-PRVS: 0350D7A55D X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(39850400002)(39840400002)(39450400003)(39400400002)(39410400002)(13464003)(50986999)(25786009)(76176999)(33656002)(54356999)(4326008)(47776003)(305945005)(33716001)(229853002)(66066001)(478600001)(72206003)(7736002)(6666003)(3846002)(6116002)(23726003)(55016002)(4001350100001)(6916009)(2950100002)(9686003)(1076002)(2906002)(83506001)(5660300001)(38730400002)(6496005)(189998001)(5009440100003)(6246003)(81166006)(42882006)(110136004)(50466002)(42186005)(53936002)(8676002)(18370500001); DIR:OUT; SFP:1101; SCL:1; SRVR:BY1PR0701MB1722; H:jerin; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY1PR0701MB1722; 23:MRTMWqAvQ6XgCJP+vuvKDeIw0tmI7l096sIyHQ+?= =?us-ascii?Q?hzpzk2om48PoxsTY4V389FRpijvCZvW6/OdiSElh/Ur+4BymAloQxMRksGJt?= =?us-ascii?Q?ZVJeNNvvhZSU+TKD9v7AM72g+4XnlbATlE1l95Y1HRIjkPeQgIt8NdOZ7Wnn?= =?us-ascii?Q?FSX95WLVSPl58ASlt9syI2w9KFvhYMb8h2mH12K90stsTSsznTdc/ubG21ob?= =?us-ascii?Q?gO+S5SlNyyXtAecFqUUPCtapHtaQWrmGYTbmIWImeag0q4bzZHWRDuPacYLI?= =?us-ascii?Q?qVse+x6iSuKsxKLbS2yvWvjkQPI4+hWw7rmlerN4/gE2IDJ0vW87+HyzDc8G?= =?us-ascii?Q?L9teL5o8ebl0bA1VxTfKnTzE/zjSy3VRSO+Wwc5cAFgYvJQ5UYdbhGsn6fPn?= =?us-ascii?Q?KZnvTuDZBTx3u9X0UYcIDAXC1HWK6cIUMxoPS6E4ps38FYkQ+4usGlcFBKvs?= =?us-ascii?Q?H31RW09vski3txrI2Ja5+sOsJqCkbTg739PAwCIOKjBTMFv33+AO+7H91cXP?= =?us-ascii?Q?GV9meeUhP0KphgmShpkqelx9WKDAYPLaw+WtpI3Osq7JKZY949EyQN5wtzmW?= =?us-ascii?Q?K5rR5EowW3UQwmh8bl5B4+jbJHl9/u3QdVc0wSOfoKN5dBQYw/XOezK7jLU0?= =?us-ascii?Q?L+6ymAMy/D1gsdkCVJGtH/dswd/sxPUkrweW1Zxb5TTwrl/ysF1Bcsriymxq?= =?us-ascii?Q?3KG7P6Dd9nulymrfbFATQGZ0qtnxJeJQD2BgsiIqVX7zqIl3oxNuvF7CpMP5?= =?us-ascii?Q?Fjz8C0pog/m8r+QjS/4McxlpcaOaO5YHzFVHdIBkD31DP50sxkoUhBol7yvm?= =?us-ascii?Q?QZq6pzwcRTdAb6wyMUYWs9YOp7Ah0w6luDS/5vP00ZD8HF1XjeK59stTDgLK?= =?us-ascii?Q?7iyUHaP06WgE0uLF3uw30lO9SLV2P/p/ATWK8HMIKhCiYFm8fUSXsHucviYb?= =?us-ascii?Q?zp5QvzQHIgfeBeigU4FKLOOXREwfdWgFn0bUs8cMAwvoHj1VE+pgHAaj/11k?= =?us-ascii?Q?OI21tCtRKMMAPn0wtwvslQKitARmfdH2bobYt1kdaNEeF6RSJiUqz/HsPd6j?= =?us-ascii?Q?0ubTOI+BNdnoGxVCkQmsYUX30B0X3vL+jjQxWLnW+chzQ15RC2Guz1Ec1J6g?= =?us-ascii?Q?+DkYUFoevlAM0sn1UcnonG6xad+fzO/JNwRQ/oy2MaZzZXbjcEZHbkhF4eG0?= =?us-ascii?Q?DPRME+1/VuLfTlRjPp2pbhpurDRmTRVfNB7t4?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY1PR0701MB1722; 6:vjG/Hs/nObqtK25R94NDfo2fVyIMo496+tJMHJJZ?= =?us-ascii?Q?3HIehAKkxWuTWHbxCQjCfFNrgB2LD1O6jOf+54gQcm/awGXUnRMHbDSc3+x9?= =?us-ascii?Q?aphdfG2n6wJcv4AIU1jqgmFyQDVRQe3GOXLmAGr/LYUWnVQrD6pXXE31nXHF?= =?us-ascii?Q?3GOPsQzXHd2oTpt9A11KgqEEempf9L6Fz/FXgf7uwHOrnTM5iQSDT996ryE9?= =?us-ascii?Q?YnDYthzpfgPMJjBPWT1sGKRSXISvLeazhRCLqu9afULYHigHkGsAi3oyFrZx?= =?us-ascii?Q?f+PgvCb18K/FiC6/FuccB6IBu7E4jtVdsALM/UwxXyOUd9+kGaPrZOaZyKT2?= =?us-ascii?Q?QC1m4PvbJ43F8MDx559XoPjJPL6F2QJOaYCIL5YcWy/OCwLTcu335HCCvtpq?= =?us-ascii?Q?4lM1n+j3shf27vqfaSDeXjnRxgg1VkPWrbPoGeuOW/ssmwZTb6QbgOdQzqX0?= =?us-ascii?Q?riq/IYkGj4SnSmzr7aH4927pifdAsRtYIeE6/iEeK6cdbZE4laeQPZpYQVPz?= =?us-ascii?Q?q+Di0G3FKgcc6y7kR8VZPnsDEdHhQOxjyOdeAPsBWbtuI0Bt9u9gEh52Wk8s?= =?us-ascii?Q?qHkJgRCcs+nzl+f4o6PlQ4souuEztv3dx/dsf00DtngU7B9QxU+Hpf1KOkh4?= =?us-ascii?Q?dynyeYQv7y5f9oDdaIV8sDgsdfWxaao+ho3pMQAa6AWY8SvEz5rs0968lgFX?= =?us-ascii?Q?zj/gVUDiwC4C3FSt9y31bQ7SsZejfUlWgQbqY2Hk/IIH4My8lI6FjSIZwf+k?= =?us-ascii?Q?wHAjimAfcGC+pjO8IdhRIz9jRH4ukPBF/NZUQssbveGZcJtm7cC/L8O8vFr3?= =?us-ascii?Q?vKxDsTE3GAMEgXA91oA7JUfLGJntht5fPRpCYRIXpNllOTZN66krV8mc/Wyl?= =?us-ascii?Q?cvhEZWsZwpQhgvr0b3A80Puu+zK+F1cGJcbSvRPSxYa/3cGSyK15o0g6DRPo?= =?us-ascii?Q?UwvlZhwfYLX17iOzZGUcJfcXKdyPja4BYq2aX3f/thJrejFxq5JpaJ6qbk/O?= =?us-ascii?Q?Pnk=3D?= X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1722; 5:e1IRq6aJLAJ3a0VfV9bHwEKV32ViIErky9t3EeEpCW2svyeRGRMEgx3MzKL6XvXakvKVnc2tl5MBFQ+f72F1qkshS0+1TuScJzeqaXlkYkzUnrGhUMFYLj1ADGnWnaH18XOc4LHykU3BzT6ZnuVJXikc6nMCYLYwHHihrPILtFsQy0om4B9uiXVfxvseASSAoiuuvfrYndtzi/rKzGgssN9+VJlmvipTRf7YoD/zOMAnlh3TezZdk1nhtqy2bRED6gsSe4gfJMTt4c7hCU273R42W6a5KlZGmf4vyPwv8BE5j8F++b3A6N0Rz8gzmFZzbTqM81ZYpEs5xVqef8SQDtIFPOCteBq6ddd1o7RrkUykGXw+zQaYiVW2X82sYiEfIR+pox8H/MFqk+sNIWePiOLw8x/MbVk7gb3BIPcq6kkuu0RyD16fRsXo9AwOLzma771ToZfhEaxTuA0407sbptsaoPms3F5OhYYbQYxgvq12tAluXIpr0B2S0wuCxQXA; 24:fSPW7c55cu0tRNdeT03vIvNFVN/3is3Kg4g/ebRLmPSmQoX/CJ1KjUomH4F40KpZYnONVAYxgL9gex6ywsD/q6dkQqEgF+5qonDZf+/2jn0= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BY1PR0701MB1722; 7:8a7cnAHxhI3Gnh3ro6KemgCuVMDRyOqpjiIA+NfflcHCQaNAXUEvKytI9k1WzE5rl5JmQ9QFCyYyF8BNnLB+YQ8cGemFTMzHhaw2j7a8wkhVSKB5S4i/XKFqB7oHGnwtS7BmsFgPvomLylKq0tDbzvb3wC17ZxN6uh4QmDcmzqsrSKIDJCmbJ9xk96NR79S0l6t5+oyfTqO6499/6bfMlfzY3zh7nrB3qut/z/IJyjLnkLZUVZOhAbXoQNckhf2FXNaqU5pUgxV2im2iwX4SpTQ/zaIi5JUFF+MPYPnlNINjofBeUgHAZOR5Rr17u8xQ9ggpfGjEQB9LGp3y/zEFNngH4HYa+83ZznNx+KLPwcOIbZ7jlRSkIUsTQNrLLrj5r8IMQxenGmGAnobT6CGchYJy58DYIm2BOSUID53L4Z7n1EyLLF6SGM71fgtDlTyaBG5y18byjPps8+UnCZP8C7zUk2SAQeWov1Wk7XtECZDK3vGh931O+EQlZgKkADaFkhKwOY9SQ8g9HEOcylp8jWkASn3/qzIXjx/Z019mPLZROv4SIY68jJnUNvj8JHdaeg4Bg9zPL8N/s4m2ejgwgRjs0f3+f5W0JX5vzXZ5sDEX38MCEE6cExNsXANkI4t+aQJBjzsGMHelspPd7Hr/PHn2dENAINnj36BaIFl2N3NmR1dVh7AZCAT9gLaVJL7ypWAjqx5AJRDSFCWwbkyduZ2ZBtkPzQgUUV15FAPtdDmiX1RzqEVJpqJELYEGa48hrkCifLfLnB5hxX8tOPj10oWdxA/puvulEL+Q8ZNUEow= X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jun 2017 13:06:28.6507 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY1PR0701MB1722 Subject: Re: [dpdk-dev] [PATCH 5/6] service core: add unit tests 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: , X-List-Received-Date: Mon, 26 Jun 2017 13:06:33 -0000 -----Original Message----- > Date: Fri, 23 Jun 2017 10:06:18 +0100 > From: Harry van Haaren > To: dev@dpdk.org > CC: thomas@monjalon.net, jerin.jacob@caviumnetworks.com, > keith.wiles@intel.com, bruce.richardson@intel.com, Harry van Haaren > > Subject: [PATCH 5/6] service core: add unit tests > X-Mailer: git-send-email 2.7.4 > > Add a bunch of unit tests, to ensure that the service > core functions are operating as expected. > > As part of these tests a dummy service is registered which > allows identifying if a service callback has been invoked > by using the CPU tick counter. This allows identifying if > functions to start and stop service lcores are actually having > effect. > > Signed-off-by: Harry van Haaren > --- > +#define SERVICE_DELAY 1 > + > +static int > +testsuite_setup(void) > +{ > + /* assuming lcore 1 is available for service-core testing */ We can check the number of available lcores is >= 2. > + score_id = 1; How about slcore_id? > + return TEST_SUCCESS; > +} > + > +static void > +testsuite_teardown(void) > +{ > + /* release service cores? */ > +} > + > +static int32_t dummy_cb(void *args) > +{ > + RTE_SET_USED(args); > + service_tick++; > + rte_delay_ms(SERVICE_DELAY); > + return 0; > +} > + > +/* unregister all services */ > +static int > +dummy_unregister(void) How about unregister_all(void) as it is un registering all services. > +{ > + uint32_t i; > + struct rte_service_spec *dead = (struct rte_service_spec *)0xdead; > + > + TEST_ASSERT_EQUAL(-EINVAL, rte_service_unregister(0), > + "Unregistered NULL pointer"); > + TEST_ASSERT_EQUAL(-EINVAL, rte_service_unregister(dead), > + "Unregistered invalid pointer"); > + > + uint32_t c = rte_service_get_count(); > + for (i = 0; i < c; i++) { > + struct rte_service_spec *s = rte_service_get_by_id(i); > + TEST_ASSERT_EQUAL(0, rte_service_unregister(s), > + "Error unregistering a valid service"); > + } > + > + rte_service_core_reset_all(); > + > + return TEST_SUCCESS; > +} > + > +/* enable and disable a core for a service */ > +static int > +service_core_enable_disable(void) > +{ > + struct rte_service_spec *s = rte_service_get_by_id(0); > + > + /* expected failure cases */ > + TEST_ASSERT_EQUAL(-EINVAL, rte_service_enable_on_core(s, 100000), > + "Enable on invalid core did not fail"); > + TEST_ASSERT_EQUAL(-EINVAL, rte_service_disable_on_core(s, 100000), > + "Dispable on invalid core did not fail"); s/Dispable/Disable > + > + /* add service core to allow enabling */ > + TEST_ASSERT_EQUAL(0, rte_service_core_add(score_id), > + "Add service core failed when not in use before"); > + > + /* valid enable */ > + TEST_ASSERT_EQUAL(0, rte_service_enable_on_core(s, score_id), > + "Enabling valid service and core failed"); > + TEST_ASSERT_EQUAL(1, rte_service_get_enabled_on_core(s, score_id), > + "Enabled core returned not-enabled"); > + > + /* valid disable */ > + TEST_ASSERT_EQUAL(0, rte_service_disable_on_core(s, score_id), > + "Disabling valid service and core failed"); > + TEST_ASSERT_EQUAL(0, rte_service_get_enabled_on_core(s, score_id), > + "Disabled core returned enabled"); > + > + return dummy_unregister(); > +} > + > +static struct unit_test_suite service_tests = { > + .suite_name = "service core test suite", > + .setup = testsuite_setup, > + .teardown = testsuite_teardown, > + .unit_test_cases = { > + TEST_CASE_ST(dummy_register, NULL, dummy_unregister), > + TEST_CASE_ST(dummy_register, NULL, service_start_stop), > + TEST_CASE_ST(dummy_register, NULL, service_core_add_del), > + TEST_CASE_ST(dummy_register, NULL, service_core_start_stop), > + TEST_CASE_ST(dummy_register, NULL, service_core_enable_disable), IMO, Following functions/functionality coverage is missing. How about add that in unit test case. 1) rte_service_get_name() 2) Verify RTE_SERVICE_CAP_MT_SAFE with available lcores 3) rte_service_probe_capability() 4) rte_service_dump() 5) Moving service lcore to/from rte lcore back and forth.