From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <Santosh.Shukla@cavium.com>
Received: from NAM02-SN1-obe.outbound.protection.outlook.com
 (mail-sn1nam02on0086.outbound.protection.outlook.com [104.47.36.86])
 by dpdk.org (Postfix) with ESMTP id DB8532C50
 for <dev@dpdk.org>; Thu, 20 Jul 2017 15:48:58 +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=F10cS70z6cYQGeuJ0VFK6DVJ1xTgDafVFIjUrOeUuJo=;
 b=GGStG1UZm91MEcYjvmXnbsYiKZNq/GZWBkHhkoCVflYk0qt2S2FhcbKFyff0WjL2XFM//zXtUR7hjimXDZ0YNGXoeTrQVnRv2xm0moL97R0Nfs45KnwJxXDIcBkZmMzz0SSXS/sYK2/uHh7lqpuOs4LaFFK9+tMqC4KHfwIJoOo=
Authentication-Results: monjalon.net; dkim=none (message not signed)
 header.d=none;monjalon.net; dmarc=none action=none
 header.from=caviumnetworks.com;
Received: from localhost.localdomain (14.140.2.178) by
 CY4PR07MB3095.namprd07.prod.outlook.com (10.172.115.9) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id
 15.1.1261.13; Thu, 20 Jul 2017 13:48:53 +0000
From: Santosh Shukla <santosh.shukla@caviumnetworks.com>
To: thomas@monjalon.net,
	dev@dpdk.org,
	olivier.matz@6wind.com
Cc: jerin.jacob@caviumnetworks.com, hemant.agrawal@nxp.com,
 Santosh Shukla <santosh.shukla@caviumnetworks.com>,
 Wenfeng Liu <liuwf@arraynetworks.com.cn>,
 Lazaros Koromilas <l@nofutznetworks.com>
Date: Thu, 20 Jul 2017 19:17:54 +0530
Message-Id: <20170720134759.4680-2-santosh.shukla@caviumnetworks.com>
X-Mailer: git-send-email 2.11.0
In-Reply-To: <20170720134759.4680-1-santosh.shukla@caviumnetworks.com>
References: <20170713093255.13986-1-santosh.shukla@caviumnetworks.com>
 <20170720134759.4680-1-santosh.shukla@caviumnetworks.com>
MIME-Version: 1.0
Content-Type: text/plain
X-Originating-IP: [14.140.2.178]
X-ClientProxiedBy: MA1PR01CA0115.INDPRD01.PROD.OUTLOOK.COM (10.174.56.159) To
 CY4PR07MB3095.namprd07.prod.outlook.com (10.172.115.9)
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 8fabff7e-e08b-41f7-d976-08d4cf761167
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:CY4PR07MB3095; 
X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3095;
 3:oI91+AnudIUIYadCsudjCHtTmhcy4XEJbis44cNcXY8lbLaq1d6Qd3s4h3mD43LU/ysSoYlztGIlhoxwNvfDm5u/HD1Z6GbRvAtmhJHVwJt3gsEi9ix7bvaVvSMfZex1gcLt+H4El8k2BEp+FzOFspSq33Pr5MAn1XlXGgoKVZdZd/c+2KpsEqv4z2F423dF9470prKpV3o+PmpdxZZYESzyBtOyjOlHsH+KshLS5XNKV0JfCq9saiNV1sCSS4BhVet7o1pmceFP9HrrHGMUE7FKFINjetd1OauR1Mwdf/SKKZ4BcYpY8R9zvKfAYnB7Jqlq/K5TrsIipathI6PhcPZ9V50kKK/O/TGp8Xs2xUnr05zgVE+4qFzDWaI6UtAcekBniCHW2ldLsHk0bsW6k6V5EXZJxT9D3/4iXR7E1QMh7Xix9RdYTNCCfiW+qsw3JUEY2tIYk/Z1JJUYqg8SnGAQkPE13RnlZkonNAAz7GEz11kP4qqxk/1Dpy9bZqT5KOaMepMhEDZqRpPJLXKj9Y3vub5aV3BuoixeTcV5PJhI77tac63Yoj5a7JlsKLptt12iOWm13xwcxyBvb4tJJ9MuWcz+Y48oXaRL0CF6RDHO1lg+xs2d+Lp9rloVjYsrVmhZFL+6fuhxzCmuOcmte6xt4Wc4x95prK2WkFTWK6WkR90Tf736c/XYl3r1cVdJm0FaN3ldtlMhUSt54mpzlBIdMDcLTdR7Rt9NKtyJm1g=
