From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <Santosh.Shukla@cavium.com>
Received: from NAM03-BY2-obe.outbound.protection.outlook.com
 (mail-by2nam03on0063.outbound.protection.outlook.com [104.47.42.63])
 by dpdk.org (Postfix) with ESMTP id 7BBC2378E;
 Mon, 26 Jun 2017 09:11:53 +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=toj5fi2Lry8HOWCXRCLm6uUzJ/OLa4YAvxLqMGC1rV4=;
 b=ACPl9fkjdeOUS5VRyDVLEhYVOvumLxFvNdOHwcekc30yvrVTNZAKb9BpLBOiLx0iDR++vjeJS9neDQWk8mxnjkEbwpx021Q0uT4Z6b1i0/DP3ilsg3zxsJ9WreZL1FSeIlV0VL1/q0Pq0gtvLn5tbtCpjNKiVi9AHy67T3nXMEU=
Authentication-Results: dpdk.org; dkim=none (message not signed)
 header.d=none;dpdk.org; dmarc=none action=none
 header.from=caviumnetworks.com;
Received: from [10.89.1.2] (14.140.2.178) by
 MWHPR07MB3103.namprd07.prod.outlook.com (10.172.95.9) 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 07:11:47 +0000
To: Jan Blunck <jblunck@infradead.org>, Olivier Matz <olivier.matz@6wind.com>
References: <20170609102727.0eb7f39d@platinum>
 <20170609082937.21294-1-olivier.matz@6wind.com>
 <CALe+Z02HXeMV=kCk=xV9GJ6JVNw_HBWJwt0JnFqE7cWFL6KuuA@mail.gmail.com>
 <20170623101157.43dcafe3@platinum>
 <CALe+Z03HuTQoYTT_W0=B4MBHWy9GWwOATmrtPqog0AxsvsRJvw@mail.gmail.com>
Cc: dev <dev@dpdk.org>, Ilya Matveychikov <matvejchikov@gmail.com>,
 Adrien Mazarguil <adrien.mazarguil@6wind.com>,
 sergio.gonzalez.monroy@intel.com, stable@dpdk.org
From: santosh <santosh.shukla@caviumnetworks.com>
Message-ID: <42e53bce-776f-6ede-5565-533f7c2186ed@caviumnetworks.com>
Date: Mon, 26 Jun 2017 12:41:41 +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: <CALe+Z03HuTQoYTT_W0=B4MBHWy9GWwOATmrtPqog0AxsvsRJvw@mail.gmail.com>
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
X-Originating-IP: [14.140.2.178]
X-ClientProxiedBy: BN6PR08CA0060.namprd08.prod.outlook.com (10.172.144.22) To
 MWHPR07MB3103.namprd07.prod.outlook.com (10.172.95.9)
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: f1c182ef-53d1-45d0-ab68-08d4bc629dc9
X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0;
 RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(300000503095)(300135400095)(201703131423075)(201703031133081)(300000504095)(300135200095)(300000505095)(300135600095);
 SRVR:MWHPR07MB3103; 
X-Microsoft-Exchange-Diagnostics: 1; MWHPR07MB3103;
 3:A5aeIr6nteK/B7lUj0S7Ec6GHiCugdx1IFOqX84LfgoDaUhoi3Pb4P/kXyFbkn8uI4/Sl4yIlm/55v9gE/4lPjTItsO9lvhbrPJEvkxTp5CtN7tN9LpCVicG9h0GfSORNSU8JGweIIy5nFsn50BOzO1PA3Ty4q0Vluv5MCVdn1tg1ex3I5mnQs9jSKDc/vQX1nlAI2S4bq52NLqOi/TmVp579cyAL8m6h2LlSSJMrTvfuysOm4OIQ1uWbuLH3i3rOnL/WTJaetdIWwmF3oLIkWsPJYU7iVDGL8d4qGxOMeZlJQ0ojZjpfIlzck7O6gob4qdtGLNFFEP6DFIUEsfu2paObbfCiOVZaleI3LcXvQbK7ry6wFh4Xpfy6Ml2hu0shCIhfKhxiSo22dMEPa5/9hCM3vdbnb/rhTy+xatUPp3Kyy+0uuw0WCm7r/UTaV7hk6D5+uQhD3HyuUediyuMoLIyq8dUW27bj66tMktU7ENdKXveBUDhzaEVHowOzRTSfPld7Roqokve6rOO9Q3ILRkpb8FBdJwSSHiLdAaVD9ZElsxH1iuzq4/RWWEPpOksKRfLoYGWIHdHGNWEct3SRB8sSdi/NIBqNEK0XARA1Osj3lUEhoLE+6SIVeaWhO7SpRJbJHoqYT3Z8HjjFBhFB0Yo+SvC6/zx9ewGtHy22gdM/OWkgOur1xJ2pnYjm202
