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-sn1nam02on0054.outbound.protection.outlook.com [104.47.36.54])
 by dpdk.org (Postfix) with ESMTP id 21462235
 for <dev@dpdk.org>; Tue,  4 Jul 2017 14:39:48 +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=Wj9SNKlgsHmCW1rjJaaDmeX6yL7xqBpXmw7V+Jfa62k=;
 b=HV1rVSdTK//3/UIgxkFwSA1LUdKaTXNY5jd0mhPvCJ1X29bojP9re1tOu1W9cMX67JfsAJWRu5ZbVn4gZOaWarjeMOSUkPd9wSd1nAQmSktGDQLVpUrVyRxIcG0TiNIuuPSOB8DQvNBT99SPik3e5eLVK4wkuwmf7wBgOkSX2aU=
Authentication-Results: caviumnetworks.com; dkim=none (message not signed)
 header.d=none;caviumnetworks.com; dmarc=none action=none
 header.from=caviumnetworks.com;
Received: from [192.168.1.101] (106.209.135.7) by
 BN6PR07MB3092.namprd07.prod.outlook.com (10.172.105.10) 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:39:44 +0000
To: Olivier Matz <olivier.matz@6wind.com>
References: <20170601080559.10684-1-santosh.shukla@caviumnetworks.com>
 <20170601080559.10684-3-santosh.shukla@caviumnetworks.com>
 <20170630161302.1c11ca46@platinum>
Cc: dev@dpdk.org, hemant.agrawal@nxp.com, jerin.jacob@caviumnetworks.com
From: santosh <santosh.shukla@caviumnetworks.com>
Message-ID: <a4b51c12-a3bd-a0dc-0278-29cecb1bb33d@caviumnetworks.com>
Date: Tue, 4 Jul 2017 18:09:33 +0530
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101
 Thunderbird/45.5.1
MIME-Version: 1.0
In-Reply-To: <20170630161302.1c11ca46@platinum>
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: 7bit
X-Originating-IP: [106.209.135.7]
X-ClientProxiedBy: MA1PR01CA0073.INDPRD01.PROD.OUTLOOK.COM (10.174.56.13) To
 BN6PR07MB3092.namprd07.prod.outlook.com (10.172.105.10)
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 44507d6d-004f-4684-70d9-08d4c2d9c0f9
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:BN6PR07MB3092; 
X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3092;
 3:MDrIvi0HMrIzUHWPb7rIpJtrmxogREAub2xOKeIRrzrFWF86lO1oBLB+3YUGrr06YOBL1DcG6VEYF9+Vh7oNMvfQCpoCFtZ07Xc735BdWFZaGvqKjkHM8/Gpjpzdz1PPiKcu+OMnzbnghcvJguRqeHqalMmaNTyJ2oEBzdUEVYGlUEwCCFLGgRZJbF7vPxwcW+jZjk3NZLGAdYLvINcn1Lj48kKu5LsslpWx6+gnql+zGALt1O0fon3sStil/XTaLTsjKsypQyCrmTfJXq5ioeczVp7ymCBnjVMMyzvN+4YyF2iKMviImfcJQ47yY3LTm+/3AWH8kk3NSzzSyhWMEnxfXR8V8J17z14flqEmJ8Crm7z4Zdi0RwbVAzkOevy6mb79i4x99lC7AZG93LENlLN5OXAxH2XhAJHVDcGzYPG60MctS6z0TjKCf6HLvbO8TBGheIQDQaDb37U+xDmuebOAG8HQV/oYrlWT2HL2MMrUDzXhf8B+3+tGTuuftF+T3gb37ASvp/qQa6bdf9aK3wMIiBeexXBlPfUSBP4ze1uVzGCdlps4J31aZ3Z3E6tLpN+rhyeH29aoUy57wNzNtgX/pA7W+SOsxpwla+tny+qdpewR9XzLq0J6fbkxOEDaiNMIALJ6jqh3mzgXDoKCQINsWIXqLnC4tM8rtLuxbd4jjQpZ25WUyncoJGiW9O9fT4O9oyVza95B1NFomoMr1IZpCuREaLTwCi9W5TCbrE9adlD2uZX7M++OlNEXqzmz