X-MS-TrafficTypeDiagnostic: CY4PR07MB3095:
X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3095;
 25:aZYRPTwxoQwUwG7oAVUtT6PG+TN9FD9OehQT6lL8sTNJZlK56r1Pic8cyPmRxbJ0a9feak0APBE28XcqxsI4vIJ6bGqw0IrIuaZAFOgRFaK6r3/3K78vYnilXmqad2dHrggygs5D4LcGguNhbq0plgmOmigD5iPmhCja5GZTWNWEZeQX08HUaz29oFukfzByKWa3/Y5dEy1Ocm/L7IGz9oEYXgUvVs5FiJhDlb7XeT0/jzRKC7pZ/jGix0YeW0+Lh2CyE4kndlvEuakkIIwJyySPHFGbRQd0HZXgvjG0z2waXG9fegGCouw0AzjlaQx36I5G/1JJNwMZ9SqyelxmDkBPOFivr045caJ62zhuQIvR0ye2TBhOgYE1vvpq86aLhSuI9OO1FMucvHIfgZS1MNmNtrSeK8aOVfUX0DOEHdSKFthJ3gw6GdjjlsGFLUN32eUzgX9xjw86jxvGfhvSagCZzjOm9SoWGRzKCclOgMJdodmqfp3JXr3ZXcX8Bs9GM5Zk7o6s+SopOU4kBnjvKh0hYYUAzxOX/oGeJ2PTmOnCAD/kUn5H1/HUdm/tEJWkTxliWOuJaiF2KmLox+sQ1D+OkDUwHmNxk63+qbipA4SCRnL1080FFHdRbmgSlggDM+kd0TUfrTDaStMs1lFk/Z1hQMsX4Kz4pJBIzCBHpYtLYcSoaT9pU2ZDIPsEg8ptt8t/IdntbNeugds8OVdQ7nu1+fCSLqqH+9pUowQAhk38MR2sUtX5nTNyPY0bRVcsWaNlx/vBLTSsAK3cGoGvnjnma0zgMYrkhRTha/tRR6zmJQBCZUonvRxo590rNd292dcgdjohDXXedepnUg6u4cpFMj4kxVG3W6Ez5NJcyAyP3g4xC05YBCHI+ZVCUm4WqFlbbtJHuP1qfJmPuLt7B9R/OY5F211hz3rFO0MFcg4=
X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3095;
 31:f6DO+0+uClyNuyADHzlB3Fjf7MwtWv0ZWfUc+YdxoH8qGUUI4xsit7KRXcCfdOGzunT67xrCxhGONxfIYTPmWcnbk8OvgH4VvrhwSQFeLBpalm291l94ducFDnpM6z+Ieq9QwDU5Czjt+2fmPvRqaAs0Dk8rrwZAgJ41E9vPGTl+SezVXbzfiSYJhpHzn5TRIgM80F9vjJstVZbkr25k7quk6NPfio1iCx5C6ob4xFm8675/5OENBW9PsVa9RKuSpbsWo01Eubd482Efo/t/dTrzHDHvfIocI41TGPe0l2+j0rG/KTw+G2oAWvDVghLV1onZS5YR4e9hviaqDczLmATmQWL14vwZwGC2cg61xh0PF04MyAeg6X9HN6+E3INwtML/ph8K3fEGBN02LQFqk0FsQyW8FIXWOn3CH3GaTAsRLhrcRLyDxciddRMvJxdNQkWIJBs5fFLqPB/xi3qu7FpXEp5jcdH3gxMODxhEFqcMPXJyLwpokALswAc0WPNQLj4zZp9E+mBvZ5bEjcDlK75prSdy3Ui/fEN/bufuHkz5+4IzK98DKXAp0Nm1H4hugAPRA6B5nMIVYJPy3yQv0hwvkZODQNrnyhcsMekOIkRNLqdFakaryWm98YtT+6SH6kdnKfaDAhR2lZRSQpUH7mlp146b4b821tOi/j23DCs=
X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3095;
 20:+B9cQNLNlFpZ8zCKWtXDBxOPo4ABnjX2LZGtGUZoepLLhnx/I4I80KnvywkjuBjqhMHQb6+YeF2wtmustflMpi/AnzrTRfqxKpJd6t6imUu0AP2t5utJ/L2QLWlpcAuTHyI/ft2Tx6WoI3TWjUqRkD7y6TLq5Ix2RMiclCSEpyTZ5wK3nWWQEbRczBNoglc8b6Ip57ccKpQFhyS7iKnInI67iHLsq900vwPEwQhaMH454KFteB0MuCeXfgXygR0wFujSl4En6zoZSqFOZ5Y0ET9cZSBQ+qXx8TVvGDAVA/EoyLXvCKSzFbIv/YqI0RJmK4dW870zZ/E6KywWHqlZ/Eycr/GBjBeVI3Dr5NEH3CIRxV2ct7QUZQmte7KIn27VPXYfjeCGlKgJjbXueh+wC1aJbQBd6bFMl9OKecqdKkppVyXB60+5xIu32Y9P1/AtlowJ3rI5BdgKWNolK5Ejhe6r2uhYmwBTUqP6kNNlf0SSOzJkj9E7xN8na0ktWKybTi6+9e7xDFSUiA6PeQCS//JcXmKC0ZAqvebmEsy3jziOyO6Xe7oTDY7GBosvPZnYW3/3cTsZAIu8iKKFu3SBqSFO/aXRnlpg06haLEXHhv8=
