From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM01-SN1-obe.outbound.protection.outlook.com (mail-sn1nam01on0041.outbound.protection.outlook.com [104.47.32.41]) by dpdk.org (Postfix) with ESMTP id CFBA8235 for ; Tue, 4 Jul 2017 14:46:03 +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=9gRmte4TtAhcL4CCAZcZ8nisJQswT2mS6gLi3QZzBq8=; b=IN2nZWuhOTGWqdla7Zajpb9jry9dWxNGa5rl1s1fiXE1wGVLRkzW9wrBc4+t8fMF4127p1ttS4LwmICUkFudJVLdCSJvu5GyV00XRSTzofmANdsMdSgfsOzijRCeyHVoSKhgOP9OyZ7e0Z3aig8iFMBXz3LuI87vakDWzGJSgew= 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.200.206.49) by BLUPR0701MB1714.namprd07.prod.outlook.com (10.163.85.140) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1220.11; Tue, 4 Jul 2017 12:46:00 +0000 Date: Tue, 4 Jul 2017 18:15:49 +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: <20170704124548.GB14921@jerin> References: <1498735421-100164-1-git-send-email-harry.van.haaren@intel.com> <1499031314-7172-1-git-send-email-harry.van.haaren@intel.com> <1499031314-7172-4-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: <1499031314-7172-4-git-send-email-harry.van.haaren@intel.com> User-Agent: Mutt/1.8.3 (2017-05-23) X-Originating-IP: [106.200.206.49] X-ClientProxiedBy: PN1PR01CA0099.INDPRD01.PROD.OUTLOOK.COM (10.174.144.15) To BLUPR0701MB1714.namprd07.prod.outlook.com (10.163.85.140) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 86a17906-ec2e-49ed-e8bc-08d4c2daa0f8 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:BLUPR0701MB1714; X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1714; 3:SwMxzcK3xd96q9TiprrKEUpTpHxJZTlqJehK3rjCR6TT8GUsPI/KGmCkMqefKJSwO37+Yf3AEl2pGvht+297NgyGJYPc7OVJEiSEA8PqZQEQ7FZ6Ow7YuuOO1Hi0xDe1i+B94YGMguHHtTzNXu1yclaVyDz8yeFRb9vUcmC3tJQEv3MOY4EZfK0P8EeTljiFYSaW1G9taWtAG+z9uXF1XmL6s2q/+Ej0JwNO/bITmyXo65JfvBnZw8SMJzGybTZO4lWZqwk+f8HkPmCHwG2CizUvLqMiccuEU1j7C2HOg74Pf59gYDz41feiw6uj3zi3hbwuR3Z/hF9+8avf8co5zJN93T9mxwvaiAnqp65NkgVKpR+PksuJVU1kboQVv4etL06bf/LY0h+iOBf4peE6DUJ3z7BVY5GcRUloxbqYbqRs1XNznNu8oAFgRYyQ1cT7OZiDW5A+VWSpr57kYFeEANurAHqqBVsyNT52PxGM+M+TvahN4BT8B0uERsecdY5QiHlz/RAgvqlC+8wTnFxTHGENtOSPnd2TnPKV36+d1Jmi4vWLVh2gx/8Bzy88tDECl5GBAiNYtWNw5rx3mv7W+hPt3NyHjbQBd0SZ+lQScozHw6etfDoAvEJL/rRRdyREMo2fjNzTNckOKHPR69a5TMMErfAWSWtL6HdUJx2k4AubudhssupSEWHjOsh0x6b5cnGHtXuqmGFrsfJVAtQyn42xZ6mDkugyM197jcb6mpicWGMPHS7H8wRI6FN0Hv/E X-MS-TrafficTypeDiagnostic: BLUPR0701MB1714: X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1714; 25:K3CFrx6/q7jtSebSlH/fFThI1edGC0Ij1ulE9Lw8Z7+dmb6AdK8OHzZVXlzB9HFtH3SGJyFinoU4uqT8ZSe+wU9ofEB9WCtYzalj0L8CGYQItV3uuqFK3jAWVagadHKhKBU0lVdJODhNTPkV6AQKyCn2qj2+BYUMXGDg5CiV4HTrKswDPKTb6wMtuWKk/n7KC/DkKZ7tUMkAh/24t1sevgs8NyytSjH0sJFfKhBVs9Ag0pX7H0OnJEJacC2rOzNURV7oVeOGlLZXpuqmK5t3CqdZq7LIE8YPbwCWzG9CkwQFNDoxYKx0VqYC8G+P2klO7ctilDrrT3/RTsIiaiYMvH5GkW4kyO0fhEornJZ9C6LFU51yOQ1BYKNordz29fKO4jmb63sAmyTN/coQbEAAEXF+BduS02ws+WJgzFN4UuflxvOAumAsvcqzNZw4TrYcLI332Po/3BBf/2GE7j7ZyCYgJxR5MU72TDO69AOYBlB7wC8NWxhp4zMnJypOzKND77M855Z3wAC/mKDvMj3ZVGC33P5exmFZEJBQwCt7bJAGoPl7tNFx6hu30MEV6I65/RGNSlXyZVohuVuiqteEdXejuktjaNWD6N5mlrt+eWzcx/nca0IZLGl32izOnlAJ2rkilM90U/uKem1fy9AuWB/Tq8pKR4+z3lWt/ndedWfmbIQf/s5pS1Ivyu6FicuzhHxICrS7Jd521IFh+okkAVntgpO+mdr6BA1Sez5lEdEb7or3KifQ3lk8vRZhR5Kq+3ziXM4c6lGyIEq0HuUmfxLvU/pwy02zhEY4fhsXQ9EgI1Tar0kYR7PjSHq8fWyn4itweGlRH86KIKplze5zohQZsbWb7PYk/S5pGroBEz4JcMgJZYiikJXpldslXr21h6OvsV+0lSjmOZPPOvl9hhUAV07W+UgiboIj7Xu0n4s= X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1714; 31:CJAgVYXarkC3p7rh9D1C+zr1//S7JcXiFh+iTib66gTWhO7JGlqWEGmHACpN5eouSzqaluaQQ85Jo6mokJ+wU2ISx6/GNzx94w0QF0wSDQLP8eERtN/rLnu8FqYFJJHsgz6y9u267/ATmBiELcF25XBcJlcLUGfMDMM93FfYtXwLnGzF0JWR42LVkUdM/IyBcbTUREEY+LWiGO5Fpk8EcBI4Hjb6XoemirxmXHyqMFiEl2cmBFOXnX0x0tgaYz+HQeTJ1qhMah72ZFW6AEgf9hvsQphX/C+VHXn/dPn3bH1XJhcPLSAjlf4tTW/nKix02JhjRkQpoWIUYdnkRt+x7UKnCHEziCCAYCqdp18mUDYAUldH/I3S0w6VojQ1UU6syWBD5xX+kdghZ0POY/yLextiWLvo4g/HJq21mOzXGwU39EX6HUtQw+Hd7W8zK3s8ZW7MKQE+9iUX6RC5x0o071ylYoCUcWQDkRwuQL/wgfD/tya7qBVaxHZmu+7emEN2UCBIe4nYsjzL0S5tOI+bnMSz58WDfB8W8ib8OxAzwP7KJIbeVoLP2yNfyoiHCBjZF/FSYst6hMKUsFpuyJCcNfP9qZ8o1XZKWK3OeMVWLowR9zCfH/P6LXMLvOSMpGKORz0JVREbeRdidYf61DrtBNreLPAUXTUGq8fAj+OMveIhSpamd7KXtddaEkixMaXNP7u5o0bAXolXsnUXuyATc+nE+kxRyg0sFYMEEmfhokc= X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1714; 20:aQ+lgg9g0gHE0x7TxW12acBtt3gOdbAZdtMmgWJAv/ps5B2VxjV0lAOOllLCNNNamAIUPwgy6wii+AOSGzaw3JWIojkxax0UzL/HOBWNjl3FPP/JTX9yYOZtvqVZyZcLT4+Rq5NcKAn1sW7VFz5OouZOer8eihXNyFScE3ybyC7PmN91BCBJUARfjYDvsEL0yN1PLvcXOf7/2n3nhT7gekD6wu4FNQfqnYt4OtOY4XHVrg5MC2LZZwb1bKg+4UsM0EmfH6MNUzA/nsVt4HjG8eekjHgk9C3yQ6Ld86OA1DG0ycrqFYgRn0Qjo5ow+es9nNNwa5Ekl4mrt4xwpAdMcbnvggaP8yPdxU2VKbZPF6JqMiDjN3JyW71EmT3sSc9iyP71oMkLNn9KD2TCfA5YCA4tg0P2N9o5xZIFagyVq7bC7ORPClEiYFj6dSweJX/vU/Xhh7Egj2G1JDZnWryA6EsC7RqMdmEdz3tVN8KRFoZeRPkG613vnb9DfO5vcy4xw5mn21rvf83Y+RAEB8InrA+HnZPUYe+k/XITU7DFWMbl3H4tbLdQwb2xO6eNZ3qIlTMfZQtSXbK5d6uWgmlea/bKaPDAus/J8Z6MztuWfIo= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(236129657087228)(167848164394848)(228905959029699); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(5005006)(8121501046)(10201501046)(3002001)(93006095)(100000703101)(100105400095)(6041248)(20161123560025)(20161123555025)(20161123558100)(20161123564025)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:BLUPR0701MB1714; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:BLUPR0701MB1714; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BLUPR0701MB1714; 4:qKy376rmxNg4qhBuOghQMbU07V8dn6RuJOYAv5pN?= =?us-ascii?Q?pLe8pe5cmaUPu90iJPRUQzl54EgVlHE2h0+wPZfNJehebCIKBfvle9KPA4T6?= =?us-ascii?Q?vbQaUOqdpD97o2AX1VSYw1Q+nvIOKwf/vheNopTjZeCwrh/7IFnr1Unbjlnf?= =?us-ascii?Q?BEaTaKuaGP/krLTFltH/GG9TdAI6DoqqoW/WxVQCsmzYkITvD/WOAAqYFD4l?= =?us-ascii?Q?1dvwAXJLTbYHgfRt1i9BBWGfzn8q0dmaE2pxF8H9zPx8RFpUhzZRq2gPfMVP?= =?us-ascii?Q?+5lxUOyB8/d9/HF/lIxLY0XGsBWNhk8M5B8ExINcv9TTJ6mQMmUzjlfDbn88?= =?us-ascii?Q?yvqUOxjf68iR0PVx3dq5SyGvjc/CqAJDWi0oMwfr8EOxTLVZz1MM9BL36JwQ?= =?us-ascii?Q?p91cZjYk1JYHxJQSvggpJZ7IJT/o/qfIAaBepvBoJOSHj4TE9YYbe9DN/A34?= =?us-ascii?Q?LmlBCvmJejcgrbc5r3cV5eNxBYNGVEXtlHYCg8G41yw922kiGwzx9t00Twv4?= =?us-ascii?Q?2uPbQgvQGPC/mqEwTLF+sDnVpIt72829WNjoEHogGChonUJhXsc/pHOA9ryY?= =?us-ascii?Q?vm6Qapxk3PCpixTANjSTVIJB6vDFB+5bbBzCRyldxuQ9vXFPjuWQNiFPRf0h?= =?us-ascii?Q?htxM5gQoSCg3312QaCz3+XjaHy7YIYep9G4gs9rEr9h//LebvUSbv3lBMPCu?= =?us-ascii?Q?ev3+4QU4so/B7B9MR+QGyvQCAHvc4uaGRgl1dcHObF7GRKyVVydZLnM1gdb3?= =?us-ascii?Q?QLy6OIG6gNG9uHF5lYLPeQ5cKJk02QhWr6FKStu1oIwqcAVc0bztK9kB1jAR?= =?us-ascii?Q?CrHA5smj6ct/GZKHqElqGueP/e9G8vJETTuj6CuMnl03TtJNDQnVMD/Ki+25?= =?us-ascii?Q?eIOmDb+NlYD97MpeH7wN8KrqpFZeUUxVf9dQhBffHI4kjcjwoWC64cJUxivp?= =?us-ascii?Q?baRd39Rsc2sALAHVot8c9BTo3II2EKg67NE0DNMovrWk1ae0A7n6FOFiDFt3?= =?us-ascii?Q?0tJfy4GlQXxP3Ou2B2xuGfPUZ1RWO9gFNKw+PHv5D5SELhmCUmeUr+aZcpN/?= =?us-ascii?Q?854wQksq0i5kIsuUh0mQ02xyK8TRB8XpCje3oYAwLyC7yneokXuFSTVoGa2x?= =?us-ascii?Q?OyQxDJ48kLbyRIgVpgZKl8xo4prN7xa0gJlBDalgl0OtacBwHYwp5+9bufa1?= =?us-ascii?Q?veXknPtGqZR11QNmJYdIVN0KGv9X1n00q0/t71z1MqBfkGWxnbIdwGGCLK7N?= =?us-ascii?Q?7kSLqfHk7iyw8cul8IM=3D?= X-Forefront-PRVS: 0358535363 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(39850400002)(39400400002)(39840400002)(39450400003)(39410400002)(13464003)(4326008)(2950100002)(38730400002)(6246003)(42186005)(6496005)(55016002)(53936002)(9686003)(229853002)(6116002)(3846002)(6916009)(23726003)(25786009)(1076002)(47776003)(33716001)(478600001)(42882006)(6666003)(4001350100001)(2906002)(66066001)(8676002)(81166006)(7736002)(110136004)(305945005)(5660300001)(189998001)(5009440100003)(72206003)(50986999)(76176999)(54356999)(50466002)(33656002)(18370500001); DIR:OUT; SFP:1101; SCL:1; SRVR:BLUPR0701MB1714; H:jerin; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BLUPR0701MB1714; 23:hlPejQ8KOlVW3Y85a+cqhWesmOCDKkYBQ/85Zkf?= =?us-ascii?Q?c5T/sTcphXPqxcElPHAgXhHjyz3oNrLxtAFfqRmm2kqLGDW2WtBuuPd7ussI?= =?us-ascii?Q?lUJI6qNhBpwgeUzHj/tFFIQwSvwawKnrZJYTkhHTR5KTZt+xeIwMz1PTB0sn?= =?us-ascii?Q?rsdbD6Wv1TO/EkA1e/ib4a2LgWzdf5b1C7MYBVlieD3msxd2vDg2KcNzIeVW?= =?us-ascii?Q?KgtPIrh5zNt2Dy5RIAWbZ4zQ9oc6BWlcs+Gwaj9BiuxrFEn95/IEL7xDqlnd?= =?us-ascii?Q?XFapa7q7PPdUVPZWSYUyOE++HtrXlaZtyshGWTiM9R8+QmH55Y3q1WRXsyvi?= =?us-ascii?Q?HFINP/FaB8dFeKN4v7Xk70U4PmUhyp+bT5G49HvqSunbirXAw5inMR1gtsHv?= =?us-ascii?Q?xSXL/mgd5Yc+vv9gPD5WXPrpuByg+k3udouswaJGAdT5UVfo0IkfibCta+mw?= =?us-ascii?Q?DpmgBn6ZxidECimIiRJkGoGM931XDxySlzTIAF81FO92I3/VGgEorPZx/WOk?= =?us-ascii?Q?Qrl398t+DLV+P9kWHAqpTkbo88bfg3GL5Xc74dpJ5pLdsaLAnpnXhnMocU26?= =?us-ascii?Q?c7QVxd3nYOAkjDSWSxKwCX63yTThyMDP/mUXz5YVLAeYLWxGql429X/D5jsx?= =?us-ascii?Q?7qTC3KUEKkaPG71kcpRS7B1mvNENbHii9i9Ov4QztAzg5pIEeL+9Cer+EPwL?= =?us-ascii?Q?EdUX6tdHOZilpNYzR6PqUqguhDbJC5uiriiNCii7CCfQPI0dBeX8F7pu2zC4?= =?us-ascii?Q?4/wRh6P/czqewzDKkC5EcnSXv29SBtYveHF1aXV6RsMuys29ooqrJiKoHaco?= =?us-ascii?Q?8my38KJ58gXyTN2xaDBVcusEL2z0YATzaXKJgee/8AlNTt+jXUQgrIMw+1cF?= =?us-ascii?Q?s6BED/2BI5n1LHsle/vUsVBX8FZL0XLyzUrC1WpqwPGRQbmos9o2QyAJrXly?= =?us-ascii?Q?d5hLL5ZUSjk68chNsSqjtrTOfAGYxgcIQ6d463neqIZVM4CCiVb/rmTwl0JS?= =?us-ascii?Q?Enrv3B6/dltnJKHKi3No1KFLjqDEwdCrDJmy7+fla9289NKsQL6thfud1NzM?= =?us-ascii?Q?vNtu/q1hVOHVI6GTUAiPuvuEYKGyuVGUClJ/hN519u5cLiSG9UCpNPEhg48w?= =?us-ascii?Q?NEZ98ewcwcG2HWVzaGl4uCG+NyMySdjuSWFJ3xPrw4RpC3Cv5UzeTt9h6fxX?= =?us-ascii?Q?PZL0j/69gjlqZgTs=3D?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BLUPR0701MB1714; 6:AKEgyy4uOsPRdh+E4IFcdQbSO6IwXvBnwPQZDfbH?= =?us-ascii?Q?0ZxVq9996c0h+qJumMgYTSBV59kKS62pwr4Ts0z7Mfndyn2zzY+XEi804wYj?= =?us-ascii?Q?pt7KVeOfULUUF9ngcKisVDa5mCASuCjUeX605jwVD+bix9qCIW1wAs5jJLAd?= =?us-ascii?Q?e8jwXODAU1GaRVlmgzZuOVSaBCr1irwEk1Z/8254oU9RWiqMJ8S4vt3h+iWx?= =?us-ascii?Q?XGtEWYjtZslt2bdxSHv/p1XzrXcHcFzlbJ3mxxoomPyCxE9UkRBBoR68uPfD?= =?us-ascii?Q?fyqbuE5jn6JzuCpo7aOsgZsUx5rFyrp413NaVmiZzNJpGSxUgyG4nbU/cAbY?= =?us-ascii?Q?sKtUqYwvT7pGpXsXDjByw8uJMGp8jG0zkbnnpw/uhIihAQ8y9sCL6BdbUg59?= =?us-ascii?Q?ZMZi2vhDanx7Ke2U26CU9QVQ9jGMm+HCR4JfzmjKBqsHuSAt2DhIwfxnucDB?= =?us-ascii?Q?Fmjh/h3dAw+3n2Redy/ENB4taR5rhnXdiwT2sZqKDhSjvkNTUO0uYWMmdGg9?= =?us-ascii?Q?Xqyj3AIAbLJijmIa1V6KGm/nsbCO/MskGXwhYxeac14xuFGX8or2IqbbNjhT?= =?us-ascii?Q?wWl/6rfl7GWdknCleHxwtgY0F6rai6GUaShiSObEYq5mAp4qSiFCy5XEfg0H?= =?us-ascii?Q?Dh4bJXEI+gjbkeZjetYLzYKWbH9mZEuFZ3KMEUVQodhaMowvu++uW8nEEgyY?= =?us-ascii?Q?UtS3Ks8IYsidj6mKMqIwQj9EMnifFVZ4lyN9/VwguQ78JTKWVQ83/wKWu0pS?= =?us-ascii?Q?MZXxIN1KbwVptErY7WiqcGxz5mIOCckGJmRgVcHqsK8+FCl7Rp+zHraDcb97?= =?us-ascii?Q?Z39KpiwFgUnoOGL5rp+Gdjv30b9boEW122Y96frAOAH1HI+5mLclw6u3+wlA?= =?us-ascii?Q?dcobjVul/7ESqy11hWxED7vo5KEUt+ihy6NHX83zaYWIvvDkkH+gyH9Ts4+/?= =?us-ascii?Q?lUmn2xQdpAJjaFfi0dlHzUDSUUBAdL1ag1yBV5oYwSKVrV1ytcJdy8/XowSf?= =?us-ascii?Q?6Z4=3D?= X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1714; 5:pluQYBgVUqhAg/BF6MmLoHbbCFXxG+vCgogX63P93cmZ/SuaukIc2Kb2e0wHu+pKSR9W+cjcnf+fyFIGrYdLfz083m1w+hkbJnIEq2EeSaZHZF+/rKhTOm+T9/CBf2YC8oIILwDB9MYUD4DHPc1EULFCpXACSj1xBQM7s8BIzh2MVNQxjlpRi2qGcc3qw7OawUwLbU1IylsOk1m+rLc/5oyYqZBJQttdoaPFTxYoxvBNjORnBoar9MnSl8HNmyb5L88dT3ELC/QiyKIyMvFcXv7gigWX4PnLo7LxmUJdJHvL3m9tRdOujX42Jefbk79hq1FoBy/PUz8YaLlh7wnvYNmscboqOiUJSS9gqMAM4umviwj4hMIaGrcqGTi6to2Rht4t0nX5iwx0HgCtJq4UZO1MFiDquIwtAoPNH0CXms2TKJhdB5oCMP5wZyTQJ5dPsFEpPVDVmjNJnBq+0k75QYXRhrjgJCVUYVhf0FOTOqfXHt1bfZR1SLOwZpr1pHyC; 24:tzz1XSs7jqxVGaX8fruilgBYIj9UHYpxp6QuCCpAYpo3Fb0bND2oQGeac2ewFT7BsutVuJUkoiWkG0DQH75cetDTFw2PoJpaJqYRJTxrpHI= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BLUPR0701MB1714; 7:4dH5KRiOIa0d1Cg5cUv8tkU0H+uVHdNQa/xYdO9urnHYBCsup4wR/u6LYP3BJa8OXnIYfAOcRjCNPoou9DRCstD+q6tjkrfAiLNt9J0kFsJXvqI2Zxo5f/qPg56CYTvlEO5K7aEqlVfIrjs0ZsczrJzmj/XeYzju1ayMSaY5cArwC4bK+FCxBAigfyaBz/nPHrNZKUVlBGZLeAanRRmsiwJGNkV8AbYRXE3aj24IV5Tq1HMzv8j8VB4Tm7SnrSfpb0ZBZYLhb4c4XHjWDCCKDf3v4xZZcNDDg6uYcAXigVRMzqRJ1fjrmZ42+JxCbA5AVfOgSetTPI6LORuzCWfnBciySyD4B9XQY+RUmEDQpTDoAd9XtV9fvE8Vp5Fao1QavRvWEEvODuc7VAvxP9vzpjji6IR/t6Wgs3zsK7ofi8IOnqYNelCIbe44p34nL+mj+VzoPephYrlbiwoQLR7ZTD6vnOYcXd0AV4YnQyuY5rbBTSZiqHsvFJ7PRDRPj3NXCHACRsqBEYjZJyDFeGDAmIRmgwFRrzYeH9nlcGIsMwRTDpIFB2timVqrI3k5KIk2//raaoIwGI86Az4ubbNbDSpYIyCJ/bbvrNSraPyYKWASTAgPWlOtAs3fY2pRti8X7FDgvoZOkSsAlVBm2+yteYeUJdhWnSy3BUJeoMXRABMxf5TBahYZcFNtnvS6eFYEgZ7SLnu3O1xw66F0LX1KG1AcIAbtvMwz8zZL7byT7XJUFBMvHEHovOMwnLmjuuX0KShMl+JMUagLZQvLqmbBR5xtceNJrmY9Dv2kbfzzyhY= X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jul 2017 12:46:00.7126 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR0701MB1714 Subject: Re: [dpdk-dev] [PATCH v3 3/7] service cores: coremask parsing 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: Tue, 04 Jul 2017 12:46:04 -0000 -----Original Message----- > Date: Sun, 2 Jul 2017 22:35:10 +0100 > From: Harry van Haaren > To: dev@dpdk.org > CC: jerin.jacob@caviumnetworks.com, thomas@monjalon.net, > keith.wiles@intel.com, bruce.richardson@intel.com, Harry van Haaren > > Subject: [PATCH v3 3/7] service cores: coremask parsing > X-Mailer: git-send-email 2.7.4 > > Add logic for parsing a coremask from EAL, which allows > the application to be unaware of the cores being taken from > its coremask. > > Signed-off-by: Harry van Haaren > > diff --git a/lib/librte_eal/common/eal_common_options.c b/lib/librte_eal/common/eal_common_options.c > index f470195..cee200c 100644 > --- a/lib/librte_eal/common/eal_common_options.c > +++ b/lib/librte_eal/common/eal_common_options.c > @@ -61,6 +61,7 @@ const char > eal_short_options[] = > "b:" /* pci-blacklist */ > "c:" /* coremask */ > + "s:" /* service coremask */ > "d:" /* driver */ > "h" /* help */ > "l:" /* corelist */ > @@ -267,6 +268,73 @@ static int xdigit2val(unsigned char c) > } Missing the --help update for service coremask details. I think, EAL arguments are documented in another area of doc directory as well. Update the documents. > > static int > +eal_parse_service_coremask(const char *coremask) > +{ > + struct rte_config *cfg = rte_eal_get_configuration(); > + int i, j, idx = 0; > + unsigned int count = 0; > + char c; > + int val; > + > + if (coremask == NULL) > + return -1; > + /* Remove all blank characters ahead and after . > + * Remove 0x/0X if exists. > + */ > + while (isblank(*coremask)) > + coremask++; > + if (coremask[0] == '0' && ((coremask[1] == 'x') > + || (coremask[1] == 'X'))) > + coremask += 2; > + i = strlen(coremask); > + while ((i > 0) && isblank(coremask[i - 1])) > + i--; > + > + if (i == 0) > + return -1; > + > + for (i = i - 1; i >= 0 && idx < RTE_MAX_LCORE; i--) { > + c = coremask[i]; > + if (isxdigit(c) == 0) { > + /* invalid characters */ > + return -1; > + } > + val = xdigit2val(c); > + for (j = 0; j < BITS_PER_HEX && idx < RTE_MAX_LCORE; > + j++, idx++) { > + if ((1 << j) & val) { > + /* handle master lcore already parsed */ > + uint32_t lcore = idx; > + if (master_lcore_parsed && > + cfg->master_lcore == lcore) > + continue; > + > + if (!lcore_config[idx].detected) { > + RTE_LOG(ERR, EAL, > + "lcore %u unavailable\n", idx); > + return -1; > + } > + lcore_config[idx].core_role = ROLE_SERVICE; Why not to use rte_service_lcore_add(idx) here. So that in future some changes we don't need to touch this file. I added following code in unit testcase and I have 8 cores system. So I was expecting cores prints from "0 3 4 5 6 7" as lcore 1 and 2 will be stolen by service core. But it looks like RTE_LCORE_FOREACH not honoring previous rte_service_lcore_add() functions. testsuite_setup(void) { + int i; + rte_service_lcore_add(1); + rte_service_lcore_add(2); + + RTE_LCORE_FOREACH(i) + printf("cores %d\n", i);