X-MS-TrafficTypeDiagnostic: BN6PR07MB3092:
X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3092;
 25:CpCQHbd6E6K5rdbizF9aSJ0kTlPjImmqHoPpen0tU26QGWw0Gslwu2dPG0eoeSMF+8BypZPESzbwbog8iaATT1Hmh7aE/5D6EXmJ7XlOIomPuBUDn7M60Zx6klhZwSJRoFPm+P86OFuodzZM9LEnMog6g4As8nOdfZ0p0yjGe/i50AXA9MzWLoKOP4Ildr9bCCjbncYWZx4eMjXchDr7d2VtqVaYU/6Oim7g8eZQKyyq2blchP89Vhs1IHzymcTR+EvtiylpwkKXep8tjM48h/e06vzX2AqNOFBZAk54cAynXUbjeqY92lwxYvrf8E5kepEwzJfEX3ZqSouowbFb0DwhHURShDXM0YI4LxklvJNcjzhu24aidhCsL9IPqjzGDihDrL9DIfjR6+65e9hlufUo58a4vpolRlxOTZW9WCBHy4dcAgSi/z91JNpP6IdqCvjCKLHZTekBz+9Sj/R3vJkn59eDuy6PNib/DNIlaPcXXCOytcSZuvqF6XukIAa09AzKN6VX311dP1XHOQ3lD6+INVxRC6JnigOc42H96ZtFSrrcaL+zMYMFEhdTQlWtQZBP82iz990zVywT+tRYNpc+/wyM9Wbk1yjnM5K8JyF6vyWPFJT0qJ6dQhP5n+xqwvUj6+iZoOl3BQy7AYz/p+Q/Jx47HsjlrdEVx4Sq4UtpyFE4LNcNJTtFQSQ4h8//8YaJtApJ/lfBOR8nDU2jLQCE3MBCdZOFYe5LOuzz99ir6XeulB9lfGqBVGTVPtp1fodM0/JIPHp+fR78EUfLWQparRnL7h0Z/fxuMV5wgt4Q1ES2Q2SBtQVPTKA+k5TBTfEbtl581Az2r8yBzsw+fCFCISV/uSXcEjVHNES3gYU36Sf/roFV1LZHmHhWvvStHIGar0dNGlEmbvGYIR3yEbKYTdug06rCNt5H2ElT4rY=
X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3092;
 31:IU/eJKNFLrIO+zTL5/5noEgTDcDp2MO3Qd5vZyeGJMLxitfhZ1eLHybMSspwUbj6K6oCev7+tAQ5TbRqN9I1Hsp62WSWTzBUqRPlokzYOriUzoClmFrqkt6J9ZNeBod+kKOZ5kmlXtz/ytNKQvNLaZo9lXWaf5X3QnGESL8yQH0RdCLYNIDADnYUXoFU2ClkD7w+zZSnbirzTjzEBNu6CV5tyn9U9ABuS8PpD6Bjizj1i47wr+3HT+SgCOkHCBu4wJcFoFHK6SWXGGMy2Lzy1hDsirrHetczOcDI6beTFQ6Dp0vWZr/YgYG3nju6CET5ai1OsMUTdM6Vf35/gpelEypJSYQJsiBLaCEUoJx4O+KJC71tm62AVaxFZdN2sJjeKF5jClfyvGM6rr2tf2ZyY6afsozArYKPqWArWovl+I7u0pXbLic6n5QTGA2RH0TBYJZpaNZuiTxPMTlh9A0Fp5Vy5k8wB0O4EJAwAOB9MR6z7fANT20Qfdwk99EWG1CDIin7kJdhGUPvSL0HPDPqmXWf79KT68O9Y515EUxVBI28/TxagJDeJqaca4PKElrnzVPOZnmETLjCi4kwynTGlgjCDi4sTxJiSrWAMyVJwhdqAqNv/8Ap4AdUfLmvP8tB3KpB9Suhm7seXVKO1jGICIBBW0wr7GADE/d+4nSayyU=