X-Exchange-Antispam-Report-Test: UriScan:(236129657087228);
X-Microsoft-Antispam-PRVS: <CY4PR07MB30957A8920D97DF08EEC6152EAA70@CY4PR07MB3095.namprd07.prod.outlook.com>
X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0;
 RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(2017060910075)(93006095)(10201501046)(100000703101)(100105400095)(3002001)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123555025)(20161123562025)(20161123560025)(20161123558100)(20161123564025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095);
 SRVR:CY4PR07MB3095; BCL:0; PCL:0;
 RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);
 SRVR:CY4PR07MB3095; 
X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY4PR07MB3095;
 4:ohV0Q2m/sPUUuXL9vN7oNcw1gxaZBFE60dMmVvP0bq?=
 =?us-ascii?Q?2z1qfRY8Ve4Lak0zAXnCRqa4ej8nKouxrVBeuDi9cszPKN0Iv7MQVd8Sd+Vq?=
 =?us-ascii?Q?nV/Z9c4AgOA4adS2EpvTQ0qdS/Iz+nzTGN81sWdY0AvRnpv+dLetwVPq4HB4?=
 =?us-ascii?Q?+LkYZ2vatyDO2k/oe5Mx12gkMdNjdWMB1Lb/bd2XR/WrxJT9Xb56b/ZMjM7J?=
 =?us-ascii?Q?4G/MYrKik1sQ28O4UA9NIb5NBNv+ccfPjsd0QUmFeT5Fnl8Ke9ik6aONgYB/?=
 =?us-ascii?Q?0KRl+K5B0tIOFf18coJzP3i+81U7Tyb48NVDIzrL9T1D0D500AYr00I4XiSZ?=
 =?us-ascii?Q?FUHdU0aujVdTwukZPARkiZzC5fSqeBsMXctcy9pkFX78kw/6/5aOJitamr6Q?=
 =?us-ascii?Q?WBXQz428PRoCWX80wVPLffSOUcdS1gTNPnmOatCCJS7ropStph+4iE5iifha?=
 =?us-ascii?Q?In5HbWJIFuF4VkGcdbc7+gsSfW3u7PtK2rS0tsCUwuTtOl4MUyJ6oyCVsNMR?=
 =?us-ascii?Q?jzQ7HdBy4+shhOhAGxySsihtJ7EP3r1McDyf0QDnlGuNce6Zlc+pG/FjE1LX?=
 =?us-ascii?Q?B9VTHs43KUIDKbvz+A8d/Y+U73JTQlqVKh7y3o1H/duUMYK0fGmTsrNcPREl?=
 =?us-ascii?Q?3wQdr0tG0OPtmVZSgUdl4blkEt4SF2vDRbkyd/P0FoMoSKap9eXp6sbrHeCc?=
 =?us-ascii?Q?2T03vFGkBOf7vZE7Be9q3Rh//Gol1WYuTJfJB1RH0nGvxFqgztrTpaZV4670?=
 =?us-ascii?Q?l49l4+rog6OS0+5iheHD+JCtZUY7b4l084LORcYKGkem+oFXx05kEid95kax?=
 =?us-ascii?Q?d4PZFMvukXM+3nJQmZNIUpUu4hV/REGrV5p+uWjIEPq4OqAadzYzgj1qfUQn?=
 =?us-ascii?Q?WauHBMEQY5Gh18TJdxvqngn0jdSO48F6BQ2RWWvMzBAc2oYj7UGQ1Ts/xFLy?=
 =?us-ascii?Q?78p92oEQn1FcUz/qHNXc7kvfP9QO5/lzHmiZNALkY0eQvD1brJGhfz3KBwlQ?=
 =?us-ascii?Q?UgWBYijO47hAGNAT2UTkuljkvZ0BkSH/WG8jARf8d8S4re7E5eVKo4Z/QKx/?=
 =?us-ascii?Q?VWVxxxUou1vd5D+6mE5j3dvOoB61tsyoOU1s8ecvWhhWykM9BAq/FVd4LGim?=
 =?us-ascii?Q?+fGgxbStFySkO0eUV4DJxvoNzR34G/Gcsb1rw+Pc9JSL9s7tkje3jzW9xotg?=
 =?us-ascii?Q?PC5xj8HkioMALN5ehAhOnFQiAPuDw/3khT?=