X-MS-TrafficTypeDiagnostic: MWHPR07MB3103:
X-Microsoft-Exchange-Diagnostics: 1; MWHPR07MB3103;
 25:eyEJVx7Lx1nNX9FIL4aliIt4Q9G+StafUbZF/CGvsxDP8ah5D7kg4H7rG0rsbFtZo6JEZ182tVMmxNB+WVGXTTKoG3gfjlIX4ORSvC925kGXS23KrhjM3bEL5GLRS+o/Z78nJAP0Z7SA5k+9aGNAXgkqbkaBR3KrxZE8rAGKjwrjyY1HipHdz9ogQPIXWjxD/wYWRLV/UdKfr2nrEU0cTUWEc5RaXrdqMKmJ3Db7aJJZhuz7qqqSjy4w0VX3A9jgd2IlQNUeZNE2NmDhvhb2WVnpRNfOhPpwPqmVt2Y44P9E8TJyPMRSAysVatyW5XpeEIkloPq21HaTo4y2kyCMFQWi5W73Z/PyDCtTcMbYiQ/aD9UzZ9/a3EsdauKwAubhcVKG/eMLFeAFBUQFQzzdo3DbOq+51QvKgagaela1bpNcAbtv/K2beO9gPHWieqwnPL9cKZAw16CcoM507/0KGWdCtYhAR4L1MsaIiDSuokCMrKza38yVJTdor9s4p7V/ry//iyXl+LlNjxEg/Xf+/sSE8o9GpKm8BbwQJB8n0ATS+eH9JlNq07Li2RmzQvd+vXdsJwReim2HDV8srOrISA0pjVsujXt8Or7I4x21LAQO48+X+c3xfd0203wVrkfCOMLYO/b7oArQifanpc/KhtFOb3v7MNfDnBxTkSI8Q1a5Cg537zMhp4cIlsVj4gt+IaqNwj5XZJ1uKFel65CW/O062eWb8lKlMzSM4G4lOMh1WEBJeenwJl9UUZ5Q/ONimIMb4+As9sRwZU6CMwKrd1vS1TL//pbi+NVaxcimWmgVOZsZnZvhfYGXtkRd4aMmRhLjhDl6mSZEGTU4tkCafn08y/i2K5HAww759ok9W5HZk7M0je1OLEMMG2i96v9rDHAiF3u3kPMmL4stbvGrUHHgLa11nOBgeZc6WCOTf6w=
X-Microsoft-Exchange-Diagnostics: 1; MWHPR07MB3103;
 31:nph9uVABjq7nLBeYyPoT3zghCUaT6L8+GL3d+8yA6kR+B/OEuwPpMf7UqSTRzS0DogTHSmWRME9CF/vW+WUgeW0q+sa5K2CCuQ3RW2IpLV4LGVJN1KFlDzLytIOGwAzsN7kcAI4I2VfaAmQRad0zjHJUW/7KZKmgKI0V5QclrTyewjJy0psg7M8vahv3vK8hyU3C1EiMmuqLRF16Vc2tCoKqBFUwvMDzTwZysiWMpcIBASSNofv/UlcZF0D9rYy5+7ZtCxjJCPg+CdRPX11W5AuP6CQ1C2Ly8/1QLBdn/rjvKf31Qv0o3amAGZXru3XxueXjWrTFJEbm8YwGaotvQ2OXWazGBwzLTZDfqltJ2e4qLHvciuob7KdaNg1ZLZ4G+XTgIyE3OJuedQZOhGZHJ7/lk4qUVwfqu4San+ZbPbM1ScROYHpM//JM8+VDTo+xW7StTzlQwUJxlMmwhxYyJjz+l/JVs8+dfe4wi/Sopn709D38WhlYxuI01taOaLE7Lq61pW2WGcym03r7DlHJnp8c+ZabiIk5WAxZGt0IsIGUvvpYNcjj0irKq236z4CjXLLKfhtaCM82d9jcU5MMuuqXQU/xI+tBKjfN8jW7AgxUc3xTzIRlC1kbYOgRxpJUiE++yE+2I0T+9yAC3o6jmpZqiI1mCauBduGJvWp5+yn/tmuX1BpdsSRqZESOu5HnTeZoPkF5D+TF2fPvhM38mA==