X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3092;
 20:jE6JNcUWk8SxIl3y4VyGos+/0v/4Uq5d9PQAAGwdAPFVrXMZCuTSOhzTo/Si10Xc2avzzREziF1CgF8L7+ge1pEY2wm/7SRycH5eriFrf9D1gOc8uMpvD0YA7bzxcutiaWRk5LX1MAhicfRG1Ilv6GfMzUGmvoBvXcbKNwCaWvEfntdQeDIqnaqzYuYkPjX8PONUl+KJSmS+vgApvSBNNN5Kv2AJ1V31fjPv4Br9IhjD1DIpV34Tck82PaIGn++AjIlzlL99z3HdC3dDkKaWEA/MKD9VbdtefEIVOiBrb5NFURFfs+HTNJOnY0lAW5JqeWRJ00aJ7JFyKhtEI4NT8ethHRwJ4N7l6Jb0DTAg52P7k3DQxPQd0WUeU0QIyRTedTXbkWjQP+0l+UjkLgsnZxLh7j4eJC93Jgy9xSCrpu/uUZBi+sCB6H+JAq2Y5Vcti2H/Ut6p+gPXg32S3J0vYM8WzKgXryZ7v1L1LyMdjPQ8cldH2CnCRLIs5eMltJXOxHmCp6VwE4cFEdlEZ+E6i5UF+DfwygK9Yd+AvR5bzj+429xAJu5jA2SSBPaMlYZKtBG6IL85EE3wxNfKx/WmlCXdu8rnX8M+RY7lknAj2Jo=
X-Microsoft-Antispam-PRVS: <BN6PR07MB3092AF143DD404407289A839EAD70@BN6PR07MB3092.namprd07.prod.outlook.com>
X-Exchange-Antispam-Report-Test: UriScan:(236129657087228)(247924648384137);
X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0;
 RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(100000703101)(100105400095)(10201501046)(3002001)(93006095)(6041248)(20161123564025)(20161123560025)(20161123555025)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095);
 SRVR:BN6PR07MB3092; BCL:0; PCL:0;
 RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);
 SRVR:BN6PR07MB3092; 