X-Forefront-PRVS: 0374433C81
X-Forefront-Antispam-Report: SFV:NSPM;
 SFS:(10009020)(4630300001)(7370300001)(6069001)(6009001)(39400400002)(39450400003)(39850400002)(39840400002)(39410400002)(39860400002)(6116002)(42882006)(72206003)(305945005)(7736002)(48376002)(2950100002)(50466002)(6506006)(5003940100001)(7350300001)(47776003)(575784001)(189998001)(478600001)(4326008)(110136004)(6486002)(5009440100003)(25786009)(66066001)(966005)(8656003)(38730400002)(53376002)(6306002)(54906002)(50986999)(76176999)(2906002)(6512007)(81166006)(8676002)(33646002)(1076002)(3846002)(50226002)(53936002)(42186005)(5660300001)(36756003)(110426004);
 DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR07MB3095; H:localhost.localdomain; FPR:;
 SPF:None; MLV:nov; PTR:InfoNoRecords; LANG:en; 
X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY4PR07MB3095;
 23:0PE7HnpekRy/Li2Zzi+rPoyBegr78zgqMVC2NgfRT?=
 =?us-ascii?Q?y3MR40wPp0FZWKiuqLY7heDbtkQ7pnyEJaqqDdLvfusYI8yuFbmawnqJ2hse?=
 =?us-ascii?Q?+tUs5c6DfEsA2yGyXf37cYn1tcg9PmEYIkkV5jynqfOhsWvjjXgPA2SFnQu5?=
 =?us-ascii?Q?hXJTrBEwNDi7muoW20S9848tO+cJxTIWt0Im8t0IiKNIXCfPvcjS6OGRi2jt?=
 =?us-ascii?Q?iAHoyzQFcNUziKIetcpHhDcJ8lSMRutY/+0UIVvfYay4UbDhV49dp9/GZ0/Q?=
 =?us-ascii?Q?twHBNO+fRx76RiaI5f11QZNxXNacRIQ6yVgdvKujJLQo8TdGcrq9DJtzJnYa?=
 =?us-ascii?Q?2NIYmjTGVsAmbUB70U3MuLUYlvC2jFj26jCPhLW6HHYqovuKagrx7SFjrR54?=
 =?us-ascii?Q?voRdh0Ga+nzlrAnS+cMy4OmGeyxTFUruMlvldXNdMb5V/CTTblj4wv9ic64c?=
 =?us-ascii?Q?Q7RaZGo7ps2vaWkM6jpEo1YxQJWCCEeyRjwJX7hROdwD1ZIP/PfMqpLbTRXh?=
 =?us-ascii?Q?Ir+Kn9Tg+YX3tVOZMJHySYM6ivmfIFGesqlvUzG2azMFVWEYGN6z5Hb6kLcj?=
 =?us-ascii?Q?PIMS5u1eGw3qumXbNGH6AKCuF1+D2p9/LytRi9Q3GjdB4I6DAwt1YiMw7kCa?=
 =?us-ascii?Q?5UzRQvQ1dhvaf/lhuOReEUjvQIu7iicAms0+mLFU8XpycY9uwc2Q4w3cOOre?=
 =?us-ascii?Q?bF2CVYgUg0DDKx2P3F3f6aPwPTqLYzl+rm/0aRdWk8kX9tUH8jXr8vzQwKl3?=
 =?us-ascii?Q?eK4kgD/Wnz8ghBnIkgH858uuFQs/6Rl85JjQEziXyxCjLOTob7F/AuHwdXEo?=
 =?us-ascii?Q?LePf9yy0Gpd0YqT95iifXvGRRiW/1+ktA6F7Fb+CbhTvFcerVNU/NI7SbuEk?=
 =?us-ascii?Q?HSJl3sgTM9ctDqmG0sqNS1l/2NxE5/9zVLU+x/1tEaUxm6Dg3PkOav20kQdt?=
 =?us-ascii?Q?EF2U6FXKFQTP6EsT1xelDTqukiNKybetih+j8sfF23/PHEtCcpSIQys/aXie?=
 =?us-ascii?Q?w/bgic4vdMY1Kw0K2eU6cT1z67WanfhP2icsueT4oA+3kpE5hiHOY77qFeC4?=
 =?us-ascii?Q?lcvJz/rcJ94sVb1ExCB4BJ17lK26iK6ujkym9g1L0kAf5PmsEp83x0zQFlwk?=
 =?us-ascii?Q?7vHAwpVHI0Coo6P3CUAKpizyDqmcyFhG3Ibi8eg6EQiCvtGjv0YMv/ZWDsHW?=
 =?us-ascii?Q?ChNtMXhgnpmDDDuwJqreH76vYqJZGSQ5ijDZVNh+2Rk8V9ZkSpE1SthG7vfM?=
 =?us-ascii?Q?mUz6FU3wqG56tx9BFNlme30wBY2VyZDjjB3JPYi7LXOdgL4xrZTSvHMJsJ50?=
 =?us-ascii?Q?yXXkNpiiTwKN7KyeMXYgqY=3D?=