X-Microsoft-Exchange-Diagnostics: 1; MWHPR07MB3103;
 20:CVM31BK4JQRLQrc479M+FSyYO37yT6XzbGUoePWBHBw+uqLPHk89C4x/5FYAhTd9r37onLExCNAKDdipaq0fAFkPt6iEKtu7WKxy9r9A+b/5ZJSIh1Ct+VxikvO3RSPNBs5jvo20zgTQX9Q3elZcK0SKE9ci5PRJNRL5Xf9PooCauifKB+TEt2oFciMPP+F7soKKULpI80wPFgAbC+SCyYsJ72MyRIDJg025cfOBE22vYlaqwv73rrapcxZjmE1xd7rCB+I3G5w0i4cPYWSarFiez3loR1jG3N01Ge/Q+5j9iNDhtKthUmpBrEEPt1QdHA9Jw1UBKnpKrfTXPbQxM9653C4FxiAoyTzevl+x9Wep8uPKxNLCUZ0fyWZN6iAUaAfbi/xO9nTkaAVd+EBSWteE+RnUBryXjYWpygeK6p8INnQugmMtWT2VYqmk35gyPpx+oFnRVnFPgV27R+SimdI5flIBim9JOYJRt+Sl+t0syT4W+XLd6ZBGxTWVYg1UrOv2h/zxNiW0D1QTxyBzGG104kPOOKfPrXVPvfTQ8eJ4nTX6W6805IaLpJKbqL8abyNn3l/51NZRDK5AEb5yl6eIZ6qeFoN7KZPKaDXs43U=
X-Microsoft-Antispam-PRVS: <MWHPR07MB3103DF15458F273DF46930EEEADF0@MWHPR07MB3103.namprd07.prod.outlook.com>
X-Exchange-Antispam-Report-Test: UriScan:(133145235818549)(236129657087228);
X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0;
 RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(3002001)(93006095)(10201501046)(100000703101)(100105400095)(6041248)(20161123560025)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123558100)(20161123564025)(20161123555025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095);
 SRVR:MWHPR07MB3103; BCL:0; PCL:0;
 RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);
 SRVR:MWHPR07MB3103; 
X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtNV0hQUjA3TUIzMTAzOzQ6UHVFaytOOUFORUJmVTVZMndhdnpRbFJURXRh?=
 =?utf-8?B?MWNaSzVxd3grbWJRTW0zRUF1QnI1NDZ2Qmx5OSsxTjU5UE9GWlVCZkFCY2tP?=
 =?utf-8?B?cW0yNGJTa2JUcHZZNzVSaTQ3V2lVVW5ySHc1dERSVVhmVGMyc0hhOU14d1k0?=
 =?utf-8?B?cFpGTUlIQnRoSENRbVptZS9KR2xTYnVkTS9oOEZBS25nUHcwTkRwLzh3cmwz?=
 =?utf-8?B?RVhtSFd4M1IwNXVTM1l4Y3g4Rlc1ckdrNzRzR0QzNnp5eUJNdUdCUUJFZmhk?=
 =?utf-8?B?dkNoUGptNGcxWUdlVEtBek11YWdzUWFVZU9YbkIxcjZQcnkwR29lR0wxS0Er?=
 =?utf-8?B?NDJONnVtZmVwaWFZcDYrSWNyOWpiT05wTExtT2txOERUMXR6Skx4VSsvMnUz?=
 =?utf-8?B?bXNsNUxDTzNYSEdpUVZhbHFZT2NIc0hBN2M3RTBRa2ZHN3ZHYlVkbC9aVVdu?=
 =?utf-8?B?TmpYS3FJd3pNNzBCUXVDRU44S0NUdHp1QkRFalNXaVA4aXp3UGd4QTFnRDVm?=
 =?utf-8?B?Lzc4YWFaTkhyV1JUK1RNMytSaWxVT3VUV3dFeG5MeW5HeHNXOHYrS2RtWStq?=
 =?utf-8?B?RnpvanZaTEN1UTI5WGdkWFd4VmlBSk1hSjhPcU1ta2JoZmg4NG1OQ1hzc3Ay?=
 =?utf-8?B?UGtxTUJKUEFCcG1lR25oMjl0TmZaR0drbFowcjJrVUE0d1JsNlBRTUYrSFV0?=
 =?utf-8?B?cmg3MjdyYTVYR0RSd0N2UnlPQXNvSTZnVUFTYXR1eUhCa3AvWDhQSDJ2dktI?=
 =?utf-8?B?ZDZLbGlLVkxxZjNUdG1iSEVGcnRZWTN6N1IwcmpTNlFnVXdHTzduSlhBcnQ3?=
 =?utf-8?B?cW1jQkFDUlR0Qmo0Wk1IV08xWjJVTHNEdGt6ajRQOVJBWmc4U0xpaVhZTHg0?=
 =?utf-8?B?RG43eFNZZGtOaGtveFVSL2s5SDY4TFJxNitNVFVKdUFQR0NmRGsyNmFkUWN3?=
 =?utf-8?B?Q3AvczN4UTl0QWZZZFpnNVE5SkxTcC83ZlJjdzdETHM0cjh6WnMzUWpYTVd4?=
 =?utf-8?B?RmU3OEN1MllkUUpNZ1lFeUcxWC9UUkxoYURUR0dxR3pYTkd2SVFhdXhLN2Jj?=
 =?utf-8?B?RnpHa21xZzVJTWgzajdaQmZiRVZzWHp5Q0ZBWjk3ckNxcDBSQmxLTXlJSDR3?=
 =?utf-8?B?alhRdWdKTTZPTHVJd0w3MFRlVTM1LzRoTkdMQTdlK2x3T1pvZkMyaDNTVTJa?=
 =?utf-8?B?eW9jMzF3TDJoK29hY3d0WWJhTWZtZmhseTkyTGZzZC95bzdxV01xczNDeUdJ?=
 =?utf-8?B?K3VoNUN0NUgwdHlwelU5eWtja0FyU0kvcUUrWDdSTWxhUzVYREF5OUxJL2FX?=
 =?utf-8?B?cTJMVXNwWDEvOS9jT3B2TnhpakpNcWh6V3VUeU1yMGxGL2d4bnlkWGlvODJP?=
 =?utf-8?B?aVZocmZacTh5OFRCZ1JUUDRQU2d5SDNaYkFCWGJ0T0RQV0F6OFFXcDJqaU02?=
 =?utf-8?B?Wk1OaXo0cHRkcSs4bklqdGtueHhYdDNVL2RmemdFblZOMy9wRzlYeWFqS3dp?=
 =?utf-8?B?MDA2YmRSQlVCbjl5WjBUTlBjZm1jYW1lcVpFa0VTM0VYM0pzTlpYWngrbEN0?=
 =?utf-8?B?dXExN3pVdklMcHdqd2krOE55TXNoa1NsK1VCcyt3cWF2WlBpUmEyNDRoZEdY?=
 =?utf-8?Q?wtGwPfWF+OUOX+dnyd+?=