X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1; BN6PR07MB3092;
 4:GXQuktxTwVUTS9k4BaWrpZol2mf7zDRg6Ade1u?=
 =?Windows-1252?Q?YjmgVHdktRTaEW0bo/pi8l0XIxczhPF/fyEtl6Mtq2+bhKfr83hqTVNF?=
 =?Windows-1252?Q?LTUHJ5ju7klRFZdHTMSFpcQ4hp9ytrHeo55yqbXutyKB64h4LVC1QmfK?=
 =?Windows-1252?Q?wl273217zr+gHGn7WuUnlU9Wt3iVs5AKxnn6kDqDGuhtVrOzItpBFYo2?=
 =?Windows-1252?Q?h6DJo53hscYvT3LpzlPp0i3aQNzag4Dm//nH6mCpa4jEGi9kM2xt0l/a?=
 =?Windows-1252?Q?mjbIwJhivolo3YoCI1INJwDUF6ZiJvge/CyTmqb1fCqM6HDaagecyqWo?=
 =?Windows-1252?Q?6hUtCJOwJE66oIstbJDQdrHYqHzF4bjTzFbm2g6CQeU9b3pgsg7qGSH5?=
 =?Windows-1252?Q?2vciB418RTYoxWMl6fTV8u/ejDZ8+hJ/tqSrS2cBr68yi5kz7Y7W67kN?=
 =?Windows-1252?Q?vyEef0eS4fVMuHDi7q36ux4Ubwc0XFug7iv3VJMfjwvW7oAudK1A3LQr?=
 =?Windows-1252?Q?o/Q8ckfZNm2+4S6LFIoDKYhfVe/3m/8WhsCD5a1i3Ya5oaCM9B07CgjX?=
 =?Windows-1252?Q?ydpnx0hnE6JcAHbgEmnELZRpJjqZRh4TFGv++j4wuMoLBsYsKYqJ2LEa?=
 =?Windows-1252?Q?3cLtAa6aP7aPZUes/1jEnq7jHlIbfBWUCb02s0CBbXt887GPqvSay7QC?=
 =?Windows-1252?Q?I2IU9S6R5pLXow/0YHpgNyB5O9RKusIQy5jLVGZnYzVTqJxBDGz5swR5?=
 =?Windows-1252?Q?MTBDcqfP9vODnvU9pMhnuddo5OMny7pVv+3cWmO4GWn34tcTz/WKbTMx?=
 =?Windows-1252?Q?iTw+xdJeCuaiwwdqqC29JkiXy66etsVuX8MrmCWMq8qNiQxmZWBYcp3n?=
 =?Windows-1252?Q?OLV+9zji2fxltgDXXiBc5ebUWoEXQtE1fkjBRuy/IBVDGlTV5sX3NMfe?=
 =?Windows-1252?Q?iV+SkjUMlnHRn8/WxyGedd1D95x+le+OC+aW0oc79sTBuWDJs0mUA1HZ?=
 =?Windows-1252?Q?FvMls5nMsXPo5wC7HsnlStmtSL4uO0Y0llyzCRLJiRzmZxXLDG6iKve2?=
 =?Windows-1252?Q?u3FvgOlYXPcaVx3YBIeiEhmViDbqGm812EEq097fSzH7gVSDXFanSlpl?=
 =?Windows-1252?Q?55hvbyMfCpHXyBdZnMhlfx+QdvuwSOykxEqkDPYTHDqeJdYCHQk9E4Ct?=
 =?Windows-1252?Q?ZZ/w/ogu1wjFDchcPnzY6UP8LLEIN32biJ+zDeSZe4paq70kn7cR3zgo?=
 =?Windows-1252?Q?P8UTfkaayL34xPsBSA9IaKuXmuMJqVGufC+htWyDzW6xZ6CHbKhTmrSJ?=
 =?Windows-1252?Q?KZ?=
X-Forefront-PRVS: 0358535363
X-Forefront-Antispam-Report: SFV:NSPM;
 SFS:(10009020)(4630300001)(6049001)(6009001)(39450400003)(39840400002)(39850400002)(39400400002)(39410400002)(377454003)(24454002)(6116002)(25786009)(3846002)(42186005)(31686004)(8656002)(53936002)(7736002)(6916009)(117156002)(229853002)(305945005)(77096006)(2906002)(230700001)(2950100002)(6486002)(5009440100003)(23746002)(31696002)(47776003)(6666003)(66066001)(4001350100001)(42882006)(38730400002)(110136004)(107886003)(6246003)(33646002)(478600001)(50986999)(54356999)(76176999)(36756003)(4326008)(5660300001)(81166006)(8676002)(189998001)(86152003)(50466002)(65826007)(72206003);
 DIR:OUT; SFP:1101; SCL:1; SRVR:BN6PR07MB3092; H:[192.168.1.101]; FPR:;
 SPF:None; MLV:sfv; LANG:en; 