X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY4PR07MB3095;
 6:BdFdYIk37rFjGE44JpCwhZh3FyvR4QdJ7sXIcCjTOw?=
 =?us-ascii?Q?rxxdITPdbnwaDzExGbLt/0Lp5W/WWQ4N4UM9Bh6uq+VuVqNNtHmT/WI1gwPD?=
 =?us-ascii?Q?ppyonzbX17kvrkx1CwNZmACWEpUIJLMv5k0BM3xy/8AbmUhaEiBTSGCGkzJn?=
 =?us-ascii?Q?U6yHMrS7WJ/VyjC9foQ6H+qG4xNcaH5I3XLjuDuHopfgbmo0KOupV8+x9IuM?=
 =?us-ascii?Q?XfkMlbpF0ciHepz53Q47k3uUNAdX09kLfkjmOngPjYGAddSzrstM7jndW6O7?=
 =?us-ascii?Q?/m2t2AeNjcMyzVcez7eEmS34iSNQp+mxjxAESAaDVjf/mgS8n8Hw3ltLi9us?=
 =?us-ascii?Q?taC4b0MRSNVIObncdjua/SbKlOnnMZ3l00QP3f9bMV4J4Hncc9cgajIkyWqJ?=
 =?us-ascii?Q?urF2P59PzqLLfNdNDpdYoEiZfeYjU9w2+T2Loe+cBReq/weWxgt/cLQQYPXr?=
 =?us-ascii?Q?kWUEjdIQdi00I8jkiP7zQFErnHKmkjezdKoHIBREL1U813/9Tpc3laD2AQFz?=
 =?us-ascii?Q?EsO1fZ2Qqk9W4nuwq378FdCDWyYRaKRz2vMURZmHXlqPDLH//J1zwgnMicVa?=
 =?us-ascii?Q?CL01aSSK4Mq+AuUeIiHzhhJj1V8OHB8XUZqYXwXazfcfvLw5HqjtJ4J6bOTJ?=
 =?us-ascii?Q?oVBhHgQqlwBIYhHAcT6k8AoAUzjaMZD+/XW4OhA5jpCTjShuKhJs2FlZ7qLA?=
 =?us-ascii?Q?JphBg0pVFX/HYTouMPGhuW0GydRErytGDPYmDCuddQZK1D7sHG9PUnLbX7A6?=
 =?us-ascii?Q?mE8fnkoignxsGRZwsU5qeoDWsgUONuSg7lBGvNeZ5rLJdSAX+/mty/NZ9Fhy?=
 =?us-ascii?Q?lKR1artyApFCZAk4lnyKdvK4jzugiS+QMJ86Z0GrTTYWMGCVExb5byqoLM0A?=
 =?us-ascii?Q?0mP6IE+UYMyeeMPwlCvtf0gO1BLRj/4aYLrMqLtZ8LlT6rUNm8TRZvndQGCb?=
 =?us-ascii?Q?CyULEVCVtTjuXJsm1vEyDfUAmmXJVV3+QdX8CjsXJvCwH2mi1DN2v8kdgxUv?=
 =?us-ascii?Q?8=3D?=
X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3095;
 5:DyJCYquajrFbRKWhYaZ3EzOhUOhsgNY9PQLYUupNj7yU/m29AzGV/pmQRsJ2zB5FyhN4AifwdxIQwncvQPKaiN7JQoJ4p+plo2Ssp9MHBFtg9GqSsM1lSJuzi7uYrduRSFBDlANBBCfa2mlEEWT8luRUh9UIZ0RbO3fv1jigpnx3omHEgNOtwyiN/fxowytzWRd+vDXN2A3W+Fzp9Lw0HDiJCvhZIgjlZTGgA5d3YJOuvPnsSpV1Hf3XV4Qd8FxiEyEwIn6zo3prdSl5utIx3/ktgcldHHjaxcC7KTnJbOVVKXQy/1De8HIvmJjb3rHSdre21bnsqAam/ene5wQrnKp+OxhVypIfjcQ2OPF/jLJbKxsLAjLMIOQARmbWzAC38XxnmXw5lnFEEdIQBt8Ye1FW5jps3txJ++55wferse3A8whoby+kkO50bHOL6pu7ZgZoQAv6d1VSZfuoIJxvUIQi5OMQg9JaClUk/jnK6WpOy/CieUgUVIB7rRo2TLRB;
 24:qwxORETPvTG+chNc2DaYeGuBZ6QMuvyL9Jw0BP1kjDojOgd41AAdyeE8ZiKAa0sgAxzFRyiCplCDPxyTU60zB7ug2LhZIOJ3z5BZ79s71Ek=