X-Forefront-PRVS: 0350D7A55D
X-Forefront-Antispam-Report: SFV:NSPM;
 SFS:(10009020)(4630300001)(6049001)(6009001)(39400400002)(39450400003)(39840400002)(39410400002)(377454003)(24454002)(4326008)(72206003)(90366009)(230700001)(38730400002)(23676002)(305945005)(5009440100003)(31686004)(42882006)(83506001)(6666003)(42186005)(2950100002)(229853002)(77096006)(93886004)(6246003)(47776003)(3846002)(65956001)(54906002)(64126003)(50466002)(86152003)(6486002)(33646002)(66066001)(65806001)(50986999)(65826007)(5660300001)(8676002)(4001350100001)(53936002)(36756003)(31696002)(2906002)(189998001)(6116002)(81156014)(81166006)(478600001)(54356999)(53546010)(7736002)(25786009)(76176999)(110426004);
 DIR:OUT; SFP:1101; SCL:1; SRVR:MWHPR07MB3103; H:[10.89.1.2]; FPR:; SPF:None;
 MLV:nov; PTR:InfoNoRecords; LANG:en; 
X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtNV0hQUjA3TUIzMTAzOzIzOkdNSmptRmszdS9Ca3c4VmRwaFFPbXQrNnhu?=
 =?utf-8?B?dk4xSEN5bnZXeUY5Um1hZC9aV3pGeWJkRlZLUXB2azhBNFE2N0VGT2piajBO?=
 =?utf-8?B?eEVKU2s0WDJ2Vk9lNCtHbHVCNEpYSjl2U3YwRFFZQXlCdytyZUZEcjhjOHR2?=
 =?utf-8?B?SlgyZmRnV2VjTFJ0RVBIeHhFWmRtbE43WlFvWFFDbjExaEJPWkRjZGJTZkhX?=
 =?utf-8?B?bDRic1lNS24zanNqaWNSMVFIVzFvd1poajNVNjl6YmlJZERlemdIZ2lYcGNh?=
 =?utf-8?B?L1ZGL2NqMlJlbm0vUFp3aVptVXBvQ2xIdEpmdms4eTRwTmJBakhrbTIrQzYz?=
 =?utf-8?B?TERWZ1NQZ0diOTA4R0FHRGNENFRTSktZQVFUSmN5V3BDcUlNNlg4V2dJdWZu?=
 =?utf-8?B?cm5Ta21wZHpBQnhKcTI2NHRROU1HcHFLdDNTOXRpK2FRT2F5L2hoQjFSQWVy?=
 =?utf-8?B?bVdMMGJ0S1o3RHRxa05WOFRLUHMxNXREQnhZZWVNRDFXYmwyejgxazBaRGNx?=
 =?utf-8?B?SWtjdWt3OUszZWRzOGZGWVBucnBZZEhOZlhSM3piQ1lHNCtRTnlla3FNckZB?=
 =?utf-8?B?OVBWUjFSb2ZKUVFJbEFqR09vajJqWGFnQURKOHZvcVpvQWp3T1JXU3A3bGVk?=
 =?utf-8?B?empYZXZGcThtTVdZYWZLRFIrRjlXb2lIT2M0K2VIZzdTOUk5R0JjREg1NjE1?=
 =?utf-8?B?bmlvVSs4QnZIcndPOUR3NHJKekptSWIrU1ZxNEYwR29vZ1RvMjVPSFBpakNK?=
 =?utf-8?B?TjhGcjhua1phMGZwcHhUcjNCN1JRTTVrc1d2cHdZR0JXbzlGSjZ0Z1dmTFUv?=
 =?utf-8?B?Z3lOUXFUK3Z5a1NwVG4xQXZyVkRLamloNXJZbDdyZkRsQk5EK1dNS2dXZElH?=
 =?utf-8?B?bDdrVzhvREQ3WVRwOW1mamYrd3M5SXJKdEpQSTkzU1QrcFZrV3FvMHBUdS9H?=
 =?utf-8?B?QjVxYzRVdWV2Zi9QL2oyT20vd25jSUhSN2Nub0tWYU0zTjlkUkdUYlJvTEFX?=
 =?utf-8?B?c0VhRjh0VmxJQnNBNmI4bjlvVUErMHVIN0M1dCtWZ1lMNFR3THQyb0VHbUtT?=
 =?utf-8?B?VWF6bjNSdGNYbFlwSUVBMDIybXpQSEZpQldyT0xxWDhVZzJRZFlOVGVJRVlt?=
 =?utf-8?B?akJKQitsejd6Ym9EOHJxbDZWdVNMbDQrTnlQR0ZMNmNMcE5scDlNR3JHVDU3?=
 =?utf-8?B?aUpVTTZhQzg4NENJMW9OaFdpVHZveXlIR1NwSVhWbnJKanVNSjYrLzVzNUov?=
 =?utf-8?B?RUlqTHpCSFVFN01mSitxOU5CQ0dhK3FyeG9WS2VvRGpCT1VQNDF3QVVxdGhP?=
 =?utf-8?B?L0k2c25JZ012M1dkaDV0cnZPQlR6U3FzYTltSkVFNlFQYVJUY3d2Rm82Z1pl?=
 =?utf-8?B?MEhqcStLZVdTQm1hcmNuaGJ0UGxHN1VSVjIzaTJtcjVBWlg0RUhENStvTm5F?=
 =?utf-8?B?UEswUERMSk05Vm5mR2Z6K1NLSndqMHkzZkcvQk42NUt0bVBKdlFpU0hRTU0w?=
 =?utf-8?B?ZUh2bmlKVk5lNkVvakVkRmtUbTdNZWZBS3NsN3RIc0JjMWgwWU43aUFhVHcw?=
 =?utf-8?B?RENCR1dvWGlJcnA3WHpFdUh2alBHdjRWTkRaWnhyTm5NT2puWHp3aTdBYWNQ?=
 =?utf-8?B?TGZ5RXdOTkR3dDdpY3lXWTRrb0ErUEZNd3BvQlgzTDJ5QWJpYks1ZzNVdG9k?=
 =?utf-8?B?bXNKWlZZRDg1TXZlSk0venV3cEJMTFZXTUhlRXZmYU9xbEczZUxMMDRwaDZV?=
 =?utf-8?B?U21kSExIa1dmaUJJWVZvNjNYV2NMWTNwWFk3M0VaWjJaMWV0SDZEMUR6N1VO?=
 =?utf-8?B?ZWM2Yy9FRE1pTkF1NTYva0VyQ2pRcjBtRlorTG56dHF0SjJxb1RXRXg0alhE?=
 =?utf-8?B?dU9mZnpwcURXc3loZWxHOVlyT3VmenNpUGxrYlVpK2tEbUhPV01XdmZvV1g5?=
 =?utf-8?B?U3dzV1ZxU0pBPT0=?=