X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1; BN6PR07MB3092;
 23:aHmpLwDQeu1s5DoidK1Sbi4XTmg9wCJW8yFyi?=
 =?Windows-1252?Q?g72MyVzmm2a+rH3BNb372Kha7cg4HotfwujLy4awD1OElcFOaRYOmkf0?=
 =?Windows-1252?Q?h9jA1QftT9hg0WKu+6V8AliMvqklG+8o0ZV3pfvRXBTIgvnILYcXSjU1?=
 =?Windows-1252?Q?zb+DsP53EtQfq0Bx4MQWqSjTjTvAKmi9UptBgi8r+g1IqVTRQq0U1wu4?=
 =?Windows-1252?Q?McZxBAcwV14aPVL7zQ1/xMqRNWBTpMJS64d7gucyoq00G7aIvhFpQrW4?=
 =?Windows-1252?Q?slan3IAgIHWtL0U2k+qugbEj1qoxjudO7phunVV+5h0Zom1POB2r/eMW?=
 =?Windows-1252?Q?7uLScvHoHA+P2iZ9UCZHWgeB1LkmsaZ0G/2lOglTGieiEVQnHr3VFSDB?=
 =?Windows-1252?Q?HsCSaSE4Vc35dMwslLTp8LLeMYffz+6qLzqpN/py/iF4jnRFoNedqNSX?=
 =?Windows-1252?Q?RF+HEpChYHBO0fOpP63agEcFT9fvclPwXT79M3ZPUqYZLqjN00ywPk0r?=
 =?Windows-1252?Q?S6T1Ehum5FPzsw4mhc2f5gLSX0BETCezEaSdtwbJRKOHs26LWtCSWSUR?=
 =?Windows-1252?Q?R/ZyAKGIKrsGYhaqdmqzJTBkSYI1fC9qUKCiHBU4rUP6UcH7uMuYmmHB?=
 =?Windows-1252?Q?OMX601uWgq5YTRPYJbFe/uOS9YxZz9qbiFpRMlLi+LM3IBQ3ihtNzBcn?=
 =?Windows-1252?Q?ZFuArmHuz+mfWWz1pfX9jFPkxtfzxtnDVijbtqOGhyqGVrMQloMBJ02T?=
 =?Windows-1252?Q?b8PUhzYiN+C+QjL5QgoTtZpx9Ih+z3fpY2a8032naZmcst1hn359w+BV?=
 =?Windows-1252?Q?Pgz+wgth2rHniietWFYda2AMlqhZVvtTtypLehfntAKMnAlpmUZ3YeHK?=
 =?Windows-1252?Q?vjQ2jyd0/D1uFEr7F62SnAyYE91XzkbDZztgFN2YqVcSF7Xpzz/3Kz+I?=
 =?Windows-1252?Q?wIuGOZbg2wmFP5zNIKkdP27VCM4gbn256qEnzGklch4ACD8nEaXzXW8X?=
 =?Windows-1252?Q?gt/ANw2nSYtf6/J9SIO9IZWnXazK0/Crycz0F++Fi6/iLhU393pxuF9O?=
 =?Windows-1252?Q?g1h9uqdSSGtVW4pjvfL/j0S1YM2g9l040aRck1lE4ffjc7as3+TUPEhD?=
 =?Windows-1252?Q?zJeDl8LPRqvHseRV87KileqdF0hHYsuhiZeT+pqi+Uo95eCIoOyUtdY4?=
 =?Windows-1252?Q?ZRdmYidEDUzYO7jiULQCal4KsxNhKga0cRGN5da/9VjLYS4AK7ZLvEDm?=
 =?Windows-1252?Q?otGdNqwcqCUmgmbHW9RH7gRnUTsDA/XJ4YVhjLgTHMdABFoVwzwwXXMg?=
 =?Windows-1252?Q?ZbUlG1LtOI3R+SUJ3X17dKNnrwmi9A6yOtb5S44v018ASCs7xApisrPm?=
 =?Windows-1252?Q?3f/8f0l9AeWMr4iCy6DPl1kOd9eAy2qhsWo5LkYkAWY7P9amRFDOi19C?=
 =?Windows-1252?Q?hm3MXyc5e15MNeBv/0p?=