SpamDiagnosticOutput: 1:99
SpamDiagnosticMetadata: NSPM
X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3095;
 7:6w9VLuHq2RIUvmc4wVc2QtyhwQF+x4iA8gu7R2cfV89ZG74R7DiIKdxLCpu1I3aU1/w9xgYUzn7s/jN2rPOmAlEZgrGtJ9YpZXpZHHZet+FbWoWP3l1NsQhokrBfpH/OCNHr/xt3RAPq2lxGkAZu0yYQvTCS9se91rv9nUovXeGTCPYdtn03jqCEVnbTknsoEIvmH6gwLq9eP3iv7OXhhAFdjIGyvgT/og4sp1g4Q0tB0sUFbJ5bDvexfdz04Q2gONfkmmMobuCjCq/xHy0hI76+aS3vGOKbiKVVDtKWNKdTqyNuGhankqPA2Hkqan7cIbvMFz4ZCuD1sebuznbjpEYTmasPEar61vn2pTMyqE5iwGvQ9UXZxrWsV5x3YYc1oj1mYWM6QU405+72Z21+LqfkNSeJb+zdm/3R4LTh9JyFYMSS6wnYvDERP7qLzHdoAJactsi1+tQPm41w5dX7r/UFCh86kKC4BNXVqwEdDpBTArKLXrUbd7SA9pA40vbDZ08FjYPil1uQy/TsirBUR0qQecPgMdSxWK65qoHjxqqLxmv7arEpylS3a7+t1t2teebAvOrXw2kRp3BDT+F6TZd9lm2exNEaL55Po3OHh0RzBshe2iNHLm5mkiddINvpIEVdm8Oyt9jS0XFijl++Y8lAEl4rSU7CaIfn8bqkCw/32N6wIVO0OLAMq3ODibsQurSbnY6eP1uJndqmJROjTZkAo0lRw0i29N4Sb/Zn1uCLWIb/MtpIBfibF5jr4XbEenjyt9mEEPokdFf3Peb+HvaW4N5st0h0hZDmFG4YO0U=
X-OriginatorOrg: caviumnetworks.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jul 2017 13:48:53.8534 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR07MB3095
Subject: [dpdk-dev] [PATCH v3 1/6] mempool: fix flags data type
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <http://dpdk.org/ml/options/dev>,
 <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: <http://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Thu, 20 Jul 2017 13:49:00 -0000

mp->flags is int and mempool API updates unsigned int
value in 'flags', so fix the 'flags' data type.

Patch also does mp->flags cleanup like:
* Remove redundant 'flags' API description from
  - __rte_mempool_generic_put
  - __rte_mempool_generic_get

* Remove unused 'flags' param from
  - rte_mempool_generic_put
  - rte_mempool_generic_get

* Fix mempool var data types int mempool.c
  - mz_flags is int, Change it to unsigned int.

Fixes: af75078fec ("first public release")
Fixes: 454a0a7009 ("mempool: use cache in single producer or consumer mode")
Fixes: d6f78df6fe ("mempool: use bit flags for multi consumers and producers")
Fixes: d1d914ebbc ("mempool: allocate in several memory chunks by default")

Signed-off-by: Santosh Shukla <santosh.shukla@caviumnetworks.com>
---
Cc: Wenfeng Liu <liuwf@arraynetworks.com.cn>
Cc: Lazaros Koromilas <l@nofutznetworks.com>
Cc: Olivier Matz <olivier.matz@6wind.com>

v3:
- Changes are based on per deprecation notice [1]
[1] http://dpdk.org/dev/patchwork/patch/27079/

 lib/librte_mempool/rte_mempool.c |  4 ++--
 lib/librte_mempool/rte_mempool.h | 23 +++++------------------
 test/test/test_mempool.c         | 18 +++++++++---------
 test/test/test_mempool_perf.c    |  4 ++--
 4 files changed, 18 insertions(+), 31 deletions(-)