X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtNV0hQUjA3TUIzMTAzOzY6enExaWtrc1pXeDd5WVBkbHVZZGd5MU1yb1U0?=
 =?utf-8?B?ZlFvSE8rWUg3bCtMd24rdHNnMy82TUhSSHQxRzBCd3YxQ3QwK3BwblA1U0sz?=
 =?utf-8?B?UUdhUDFuVXNKS3BjUlVzdGFEUnhra2dPcU5WTkZBdXN5Qi9ySjM4bFBSU1dv?=
 =?utf-8?B?M2l0Q1JBOWk1am5pYk9qT1ZISnlUOFZTUGZrQnBDOUJkSVVTSjFXbWtwNmF0?=
 =?utf-8?B?WVN2L1RsUHJKVGViQmIyblR2cllrOEx4clVOcnJmSTduU21pVHkxK2dtMGRM?=
 =?utf-8?B?a25XRStaNndSSzJLa1RNeEkralFSdVNJSGhGdFhvYk9IT0VqYzRpSUVhOU1T?=
 =?utf-8?B?VlpsYzZXKzIvK0RzMmdBdzh4dzRYTXF2QzNZTW1hZW9vRFhTcWw3WGdRbi9H?=
 =?utf-8?B?T3N0NDNtNnk4Z0JHZWI2c0JZYTB3WWxCaGNxWCt2dFhkUGNDU0prc0JNN0RT?=
 =?utf-8?B?R2JnSEVQTzZCTWpiUXZLOHEzYkRuVWt6WTdiS3I0SVgxTmVOdk02WWpvRXJ4?=
 =?utf-8?B?K3l1ek9yejJhbHA2OW9WNkVzbEs4RWxscjFYREhIcmw5cnlwU1BTSWNIVDU2?=
 =?utf-8?B?cmFoRUFTdVlTaE4yRVA0TlZtMTNraDZRb3prTjJrUWY5cjM5NnZUb1kxTXZt?=
 =?utf-8?B?Rkd0cEFtUWl6L2xIajBJMjduelRtam9FbEd4NUdsbDQ4MW5WT1d0WU5FSHlk?=
 =?utf-8?B?L2luSTEyUEhvNU8rNEZwNUY1d2JmMVlBTEsrR0ZsMFcySWxERzZyWEZVMFlu?=
 =?utf-8?B?cVBkOUNrVHd6YWdhUXE2UEJDNlNSN1NGSUZOdCtsS2RlSCt5RWV5UnFpaFFE?=
 =?utf-8?B?ODR1bDI1VGduZ3NLdHJtRDA0d0p0UlVlVGhTSnFUU2dLbEQ1Nmg0ODBZYVBj?=
 =?utf-8?B?dDFMaHhpc0RjNE5hZVI5UGRvWDY4RWhVY0RNY2hIK3lVbUpFY3dBRXRYRWRS?=
 =?utf-8?B?bVZteUpTKzJjZ0o2V1BLNzRESDNMUEE4UjdVcDNteWFOOGVtMldtRCtLRzJx?=
 =?utf-8?B?R3pYaE5wbzZTekd4endFR0dTT3Y5QkRMNEpmT1Z3MEo5bm9ENTZOZTFWZ2JG?=
 =?utf-8?B?clF6ekpXNUJ6MHBiR1U5dkljUmNlS3ZkR2RyYWhSQis2L296eHlBU1lUQTJs?=
 =?utf-8?B?Sm4rU3d6S3JKUTBBWjhoOFZPRW56K0lYUFFja0V6akRESCtvUXFxZlBSakMx?=
 =?utf-8?B?WTlDWjAvT212SkJPcUNJc1EvNmNicWZIL2xlb3BpNzVpQkJTSFhObnVHQ1dI?=
 =?utf-8?B?dUFaWmUyek5HdFBmOWlyaElQVk9kRXJQZUd4bnRtQmJiUlp2dWh2ZEhocTFT?=
 =?utf-8?Q?7h5J5WyFrmhF9b61ov8/qpUcHp8uqKE=3D?=