X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1; BN6PR07MB3092;
 6:yd4hK56EXKxEaZL/3XgaOrkToKOIAxI2s+mV8H?=
 =?Windows-1252?Q?//+DsCBgI3mr+TxTNzQprWhS4oCzTYN+LBEhoUd9IUsLETQHnb2Wxk54?=
 =?Windows-1252?Q?pqe/erz29+GD48043QXg9GVPVfeMqjNWtX3YbWpkfHMmNd+h8CKx4qC9?=
 =?Windows-1252?Q?wsI/JIyGoKn0uSHKJCNWtcXdzBkWWP4RpUgDdHo849JmyXpM/oJ6gk5x?=
 =?Windows-1252?Q?Qb2UxeQr0rn/+9gTmslE+EQuA48ChwaQoJGCje/yzzPbCfHuAJ6sayA4?=
 =?Windows-1252?Q?TFnNBWwmE1EWrlgG6c8XiXE2gIyl+T79KpH/fWHHDMStEX90S7zLshtg?=
 =?Windows-1252?Q?2g3I+pdmXCLF7OqYkIIpEbZ1VQ/qsqCIJPk/JcS1L7P57d7/58+WXe4P?=
 =?Windows-1252?Q?MKlVvG69sIjIwP05pm24TnHq1M+jiMdhd1C4DrdB8VqugaJ7nMOYZk29?=
 =?Windows-1252?Q?IiwVIidGCk13cNYDzwx9GOb5mn3UDAGHCjwVf8JObNXGWVD7uyQqGboA?=
 =?Windows-1252?Q?X2RezqdgXJAUS2jwYDiEUmADCYnqmQcDmUEA1t9S9d5nzIxE5r/67FPc?=
 =?Windows-1252?Q?FsYWwlcYQrwqkidAqX6Cvf8bulmESjSi5NQUOl4kQKkrg0y/8q2QCWUH?=
 =?Windows-1252?Q?FVpPrZMOY6BtebNHjcqIOCW5w0adJZh2O8jciwAvjUt+RuKoid7wotBu?=
 =?Windows-1252?Q?7xRL2MgxguIURFuRG3JeW3n2E6AmyG70+oU85jWeuqOVyi5FlQ9XRHUA?=
 =?Windows-1252?Q?kWhOdZc6wFrmYocK/aQcBgmyNMkSeitdvex6r51tRzxJPSS+OH7fDwEH?=
 =?Windows-1252?Q?RN2cMh8MyUz+hkXKC+a/mwgPaCCczSiQpqeSub3YyWWlaJdPcLRM5C78?=
 =?Windows-1252?Q?3gDZbdeP5aWgmdCXxcrgbM0rNgZkyS98DPP+dX6WH/uMfbFJY4Pi9diS?=
 =?Windows-1252?Q?jqn/ubKEG/bLzi4WXWcfySckiOPs4bHJ3gj9LNreejA8FJk6YK1oFLNv?=
 =?Windows-1252?Q?s5e7nFzgOo7CBfPOACnamjSjHdrs107Dg/FnPa/XSurbcJmlo/VVfn2c?=
 =?Windows-1252?Q?aEPoFJ8VyminE=3D?=
X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3092;
 5:/LMRyKDysBRIK6OwS/FzG4/WA4y276LQ799/zDUe0icg8UToyRfR/2W9ZhUmPY/8YB7v/x53qdDnQv23bLQlE2F4l/aCQ2b32RDw5sCqHd4MMwZZ90g7Qj+duq5OnsIET3iiS1tP1sxhOeeSCa4pDRaSKYL/TlW5Kb2M2tyxSy1ssYs7T3UJbbIO3/LAXtJBPmzo+sFsY7Dv6V03BkPNbSPuXkgU2Ak1CCGKqHwUe17f+C1GI9JV4yIiq3rl8TZLYXBB+CvfQucu2PCZe0a3gb+kDQWCGwZnetusj8G4M0cn4cuBLew5ymj6Tfv2sBN69bxdZTiO5m0LpnkX6rOJqlC+MEaSKJwkFKoxNvO5V+94xT22wPLNHlFOjKGF7AX8DYjTFWhJHO/JjpNTJEvlPfbysjSeFSOuOZMGa+uz3bItiosLanL3ijrie9SgHEwefio0Tw+zYKKBKwwqnnGcSYofk6r3QRNhUGCoszMGVh7GsIWYOV2UpY0+wxa8yxz4;
 24:Mcr2O+uewZpCeDRsIj1d4PX5EdfMNEK5npo86/iFcQS5I2jzQRMI4RKWaHYOhk4aLui5s/beeHwt1Ksl99touP8P6FR7zi86t9DP+7IfQ3s=