diff --git a/lib/librte_mempool/rte_mempool.c b/lib/librte_mempool/rte_mempool.c
index 6fc3c9c7c..237665c65 100644
--- a/lib/librte_mempool/rte_mempool.c
+++ b/lib/librte_mempool/rte_mempool.c
@@ -515,7 +515,7 @@ rte_mempool_populate_virt(struct rte_mempool *mp, char *addr,
 int
 rte_mempool_populate_default(struct rte_mempool *mp)
 {
-	int mz_flags = RTE_MEMZONE_1GB|RTE_MEMZONE_SIZE_HINT_ONLY;
+	unsigned int mz_flags = RTE_MEMZONE_1GB|RTE_MEMZONE_SIZE_HINT_ONLY;
 	char mz_name[RTE_MEMZONE_NAMESIZE];
 	const struct rte_memzone *mz;
 	size_t size, total_elt_sz, align, pg_sz, pg_shift;
@@ -742,7 +742,7 @@ rte_mempool_create_empty(const char *name, unsigned n, unsigned elt_size,
 	struct rte_tailq_entry *te = NULL;
 	const struct rte_memzone *mz = NULL;
 	size_t mempool_size;
-	int mz_flags = RTE_MEMZONE_1GB|RTE_MEMZONE_SIZE_HINT_ONLY;
+	unsigned int mz_flags = RTE_MEMZONE_1GB|RTE_MEMZONE_SIZE_HINT_ONLY;
 	struct rte_mempool_objsz objsz;
 	unsigned lcore_id;
 	int ret;
diff --git a/lib/librte_mempool/rte_mempool.h b/lib/librte_mempool/rte_mempool.h
index 76b5b3b15..bd7be2319 100644
--- a/lib/librte_mempool/rte_mempool.h
+++ b/lib/librte_mempool/rte_mempool.h
@@ -226,7 +226,7 @@ struct rte_mempool {
 	};
 	void *pool_config;               /**< optional args for ops alloc. */
 	const struct rte_memzone *mz;    /**< Memzone where pool is alloc'd. */
-	int flags;                       /**< Flags of the mempool. */
+	unsigned int flags;              /**< Flags of the mempool. */
 	int socket_id;                   /**< Socket id passed at create. */
 	uint32_t size;                   /**< Max size of the mempool. */
 	uint32_t cache_size;
@@ -1034,9 +1034,6 @@ rte_mempool_default_cache(struct rte_mempool *mp, unsigned lcore_id)
  *   positive.
  * @param cache
  *   A pointer to a mempool cache structure. May be NULL if not needed.
- * @param flags
- *   The flags used for the mempool creation.
- *   Single-producer (MEMPOOL_F_SP_PUT flag) or multi-producers.
  */
 static __rte_always_inline void
 __mempool_generic_put(struct rte_mempool *mp, void * const *obj_table,
@@ -1096,14 +1093,10 @@ __mempool_generic_put(struct rte_mempool *mp, void * const *obj_table,
  *   The number of objects to add in the mempool from the obj_table.
  * @param cache
  *   A pointer to a mempool cache structure. May be NULL if not needed.
- * @param flags
- *   The flags used for the mempool creation.
- *   Single-producer (MEMPOOL_F_SP_PUT flag) or multi-producers.
  */
 static __rte_always_inline void
 rte_mempool_generic_put(struct rte_mempool *mp, void * const *obj_table,
-			unsigned n, struct rte_mempool_cache *cache,
-			__rte_unused int flags)
+			unsigned n, struct rte_mempool_cache *cache)
 {
 	__mempool_check_cookies(mp, obj_table, n, 0);
 	__mempool_generic_put(mp, obj_table, n, cache);
@@ -1129,7 +1122,7 @@ rte_mempool_put_bulk(struct rte_mempool *mp, void * const *obj_table,
 {
 	struct rte_mempool_cache *cache;
 	cache = rte_mempool_default_cache(mp, rte_lcore_id());
-	rte_mempool_generic_put(mp, obj_table, n, cache, mp->flags);
+	rte_mempool_generic_put(mp, obj_table, n, cache);
 }
 
 /**
@@ -1160,9 +1153,6 @@ rte_mempool_put(struct rte_mempool *mp, void *obj)
  *   The number of objects to get, must be strictly positive.
  * @param cache
  *   A pointer to a mempool cache structure. May be NULL if not needed.
- * @param flags
- *   The flags used for the mempool creation.
- *   Single-consumer (MEMPOOL_F_SC_GET flag) or multi-consumers.
  * @return
  *   - >=0: Success; number of objects supplied.
  *   - <0: Error; code of ring dequeue function.
@@ -1241,16 +1231,13 @@ __mempool_generic_get(struct rte_mempool *mp, void **obj_table,
  *   The number of objects to get from mempool to obj_table.
  * @param cache
  *   A pointer to a mempool cache structure. May be NULL if not needed.
- * @param flags
- *   The flags used for the mempool creation.
- *   Single-consumer (MEMPOOL_F_SC_GET flag) or multi-consumers.
  * @return
  *   - 0: Success; objects taken.
  *   - -ENOENT: Not enough entries in the mempool; no object is retrieved.
  */
 static __rte_always_inline int
 rte_mempool_generic_get(struct rte_mempool *mp, void **obj_table, unsigned n,
-			struct rte_mempool_cache *cache, __rte_unused int flags)
+			struct rte_mempool_cache *cache)
 {
 	int ret;
 	ret = __mempool_generic_get(mp, obj_table, n, cache);
@@ -1286,7 +1273,7 @@ rte_mempool_get_bulk(struct rte_mempool *mp, void **obj_table, unsigned n)
 {
 	struct rte_mempool_cache *cache;
 	cache = rte_mempool_default_cache(mp, rte_lcore_id());
-	return rte_mempool_generic_get(mp, obj_table, n, cache, mp->flags);
+	return rte_mempool_generic_get(mp, obj_table, n, cache);
 }
 
 /**
diff --git a/test/test/test_mempool.c b/test/test/test_mempool.c
index 0a4423954..47dc3ac5f 100644
--- a/test/test/test_mempool.c
+++ b/test/test/test_mempool.c
@@ -129,7 +129,7 @@ test_mempool_basic(struct rte_mempool *mp, int use_external_cache)
 	rte_mempool_dump(stdout, mp);
 
 	printf("get an object\n");
-	if (rte_mempool_generic_get(mp, &obj, 1, cache, 0) < 0)
+	if (rte_mempool_generic_get(mp, &obj, 1, cache) < 0)
 		GOTO_ERR(ret, out);
 	rte_mempool_dump(stdout, mp);
 
@@ -152,21 +152,21 @@ test_mempool_basic(struct rte_mempool *mp, int use_external_cache)
 #endif
 
 	printf("put the object back\n");
-	rte_mempool_generic_put(mp, &obj, 1, cache, 0);
+	rte_mempool_generic_put(mp, &obj, 1, cache);
 	rte_mempool_dump(stdout, mp);
 
 	printf("get 2 objects\n");
-	if (rte_mempool_generic_get(mp, &obj, 1, cache, 0) < 0)
+	if (rte_mempool_generic_get(mp, &obj, 1, cache) < 0)
 		GOTO_ERR(ret, out);
-	if (rte_mempool_generic_get(mp, &obj2, 1, cache, 0) < 0) {
-		rte_mempool_generic_put(mp, &obj, 1, cache, 0);
+	if (rte_mempool_generic_get(mp, &obj2, 1, cache) < 0) {
+		rte_mempool_generic_put(mp, &obj, 1, cache);
 		GOTO_ERR(ret, out);
 	}
 	rte_mempool_dump(stdout, mp);
 
 	printf("put the objects back\n");
-	rte_mempool_generic_put(mp, &obj, 1, cache, 0);
-	rte_mempool_generic_put(mp, &obj2, 1, cache, 0);
+	rte_mempool_generic_put(mp, &obj, 1, cache);
+	rte_mempool_generic_put(mp, &obj2, 1, cache);
 	rte_mempool_dump(stdout, mp);
 
 	/*
@@ -178,7 +178,7 @@ test_mempool_basic(struct rte_mempool *mp, int use_external_cache)
 		GOTO_ERR(ret, out);
 
 	for (i = 0; i < MEMPOOL_SIZE; i++) {
-		if (rte_mempool_generic_get(mp, &objtable[i], 1, cache, 0) < 0)
+		if (rte_mempool_generic_get(mp, &objtable[i], 1, cache) < 0)
 			break;
 	}
 
@@ -200,7 +200,7 @@ test_mempool_basic(struct rte_mempool *mp, int use_external_cache)
 				ret = -1;
 		}
 
-		rte_mempool_generic_put(mp, &objtable[i], 1, cache, 0);
+		rte_mempool_generic_put(mp, &objtable[i], 1, cache);
 	}
 
 	free(objtable);
diff --git a/test/test/test_mempool_perf.c b/test/test/test_mempool_perf.c
index 07b28c066..3b8f7de7c 100644
--- a/test/test/test_mempool_perf.c
+++ b/test/test/test_mempool_perf.c
@@ -186,7 +186,7 @@ per_lcore_mempool_test(void *arg)
 				ret = rte_mempool_generic_get(mp,
 							      &obj_table[idx],
 							      n_get_bulk,
-							      cache, 0);
+							      cache);
 				if (unlikely(ret < 0)) {
 					rte_mempool_dump(stdout, mp);
 					/* in this case, objects are lost... */
@@ -200,7 +200,7 @@ per_lcore_mempool_test(void *arg)
 			while (idx < n_keep) {
 				rte_mempool_generic_put(mp, &obj_table[idx],
 							n_put_bulk,
-							cache, 0);
+							cache);
 				idx += n_put_bulk;
 			}
 		}
-- 
2.11.0