X-Microsoft-Exchange-Diagnostics: 1; MWHPR07MB3103;
 5:JWpAgBerKsMuyv5iXaLgPXH0EQJ8ee2MByEkgiDqe4vq0Lfi+5QhdVpY0PWOldmh5tEfwtFv/BKnTyKvh1/S0IE08mfcNj7IJqAXYcCSO/AONslzzaz/Cao735WuGgzWJCS22enaLb8wV+RCXWbY8nSSZVJukVfmjRZwjju+S4evMUjEvj2j+UjZkGQkk2dENvW6SrNzXBsvXIsjOtJTu+GeuOcHNWDR54YrdH74ZgANd+RYZSGJCiNBtmVD40RQotDvMwXuA/tRHmadj/uPb+ekxpVG8DXC7lq1NAyYzD9vPVCqVuoGihHpjatAtu6of0kGdG41A2JF9SExNbHvEuggzIcoByg7z2fkCzoGL1BMyto7/X891KLWVPSnI+ry93BV1UWQJEiUp4GYSkAwCrmMXzd41IWtVC01ttltW4tUKiClUXArp/w2hXg3z+zdTNqRm5nDJgdRMoQnDC/9oQeiHbI+u0pleWjlf0Jir8i5sXqi8juW6VHS+6ZqYlIf;
 24:UnRmFUftDce9wCfcUrTa/8f+eNlzgP7p9Ci+Tmr+5pQjrttK9mqtmGY1wjLEGCPm4ohgC9NTKmL6G0ocX0KdvegE90xBaS7u4BeRAf04nd0=