SpamDiagnosticOutput: 1:99
SpamDiagnosticMetadata: NSPM
X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3092;
 7:ejpqs7JCu/HIuSoryfBptDfbsgijNcg+GjXBXxi8whRlS8nwkWXk2anQOcTD9wCineZDR7mvEkAarPaL8gyKLM+QsimWKBBvZ2cwbOBhlqnKWWwRJPYsGnjBjUTq2dSBap/Pmor5e64BmvLKJiRRxVNUubS7H9inEqWj42CC8RsLYaOhCDivNbQkJz/pu2jFLKbWV7eizWDF8zPdVQbZjsZhlLI/xVW2N0OCmd09sv2I6bnw4bbvXo2FY4rtOv9F08c9pIr+BoiFpEf1x3kO8HVbACJduxlb447xuXKlM5pCl5NNi+Toi/bWl9fsUPLb/flrugPu4RnQEc6wROsJxL6Coo4HsrlmbOgIavqVpjiZUH2gyvssl4ARVaei1XLAIhaIx62byisRWfwE9ABH0WOU/JXWaHIRmDSzTBGiRY8lvtjc+CUbqeupDrPMDcf3c6ZS37sjV96l081fAUBPc43LE08DukrAwRf63SvOiOzXx4ZQZ1C5RGuuWSPOxlXWz2LxXjJP/3wLBm0ZUkIMk7Dll251IXEmM7jla1AOeVTXyySZ0uZ6LVWPZHZZ70EsdPCECzp4lCsFp0BPQ+j579QVcAV49FYW6MOZKT4IVkqDeD1HHrJfPcPI1jep1WrraLVo8ciyIuuM2kjyvSexM4JKF0WFdZl4eJyU3y5wOuQBJkIt+YhuAk7Tgics5Xl6jab8JPeSUI4ZUdPXvssNwTYX2+LffsUIuPHLwizAFdZlXu8rrpNJoK2idQTJWuWIiaocl9NNOVQxErFrZG1OwsZHjkpO64OYsGulinkdhC0=
X-OriginatorOrg: caviumnetworks.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jul 2017 12:39:44.9065 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR07MB3092
Subject: Re: [dpdk-dev] [PATCH 2/2] ether/ethdev: Allow pmd to advertise
 preferred pool capability
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: Tue, 04 Jul 2017 12:39:48 -0000

On Friday 30 June 2017 07:43 PM, Olivier Matz wrote:

> On Thu,  1 Jun 2017 13:35:59 +0530, Santosh Shukla <santosh.shukla@caviumnetworks.com> wrote:
>> Platform with two different NICs like external PCI NIC and
>> Integrated NIC, May want to use their preferred pool handle.
>> Right now there is no way that two different NICs on same board,
>> Could use their choice of a pool.
>> Both NICs forced to use same pool, Which is statically configured
>> by setting CONFIG_RTE_MEMPOOL_DEFAULT_OPS=<pool-name>.
>>
>> So Introducing get_preferred_pool() API. Which allows PMD driver
>> to advertise their pool capability to Application.
>> Based on that hint, Application creates separate pool for
>> That driver.
>>
>> Signed-off-by: Santosh Shukla <santosh.shukla@caviumnetworks.com>
>> ---
>>  lib/librte_ether/rte_ethdev.c          | 16 ++++++++++++++++
>>  lib/librte_ether/rte_ethdev.h          | 21 +++++++++++++++++++++
>>  lib/librte_ether/rte_ether_version.map |  7 +++++++
>>  3 files changed, 44 insertions(+)
>>
>> diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c
>> index 83898a8f7..4068a05b1 100644
>> --- a/lib/librte_ether/rte_ethdev.c
>> +++ b/lib/librte_ether/rte_ethdev.c
>> @@ -3472,3 +3472,19 @@ rte_eth_dev_l2_tunnel_offload_set(uint8_t port_id,
>>  				-ENOTSUP);
>>  	return (*dev->dev_ops->l2_tunnel_offload_set)(dev, l2_tunnel, mask, en);
>>  }
>> +
>> +int
>> +rte_eth_dev_get_preferred_pool(uint8_t port_id, const char *pool)
>> +{
>> +	struct rte_eth_dev *dev;
>> +
>> +	RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV);
>> +
>> +	dev = &rte_eth_devices[port_id];
>> +
>> +	if (*dev->dev_ops->get_preferred_pool == NULL) {
>> +		pool = RTE_MBUF_DEFAULT_MEMPOOL_OPS;
>> +		return 0;
>> +	}
>> +	return (*dev->dev_ops->get_preferred_pool)(dev, pool);
>> +}
> Instead of this, what about:
>
> /*
>  * Return values:
>  *   - -ENOTSUP: error, pool type is not supported
>  *   - on success, return the priority of the mempool (0 = highest)
>  */
> int
> rte_eth_dev_pool_ops_supported(uint8_t port_id, const char *pool)
>
> By default, always return 0 (i.e. all pools are supported).
>
> With this API, we can announce several supported pools (not only
> one preferred), and order them by preference.

IMO: We should let application to decide on pool preference. Driver
only to advice his preferred or supported pool handle to application,
and its upto application to decide on pool selection scheme. 

> I also wonder if we should use a ops_index instead of a pool name
> for the second argument.
>
>
>
>> diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h
>> index 0f38b45f8..8e5b06af7 100644
>> --- a/lib/librte_ether/rte_ethdev.h
>> +++ b/lib/librte_ether/rte_ethdev.h
>> @@ -1381,6 +1381,10 @@ typedef int (*eth_l2_tunnel_offload_set_t)
>>  	 uint8_t en);
>>  /**< @internal enable/disable the l2 tunnel offload functions */
>>  
>> +typedef int (*eth_get_preferred_pool_t)(struct rte_eth_dev *dev,
>> +						const char *pool);
>> +/**< @internal Get preferred pool handler for a device */
>> +
>>  #ifdef RTE_NIC_BYPASS
>>  
>>  enum {
>> @@ -1573,6 +1577,8 @@ struct eth_dev_ops {
>>  	/**< Get extended device statistic values by ID. */
>>  	eth_xstats_get_names_by_id_t xstats_get_names_by_id;
>>  	/**< Get name of extended device statistics by ID. */
>> +	eth_get_preferred_pool_t get_preferred_pool;
>> +	/**< Get preferred pool handler for a device */
>>  };
>>  
>>  /**
>> @@ -4607,6 +4613,21 @@ rte_eth_dev_get_port_by_name(const char *name, uint8_t *port_id);
>>  int
>>  rte_eth_dev_get_name_by_port(uint8_t port_id, char *name);
>>  
>> +/**
>> + * Get preferred pool handle for a device
>> + *
>> + * @param port_id
>> + *   port identifier of the device
>> + * @param [out] pool
>> + *   Preferred pool handle for this device.
>> + *   Pool len shouldn't more than 256B. Allocated by pmd driver.
> [out] ??
> I don't get why it is allocated by the driver
>
Driver to advice his preferred pool to application. That's why out.

Thanks.

>
>> + * @return
>> + *   - (0) if successful.
>> + *   - (-EINVAL) on failure.
>> + */
>> +int
>> +rte_eth_dev_get_preferred_pool(uint8_t port_id, const char *pool);
>> +
>>  #ifdef __cplusplus
>>  }
>>  #endif
>> diff --git a/lib/librte_ether/rte_ether_version.map b/lib/librte_ether/rte_ether_version.map
>> index d6726bb1b..819fe800e 100644
>> --- a/lib/librte_ether/rte_ether_version.map
>> +++ b/lib/librte_ether/rte_ether_version.map
>> @@ -156,3 +156,10 @@ DPDK_17.05 {
>>  	rte_eth_xstats_get_names_by_id;
>>  
>>  } DPDK_17.02;
>> +
>> +DPDK_17.08 {
>> +	global:
>> +
>> +	rte_eth_dev_get_preferred_pool;
>> +
>> +} DPDK_17.05;