SpamDiagnosticOutput: 1:99
SpamDiagnosticMetadata: NSPM
X-Microsoft-Exchange-Diagnostics: 1; MWHPR07MB3103;
 7:dtwOWmLwkqmYppJL9mQDyRyQKM4HWLJsYRj8UHBVAx5OAfvXMdQbGCalcasJYSQx31MvdrqeAPClasOJm9uIEUbPyBUbbWWhoeO4HeNFIMuVBsswwghri5JIFokvD0GZUGaoCVe+3ZIXle3mBg0b2NYsvKt9T/le882o6mpWr+vb89hKjeuvxJl+oCX8xKmqAx3UKRPbKsSqnDesllVuQ/496t5JoEyc8V3ND7SqH+0ORoIIQ4GFjB1aSeBf7GnnpZSq8ImZRLUExzpN7ZeSLjAL8yxZUqzHejzfKk4eJZmMymkxKEiB8Bnv+/x7NjYtFSPl7bCipw8gPSbHz03brKYZykOFjsgbTwiA2xeMl7mQwmEcaYlgjbYUTbI0q8LCRECIjcSgle74z4og/u8hBuTIZPwyNx3AEjHNQD9nSPgOWjHkTfnSTlpBAD5TZEi4ukQjgHuAZWq1yRmTK0hqaKfJTFoth3FgCPurutiKdRMFQZsn7u9kXgEMzHsYngjUDFDLTOrn9KQKEVLDz4JAOfttLfjD9gYa4Lqtj9ff9R7vqQsLejFIzy/zPH3QxxmoBqTsTcOYaotAlGGC3O1Thvb0JDfejD1qiwHqxgg0FT2UJ53fZGdMIsD73pJkoYbCKDOaNhRhQ2+EF4iYQsmFNXIM7JVPw7amNKH2M8jAtq6pJ+5OVbxo7PYafqFm01HLi7xYEedx1Ub9iIAROoo/dau/O9QiF7zayhNTaikfNJZFthVVjq48R1N5oKyFkWHhGk7KfzQU33YgmFAkuenXBBXljOctR02E68Wu1Nmp4Z4=
X-OriginatorOrg: caviumnetworks.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jun 2017 07:11:47.7076 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR07MB3103
Subject: Re: [dpdk-dev] [PATCH] eal: don't advertise a physical address when
 no hugepages
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: Mon, 26 Jun 2017 07:11:54 -0000

Hi Olivier,

On Friday 23 June 2017 10:38 PM, Jan Blunck wrote:

> On Fri, Jun 23, 2017 at 10:11 AM, Olivier Matz <olivier.matz@6wind.com> wrote:
>> Hi Jan,
>>
>> On Sat, 10 Jun 2017 10:31:22 +0200, Jan Blunck <jblunck@infradead.org> wrote:
>>> On Fri, Jun 9, 2017 at 10:29 AM, Olivier Matz <olivier.matz@6wind.com> wrote:
>>>> When populating a mempool with a virtual memory area, the mempool
>>>> library expects to be able to get the physical address of each page.
>>>>
>>>> When started with --no-huge, the physical addresses may not be available
>>>> because the pages are not locked in memory. It sometimes returns
>>>> RTE_BAD_PHYS_ADDR, which makes the mempool_populate() function to fail.
>>>>
>>>> This was working before the commit cdc242f260e7 ("eal/linux: support
>>>> running as unprivileged user"), because rte_mem_virt2phy() was returning
>>>> 0 instead of RTE_BAD_PHYS_ADDR, which was seen as a valid physical
>>>> address.
>>>>
>>>> Since --no-huge is a debug function that breaks the support of physical
>>>> drivers, always set physical addresses to RTE_BAD_PHYS_ADDR in memzones
>>>> or in rte_mem_virt2phy(), and ensure that mempool won't complain in that
>>>> case.
>>>>
>>>> Fixes: cdc242f260e7 ("eal/linux: support running as unprivileged user")
>>>>
>>>> CC: stable@dpdk.org
>>>> Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
>>>> ---
>>>>  lib/librte_eal/common/eal_common_memzone.c | 5 ++++-
>>>>  lib/librte_eal/linuxapp/eal/eal_memory.c   | 7 +++++++
>>>>  lib/librte_mempool/rte_mempool.c           | 2 +-
>>>>  3 files changed, 12 insertions(+), 2 deletions(-)
>>>>
>>>> diff --git a/lib/librte_eal/common/eal_common_memzone.c b/lib/librte_eal/common/eal_common_memzone.c
>>>> index 3026e36b8..c465c8fc2 100644
>>>> --- a/lib/librte_eal/common/eal_common_memzone.c
>>>> +++ b/lib/librte_eal/common/eal_common_memzone.c
>>>> @@ -251,7 +251,10 @@ memzone_reserve_aligned_thread_unsafe(const char *name, size_t len,
>>>>
>>>>         mcfg->memzone_cnt++;
>>>>         snprintf(mz->name, sizeof(mz->name), "%s", name);
>>>> -       mz->phys_addr = rte_malloc_virt2phy(mz_addr);
>>>> +       if (rte_eal_has_hugepages())
>>>> +               mz->phys_addr = rte_malloc_virt2phy(mz_addr);
>>>> +       else
>>>> +               mz->phys_addr = RTE_BAD_PHYS_ADDR;
>>> Since you set phys_addrs_available to false rte_malloc_virt2phy()
>>> anyway returns RTE_BAD_PHYS_ADDR so I believe the conditional isn't
>>> necessary here.
>>>
>>> Rest of the patch looks good to me.
>> The variable phys_addrs_available only impacts rte_mem_virt2phy().
>> Here, for memzones allocation, rte_malloc_virt2phy() is used, and
>> it gets its physical address by retrieving it from the memseg structure.
>>
>> With the full patch, "dump_memzone" displays something like:
>>   Zone 0: name:<rte_eth_dev_data>, phys:0xffffffffffffffff, len:0x30100, [...]
>>   ...
>>
>> If I strip the memzone part, it displays:
>>   Zone 0: name:<rte_eth_dev_data>, phys:0x7fe382c62640, len:0x30100, [...]
>>   ...
>>
>> So I think we should either keep the patch as is, or change the memseg
>> and malloc part like this (it's maybe better):
>>
>>   --- a/lib/librte_eal/common/rte_malloc.c
>>   +++ b/lib/librte_eal/common/rte_malloc.c
>>   @@ -254,5 +254,7 @@ rte_malloc_virt2phy(const void *addr)
>>           const struct malloc_elem *elem = malloc_elem_from_data(addr);
>>           if (elem == NULL)
>>                   return 0;
>>   +       if (elem->ms->phys_addr == RTE_BAD_PHYS_ADDR)
>>   +               return RTE_BAD_PHYS_ADDR;
>>           return elem->ms->phys_addr + ((uintptr_t)addr - (uintptr_t)elem->ms->addr);
>>    }
>>   diff --git a/lib/librte_eal/linuxapp/eal/eal_memory.c b/lib/librte_eal/linuxapp/eal/eal_memory.c
>>   index 1c99852..2a401ca 100644
>>   --- a/lib/librte_eal/linuxapp/eal/eal_memory.c
>>   +++ b/lib/librte_eal/linuxapp/eal/eal_memory.c
>>   @@ -973,7 +973,7 @@ rte_eal_hugepage_init(void)
>>                                           strerror(errno));
>>                           return -1;
>>                   }
>>   -               mcfg->memseg[0].phys_addr = (phys_addr_t)(uintptr_t)addr;
>>   +               mcfg->memseg[0].phys_addr = RTE_BAD_PHYS_ADDR;
>>                   mcfg->memseg[0].addr = addr;
>>                   mcfg->memseg[0].hugepage_sz = RTE_PGSIZE_4K;
>>                   mcfg->memseg[0].len = internal_config.memory;
>>
>>
>> Let me know what you are ok with this and I'll send a v2.
>>
> This approach looks better to me.
>
> hanks,
> Jan

Approach LGTM, though small comment:
I think we also need to fix error return description for API rte_malloc_virt2phy.
It says 'NULL' on error. It should be 0 or RTE_BAD_PHYS_ADDR.

In fact, we should remove '0' as error return and keep RTE_BAD_PHYS_ADDR as the error value.
If so then change may look like:

if (elem == NULL || elem->ms->phys_addr == RTE_BAD_PHYS_ADDR)
    return RTE_BAD_PHYS_ADDR;

Provided that return value '0' considered as error value in current code.

Having said that, few drivers using rte_malloc_virt2phy without an error check.
I guess now they must check return value before using phys_addr_t.