From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM03-CO1-obe.outbound.protection.outlook.com (mail-co1nam03on0084.outbound.protection.outlook.com [104.47.40.84]) by dpdk.org (Postfix) with ESMTP id AE8191094 for ; Thu, 6 Jul 2017 10:58:12 +0200 (CEST) Received: from MWHPR03CA0046.namprd03.prod.outlook.com (2603:10b6:301:3b::35) by DM2PR0301MB0605.namprd03.prod.outlook.com (2a01:111:e400:3c08::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1240.13; Thu, 6 Jul 2017 08:58:10 +0000 Received: from BL2FFO11OLC010.protection.gbl (2a01:111:f400:7c09::141) by MWHPR03CA0046.outlook.office365.com (2603:10b6:301:3b::35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1220.11 via Frontend Transport; Thu, 6 Jul 2017 08:58:10 +0000 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; 6wind.com; dkim=none (message not signed) header.d=none;6wind.com; dmarc=fail action=none header.from=nxp.com; Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not designate 192.88.168.50 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.168.50; helo=tx30smr01.am.freescale.net; Received: from tx30smr01.am.freescale.net (192.88.168.50) by BL2FFO11OLC010.mail.protection.outlook.com (10.173.160.154) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.1220.9 via Frontend Transport; Thu, 6 Jul 2017 08:58:09 +0000 Received: from [10.232.14.39] ([10.232.14.39]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id v668w7rB027790; Thu, 6 Jul 2017 01:58:08 -0700 From: Shreyansh Jain To: Gaetan Rivet References: X-Mozilla-News-Host: news://news.gmane.org CC: Message-ID: <39810ff7-d5fd-921b-4fad-81a8013bf1c4@nxp.com> Date: Thu, 6 Jul 2017 14:37:16 +0530 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="utf-8"; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-EOPAttributedMessage: 0 X-Matching-Connectors: 131438050901169696; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(336005)(39850400002)(39380400002)(39400400002)(39410400002)(39840400002)(39450400003)(39860400002)(2980300002)(1109001)(1110001)(339900001)(377454003)(189002)(199003)(24454002)(9170700003)(77096006)(189998001)(85426001)(6246003)(47776003)(498600001)(38730400002)(65956001)(305945005)(110136004)(65806001)(229853002)(53936002)(31696002)(83506001)(356003)(86362001)(626005)(6916009)(2950100002)(50466002)(36756003)(54356999)(4001350100001)(23676002)(65826007)(5660300001)(76176999)(6666003)(50986999)(104016004)(64126003)(33646002)(4326008)(8936002)(105606002)(106466001)(230700001)(31686004)(81166006)(8676002)(2906002); DIR:OUT; SFP:1101; SCL:1; SRVR:DM2PR0301MB0605; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; MLV:ovrnspm; MX:1; A:1; PTR:InfoDomainNonexistent; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2FFO11OLC010; 1:/SpY9Ha4//JSknLSw7BHyOgVDEUnBcWfSdxSmDIC+sc8aAOxHXcRA4FW3wz0syddOfpp9z34MoaHC3XW2/NM6iJkWZYVEG75NvHIv+LmANTTpMU8FoMQ+y0QJNedeTAG1khgI/Wf3uQvlo/0bGsMJFL9axSQXIiNLu7PmdMOZo2ezo+4IbVNE4xKdBDphuWYejh1EbC+e/Kbi2ZOvbzKKzHcpByAsa145fVEQLuBk0Rh5Dg/N6JC143gWG/9Vu2l6NhYmdnsclvL94xtFmPGc94kLZXNRWzSBogg4erbqza6bapAYfY0/mx4n6+1PhleLQxjx0pXVR+AoXR+Yva1ScGfPrXiI7Tctguv/f+XUFTD6e5aN6upQ76upe2Vg//D//BpmOO4wiDLYuCfPwPKx4zs2dEfdxc5Nnh0MiXbWY9biNmgCYHoXPrDwggsqPI2xRIvLgNvGtdA1SGWJxbJp2XI8sNDZgnCPsBrB6B0bCj/r7y0tNxzUzePlR3Na0QUr7RiugHz0Oi0TI0tsT2dvcRY05J05qN6trWbikE6QrOy1JyZ3mYiFpQNBeTV92M6NZuC+Ofd1+YC8365ob4PVexv3QjVW+ZBCkGGP5zVnYsHTF0Ldy1TB69xL/PH8nuFZDshQLI+U3gHmPpUeIRjN7JMB742LJlRfa1PT+Zc2FrGUIV80gEZGel66/m1PiVSeq8itRhC3YUpvnZoKrf69MVr+uRz9mSLjNYs4ibVbcxUwo6TSkHWn0F1AHdMWKP5MIZhgj+JYzNUDPB8kMV0gSatKhg7m+O5zXYnDd9ihw7uqt+xvYaJZF4cE81JMfi37vbHcUbDEbS6zJiZ8bzXUiH/ewEcDz+Gh84Shb16LWzj5CgDSkBVangt9hw97Wmq X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 9ff48991-8d65-49f5-1620-08d4c44d2066 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(300000503095)(300135400095)(2017052603031)(201703131430075)(201703131517081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:DM2PR0301MB0605; X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0605; 3:jZG0Vcrc0u0Mnv1wvGQG5uDZWTSnIFkH+h9cY4snfHR94MEQslHkHqIm7PhX7WPYslFRR/+g0TQPQ41DgPRMm9UJ8u6J/dEywLNsFshzn11aO4QMw9X7EaQ3nz7Twd8CUMrRtxiObEWGXGuiZHoLDEXnwbPDwI88gZ/558UElldZZURLFS2QpbKWBd5nBzM8uFLxA+DOjoS/wCsH/UqXsXwNjcL7ph9lLO+eIp6GAWW6TIbP78aqVXop95mGSOFpu/UO4Suf3HClluGN6M/vkYH0MO07PqdcMzfh/SeCf95+SqO/fXXmkNkw7PSG3FvlbJVA9v0Y4OD4zuzS+XjYajF5CGJ3fZkqQBiT4bbAKqVzmd4qvna6A5hMNp6aua3VlWXwHKVGpetpPkUEapHg3nDQBTvHPBYHjpGfLG1pZ94VdEWMSb8CFCSO2q0OJyN7cXSCn2z8Q751cxMO9dh4Fhhq1VNZkQX7bwCBrkxXC2WhlrL0FJXxxTsH1iLWFZ7naZ/o5lArit/6BCiI9h+zMQ0NoQQwECcNPhy59WhO+1t14yJWDAMQOp+DJ2PbpHm0LR6WI/R2ounsF8sFvWMjpoThAC28QjPngqnGlRaju7DxxdswI/8N7z0RvY/0UkdbyjSQlesm3mD44LHysQaS/bt1rP3L77b5EDwN01jQ/EexrCZ+AsttuOFw4rBZHiAguPFFnb/Jt5UIqbA2DVxw53Bwa9UOHLWLGqQFkTINVbu8VOS2clYPOXV7FIH08ZGifHeA2oXis4hx6gty7FEJwu2GlxE8BiamOwtOjFT0xSOYlq8NeIXfxnzwdkaOpbHugt3fLi4GqK0sSlaMIrBJHSXLMBMZibbReV5mM5+Ty9D+SIY6/Q4QoxUTUvIH43mn X-MS-TrafficTypeDiagnostic: DM2PR0301MB0605: X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0605; 25:/rps8dGsgA4mTr3tZSnhxb8ds9eN+edDsQAbVtiuU2jgVzlmH7b5JnYfXWZPZVPiOYoHEdeeCxGMMpK8rzg6AfcrBshBWPwj13a51XqB+0UmijSchtb6c+GQS37SRvlg0aAzItNEDhM3TG2JP4haC/w+szSPZoQRWDYAYZP8k4IDeJdAQlER5Eh6cCnCDpTyO4RjVlRRehqVy07Pj3Ylu1Cl/3rT707YWSx/sIpY6R0zVvLfHEI/eeHRUFF6igrmxVi0u6IYhfxrq7Q1nbQQpuqV3MVBrQTJ9+o/ZlGBCniMzYFBMHPvnefXpw6HEY4RSA266SqnRH3XYhIqswvCSDOlzu8H63pzw5UpzUli6hqzqI+RsVInUvHMVEF7J6rCiKygTcKNCFmdbmY10Po7/rFsWrgxMuQu8hx2dO7oZp6KDjc5FBSFFbLyVMuulVIpiw3oHZ2J2ETsUiLz2UlbzCOqaAIKKO8JyIEk3JyZ/n48cRDsZbaMZ9+w2y774uwmoVGpWbgjqGn5TLhrAcE/DZ9gWTuAFeXiDEMnmJsDLgXyEk80VXoahgE9m9OklXBJrJjJWbbjhZyLV9QV0cO+mt4OXbgzQlnS3aqJO3XeUdsLzIyArIIv9B2khr8SgqaCp7MbTInt5D0a2OPVKCEALkYr5mc3jju6mlJQ9KiqGCSO0LZn1bjz3BQXzfYTpo8b9tr+tw2J1MNyMVRv8p9JbVxDMCc8gPLg1Mqt500HeMQ4oDspEncSKipNmwDEquy2D/AV7G8T6YKwlWKQIGvrot7pYb0z1NISVvklXrGXVw/M03i+Pj4LJyV6Xnra9JMlEf6AGrKDft9Yl/V9JPEH5cwIyI/2pVLl7oGUPFyIsdVetZ4O3sE/arRWEt1RE4tIXYHhOnoTsRD5ZusJdTcnwYOEDB/5jmsAwzgJwT+ZENU= X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0605; 31:8YLy5bWdmJRigcOFFl6JtRt+3x59tTCkv/pa/UpDRXRxBs/6SLUf/XDIbNaFKoJV12wjGLg98yGWJBp5/Xf/YUR1GNQ2ejpzwmyzUqRaDBFOvuOvH9gnyECDLSYVxo5Q6T/t1VEi3qB9x4ArY1YWqM6R634FbWv7Efa1qVoh1lSYQupnbmnASagpuj8IlVgTh0d8Gs7d2TjpDDzTT7LkDuZqrGHsZ8KY17Q0b8UyvIR346vkWIVhqpZVx2UO+Rt1JyYCW1fCdcwoSqvkQyYWHUt7jaYNEiXQMC39FdRMPwjBgQgjbdPp4FeB0bedP9bh/YtAd5Z7nwz9f3A8wB5C+7PrvgN9NTQny5MF5Lpg2xV4fbJdx3lglWG6m7D0SOX7H5tnqQUtxdKoclXib5dLssXpaoqJMAY/+FwuLieahA3q8H5JGel5XurOzKtL3A2ncMryzCrnJOVZbtAIhzD4om1Z9+PDznxL/TmDPqqJYYaqAd7Lc/zMra7/HrBTrneqLQ4D1DJ7v/aZ9mZpIfOF188AMC4fsPI3WHB8qLlCeAt3Bq36SAp5eZeaPCJcxy/sxiUZVlMbuWbmoUpfyAFe5Wit666zEj3XKP2T9N9pB+TX9WrNTCLt1ldKf/5vYy4DsJ0PZHV0DNHxppj/fXpfCfUCaKFgmmgFvFylc76FlIiA+e6cY8p0tGh9dmIEanjsvzssGmFhPhgRCjIRTS7B5Q== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(236129657087228); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6095135)(601004)(2401047)(5005006)(13016025)(8121501046)(13018025)(2017060910045)(100000703101)(100105400095)(10201501046)(93006095)(93001095)(3002001)(6055026)(6096035)(20161123559100)(201703131430075)(201703131433075)(201703131441075)(201703131448075)(201703161259150)(20161123563025)(20161123556025)(20161123565025)(20161123561025)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:DM2PR0301MB0605; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(400006)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:DM2PR0301MB0605; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtETTJQUjAzMDFNQjA2MDU7NDo1Z3h4eDlJMFhGRldkMkNFSDNXQkxBZDJj?= =?utf-8?B?MlFhQnRBQ2wvVjdhTEVlQWZuOWtOZVdPdTR6Uitwc0I5VkJFWnJ2dzVCUlg4?= =?utf-8?B?RVNONHJ0UzJ3TE5FRUpmSTZEVXBVeS8vaUFZZDE2bG9iNTV3RWowMUkzODNL?= =?utf-8?B?V1RrK2c5V0Z4cUtnUXFGbjBISW9PUmloZDc4a0FaYzRCMllOZjZYNGJNY24y?= =?utf-8?B?dThVY2t2YldSVXBQQmNXWmRRVTJYYVA1dmUveTJhdS9QdTJSck05NHFVci9j?= =?utf-8?B?a1FzMXJYK2NjdEJpSnBnZm01a3g4b3NTd2xBeGhjVlZ6S3FqbzVqeGl2cktO?= =?utf-8?B?MmlZY1RGYmkvTnhJV2duVzFyT1FXTWQydzd1YkpOOGZTZjBLU2tBZ20wbkFh?= =?utf-8?B?TXVRb0xyd056VmdSWGJxdlI2OXd0Znh0TUtTNURXTkljb1diVE9KV24yNzBQ?= =?utf-8?B?K3VkRi9IZGw3Q244WTBuNVJ6NllDQURsSkkwNytPSFlJMTI2RzVBdnlRNW9W?= =?utf-8?B?RUJiY1hteXZOZlc1N2VIYWhYaFBSMm9JdGdPK1YrUE02bWRZQlVEUGpaeHZ2?= =?utf-8?B?S3VpbUdXaGZzdXIwWXlTOXZNdm90ODliRXhsVHh6RVpGZ1U4NURuMkNIUGZ5?= =?utf-8?B?SzVnMmtKUng0TU9HT284QjVjbS9XZ2g5VWlSUEl1d1FjZnh3OUZPUWlqelVk?= =?utf-8?B?aktQYXZQekx4T0dzemVyM1hBM1lHSDRSd0NERVFEbis1bEZqYkd3Rmp5ODRO?= =?utf-8?B?LzQ5ekpyQmVTUTFoNjM3Tmd4K3dMWSs3NVRHcVBoQjlpWTMxVllOVnRpYlVZ?= =?utf-8?B?ZDJROGRIcHJXM2M2L25mdlZjeDAzRjI4RC8xK3czSVVSRWNHRG1KSG1DeU5x?= =?utf-8?B?cHpLdUF5OW9lZGFHRmxLUDFZTm9SSVlhanBLSVBaVTFkMXVoblU3SnhBVXA2?= =?utf-8?B?ZU1pM3A0QmRVYUZ2VzhBTG1wazRzajBLN2dGR3Z1MWxROHFsaUQwZEZ6K0U5?= =?utf-8?B?aUNRMkZldVZ2bnFFUGV0U2pjVElRUDVzeEVlOVMrekl1amtHOHk4ckc5ZERr?= =?utf-8?B?bGVBRW1kbnNGcnViMlRVMVpiRUpNNmYvbUljd1hkaC9FOVliNkoxK0s5Mzhr?= =?utf-8?B?N1JlUXdYbjZQNE5FTG9PWFJtL2JDanU3Q291QVRuNHVUOUM3SjBvOWs4RE1n?= =?utf-8?B?bUZSZVM5VHBJUFRtdk1LQnpDOVY0K1Zod1hLYlZ1aGlONTVBd1RQUjBpcUxK?= =?utf-8?B?dHpER3B6NmtoU3NmT2xXTHB6OUdnUk9mZWl4Si95Y1FKcGRrdWxQYVd6cXVt?= =?utf-8?B?QlFFWno1UHdyTm8wSDZSYW0ybTFaZkNvRUFxaVVuSUxxVC9pbTNzN0dEQlYx?= =?utf-8?B?WXhyc3hQd1VEcEMyd245UFJZVVlxbSs4VS9TVC9nUzhtNS9jK0gyTHRGQ1BS?= =?utf-8?B?L1hVbUc2MG5nbTNxdmZ6UVY1WHM3TjZ2aC9VamlRL3Z3b2djTTJUb1ZqbStI?= =?utf-8?B?Rm84L0FSMDRZdUFmaCswT3lBL2dDanZkb1R1bHN4MTRicHpZT3M0a01rOStD?= =?utf-8?B?N3A5S2JVb1VQUTFudVVVZ0FtNmQveHc2d0pwNmxDMTVrc0hlUUt2OU9MdnQ2?= =?utf-8?B?N25CMm42UmVjbHBQOXlxVFJtWlZhb3RjRVI0Q3F0cnU5SWFXQ1J3WUdBYWdz?= =?utf-8?B?cWhPaU4xKzhHMENzT2NWWEErTjROR3lBY3JrWGo5azBlaXFpeDJrVzVIUk1T?= =?utf-8?B?bVcxamlhaWtZMXFYTEhIM1E9PQ==?= X-Forefront-PRVS: 03607C04F0 X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtETTJQUjAzMDFNQjA2MDU7MjM6bDF1ekhFTzVqTXlWNnoyaUNCV0N2dkEx?= =?utf-8?B?bW9nUWY1TzVqbytlVUoxWEJDSEVyaFVwL3lmdTZpUVlXSVlZdmlEQU5oZE1m?= =?utf-8?B?dGR5SDlTRnYvU2lWWEZ1bWp3T0tmUzNmZ3hBVXBOak44ck54cjdDeVhoQjFn?= =?utf-8?B?RFJiL1JwaFNZN3lwK1dyRVNCMG1hakdONUlsd3AzT0RvRi9GNTdjSWIyZWkz?= =?utf-8?B?V0krNkU0MDE2S0Z3YnZXbDJOQWhzUGpDdW0wWkoxUU14MWw3d01uOU8yODF6?= =?utf-8?B?M1lSV1ZrNlk4SmpkNlBWQ0xZSGgrTENVRCtLdVJ3TlpQK2E1aDRSNG4wZHZ2?= =?utf-8?B?TXBGZFRaVkJ1WUhMemU3eFV1T2NmeTdNdnVENGNKMFVwTmZvcEV4QlIremU5?= =?utf-8?B?UW1HajdwNWxYeC82UUpnREFOY0VaZkxCQVpyYVk4bjdNVSt3b1JtaG9lTHJj?= =?utf-8?B?dk1icUdoQ3ZnTlJDUysvblYwQU1RTXR1bjErOHA1VmFxcEwzSDBaTE5Bc2xH?= =?utf-8?B?aW5VN2J6WU9jR2JpMHVEcTZMcTdtQmVsODc0bTJOa2IvVlA3VFlvVkt3QjYy?= =?utf-8?B?RkVRSFJzZEE2YWdzbmI0Y21TVmRTTzVScDF2LzhibnhYUW5OaCsrWVByRXcv?= =?utf-8?B?bkJqdU13VWNuOXNGUUYyVHQ5ZTJ4VWdjZTZGbGNOR0tvRGUwbExuRVgvcGZS?= =?utf-8?B?Q1F3ZW1WVnBzcjFmLzh5bGdYUHd3ZE1KUGNxSml4Znk2ckZRbzE3eER2eXha?= =?utf-8?B?ckxOMm5WaWhPcS96RzJTdG1NR0FmaUZlcXJiWVZ5L1JRTmwvQ2tFbEw1RlYy?= =?utf-8?B?aVRyVU1RRW1ldHhxOHlpN3NkUlhUcS95bG9VbTJkRFIySmRpRGhJRVZPNmV1?= =?utf-8?B?dE94bjNlQ1VTUjdkbFZBR3FVck5iQ1UxWkUxQ0tveVN1UkxxeTQ3RDdpQlho?= =?utf-8?B?SWVaWWdXU1dVSkxxOVgxMkVCMkh0T3BuelhXNnd4YmQ3T3JRdjFkd0taa0pt?= =?utf-8?B?R3RxdTZ1L0dvVHNsV1NsTWhESk5RdUR6eEtRZ3V1N056MEhCNGFHc0JuRG52?= =?utf-8?B?ZDhIdXBheFB6elljY0R5cjdlL1NPUWYzKzdzMW9nYVRrZE50dUthQjV2SlNQ?= =?utf-8?B?MksvK0w5alF5blB5bXRaTVByRzNlRjdrcmxza0phbUdjY3E3L29uM0daNW1S?= =?utf-8?B?UzJOM3B6R1ZIMHp5Z0hkV0QyRzRmUTd1d3RNdTdTMFdhMUZnMUcwUXkvbnQ1?= =?utf-8?B?R2wvL2ZLdU1UTHpLNUtsbHpDejNDK3BBNmhpVG5kbkoxQUdtcmovNEh0N0Qr?= =?utf-8?B?UzNtY0xVekwya3pLaUQwR0tuTCs3VUhJOFBiOUc4RDY4RDQyWFFJOWhvTS9W?= =?utf-8?B?SWViVzFQTERNVVh5RlhPeHpUSVN6eVlkcGV4a2lpRlBtU1JFZDlqSnIzNC9P?= =?utf-8?B?WmdmOWpyMmYrM1NMbmdLekQra3dkY3Y5NWo1TmpnSXJsbUlvTG91RVJRRmt1?= =?utf-8?B?ajd2eGtueGM1Z2E5aHJaNTAreWM1WUxiaXM1MUovMEFua1pOWS8wbnoyTXgz?= =?utf-8?B?T3JOUkE3NnhnQkpWNnZSa2tldC9xM0N2SzZwVkZXMnRFUjN1dlVscUhRREJB?= =?utf-8?B?Mko3aGVldUdPWmVXeFBCNE1oVk1MdmpXNlNKUTNSeFpxcDVQajNIQVF0Ymdo?= =?utf-8?B?SEcvK0l1N2grMkpGeUgyZDZmcVFIakp5MGQxaDVuWjkrRnJyWXdSeHQzSm9R?= =?utf-8?B?MDIyTFJiTDYvbEk5R3E4bWhTbjVFbG9HK1IvOThjLzJCblExbmt5RHVTdVo5?= =?utf-8?B?Nk5KSE5nNkxXczVQWjBHUUJNNFI3MHBVa2pjRWx6MTYvQnFKQVhRQkJ4ZVVH?= =?utf-8?B?QWQxWnZpRkhxZWdmdkF2TUpkUkhkMTR3Q0NzLzJXQmszb2NwakdQTWFPYXlT?= =?utf-8?B?WlJjQkF6Nk9HRGdaOWU1WmNLc3ZPcHg3RVFmT2kxbU51a0EyRTlxbCt4REhE?= =?utf-8?Q?fXbpaAzf?= X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtETTJQUjAzMDFNQjA2MDU7Njpody9MVXN3V2VXQVRLQW4wcmhIVVRVc1px?= =?utf-8?B?c2lxa0xBV2JyZzB1empzbVE4TmIxSUVDeHEzRTg3UFhkbDVaNFpHYTAxbGpK?= =?utf-8?B?bFk1MXVmUGR2dldQRUtpOEE5TzU1dWtjbEFrRlZ3dW8wRmV5emwyN3BYMDY2?= =?utf-8?B?WEJXRVJUMUV3N3RWT1J6dUlXRG9iN2ZOWXJ1S3UyQk45eG0yQS9IR0FtY2E1?= =?utf-8?B?cU9mL0czRDZiOEU4ZWtGdW9ocFNtWitQUnFodXFDUjZWSHhOQTYyWm14a3hF?= =?utf-8?B?U3h1bTlUSG8raHhpZklMcGJxK0FQWU9RT0RmUkdGdnFaQUZTZUxyWXhtd2R1?= =?utf-8?B?OElZc0t6UnhaTitWWkJWc05Hc2huendGYnNhY1FuOGtUckdoMG9MQ0lLQ2tj?= =?utf-8?B?dmU5cGxhUW9IcnoyYnZNM2pxNHczWCtQYlN6UjdTNllRSWhtVEd5SWFqWUpl?= =?utf-8?B?aVROOGJmSnkwby9COXVGVlc4d0FGeTYzZE1sR1BadUZQWGFvVldLMnNObGts?= =?utf-8?B?ZGRkc2NIdmlBTTNkUG11dzB1M2VRQzUxdnBOWmJmMHNpSjJ1d2pUbGg3SnIr?= =?utf-8?B?WHV1bzQ0dHgraXl1Yjc0anE1aS84Rkp0YUsxQUg2akdKVnZnNlpyNS9DbkFG?= =?utf-8?B?TW15S3hiZUJQeEhoQ3JkNUcrMGJYNUxGbmszZUNIQXlqZlJ5RDVFdXdQOGl2?= =?utf-8?B?L3poN21NV05JM1VITmxITS9JbjBRWGxna1BzcC9mZzBMMUpSM21xbktaQVVJ?= =?utf-8?B?UCtlbWRQZDduc0h4VFFGZjd6UnVHbXl0VUo2SU1SenM0VnU1ZUZjY2JrSW9U?= =?utf-8?B?ZHI3QlNjeE5wcXZaMVJLMElDb2o5MnowZXRhc0FuTk9SOEh6U0V6bWVsMm9u?= =?utf-8?B?WlZZV1NpUHQ5Q1FHNDhVYnFxMVN5cTNUMUs3aUVXSU84eGNOTXJreThPTG84?= =?utf-8?B?UDNoelA1QVByVkN5Y1BUUDA2UWpqMUoyTDJ4QU9PTlI3aHBBVnJOblJtLy9K?= =?utf-8?B?S1Ewc1hHbzlaa3ZhQXVodmJiSHlqaTlrMlVEbWk5TVp5T0dYeU1FclpnYk03?= =?utf-8?B?SUdNMkVYMmJHdytLMDl5NXJ6VVZFKzltS2VudHV4NkJCcWg3bkpTQ0hqSGVL?= =?utf-8?B?dVFWWHRTM2ZtQ3BVMnk5bmVNNURxMVZYNk5GNTVTa3JUQkRPZXRrZFJoTHVV?= =?utf-8?B?akZsWkZ2bHdoVHVTMWxlNzcxamptRUFEMktFME1xS1ZibjdkVHRTVGsrUURo?= =?utf-8?B?cUVNRVU0SjVKVGtWTEJvYm93U0N1SVh1cTZ0blFSN3huUWZrMUVBYU50K0Rx?= =?utf-8?B?RytEbWgvL2JHZnFnPT0=?= X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0605; 5:fUKYTB0DPTDVkDg88RBo5CkQRnmhCZVTLzHF/1HLXqwXEjSBiVjbZhrV228keKQftSmQXS7vMgqQQlRPm3xQrVZ5CCeaL1oxileXpsLn0VWGxIuaSyLe1B3W0YUV5jH1VGPx8MD5aKJAiHBTNXAwqpcMglH9rEE6TxhVMC1KNXypHCtzXVZE+rVLQrjnkfPe2+XzbeWDdcfjA+8h4ErZgq0h//NV0yw7CtpfVrT6dpRleN/q9WLo+fFo714L4kT0xfOoGlDtmrWt58cFJS4Xrierg274AlfdrbddKkD2PukdGnEJiEnKuVLaRR6s2Xu3y47hzYl4FSUgKwnXCw+zbsmWx54dd8zhdAWKl9immMXoR8FR/Y34hVH04g2Z8Vdpv90KjMdClgF8QzlJYvM/kFmNaoLOihkbnqaSFPWyWRFIDrf9cXX/pMMcwLNu/Rj1u/LQaU1EFcsR5d8fTAlDjSbMiJCcyYGERcQxgVvBCugkfB3Va+cJ+5K8b0J/Y8SFvSVmSUeUMLLqQGjkJzRN8A==; 24:GJ2yiKpR5v6XgBd8osB93P6byM+VcZvUYn7qcPDbCs1ugsEoohmCiVturUZWE//FAlY0qRz0SmuDi0h8eLoj0serTe+j9upR9h2mw6nkN54= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM2PR0301MB0605; 7:KMuC1X6nrWndBNhJDoVcAQODSFnYXivzQIrkUdBcyXycgyZxLzAGBDXmmU0WI/E/llLbkUrbfQP4dhSO1HaKbkxP35mWFgaPAf094QezGpVaOojN9SxeHqQQc6ZBYr8FoW/P7ttDutt/AYAhgjGvWDDfJQm29aiZCufHfSJXEyNjjpScib/53tP03XuEcJ8F+4ePKCZzib5hieqvSksFSZyCxW5XvncOV9wcIFi5r/zpG7tmpdxAjIpTXUGNwmpOJnZ1ibztHG8co078+YT1C814eIhLpb+dTFjjLomC3aOwF/9oGQo2Fbb+IbsZZmfLybS3JT6ekqlF5+Jt1TwX/6qUN1pByDPBANDOBHCtK53oHqNYZkfWO1jve+X1VS+yxAfywdDj3aN6Jfj2iAl37YesPK/Ln4sAOFDdqi4hY6OzcabYX2zK0htnRCrB1dTHt5lN4+QCnZEtp58A478CmKjGyYm/sex+GmI4AaFPHxEvEqJApuki6YC1TWbAZbCpbwJC80y6bdoEnrcxq7fdTgGjc6wdRP8MP7hG/TAMFsD6ltqKklrzblvlCw0nOU5wwEvOjkirNPJbFotDrUYrGf4UDJL3BBWB/2gUiOmIddTXwP0wE1fbFD1bU2Tvb+YJhZx2PdU0MoGhta+WtVxcA6ZWhXRcPmOQKPrF2Nr3xxi7u3/nFKmWCl1pN6CI4BRsbfP61WMdrf/1SGvHY3sj1KZ2JDhLRBWzxMzVCKvwlyb1jh6P2DEBb4VB99iGMXq8Mde5eJmDJot/+uxNwtTsUFsEOEVldY+9eOCJaHkXvrs= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jul 2017 08:58:09.9453 (UTC) X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e; Ip=[192.88.168.50]; Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM2PR0301MB0605 Subject: Re: [dpdk-dev] [PATCH v7 6/6] devargs: parse bus info 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: Thu, 06 Jul 2017 08:58:13 -0000 Hello Gaetan, On Wednesday 05 July 2017 05:25 AM, Gaetan Rivet wrote: > Signed-off-by: Gaetan Rivet > --- > lib/librte_eal/common/eal_common_devargs.c | 42 ++++++++++++++++++++++++----- > lib/librte_eal/common/eal_common_vdev.c | 6 +++-- > lib/librte_eal/common/include/rte_devargs.h | 3 +++ > 3 files changed, 42 insertions(+), 9 deletions(-) > > diff --git a/lib/librte_eal/common/eal_common_devargs.c b/lib/librte_eal/common/eal_common_devargs.c > index ffa8ad9..102bd8d 100644 > --- a/lib/librte_eal/common/eal_common_devargs.c > +++ b/lib/librte_eal/common/eal_common_devargs.c > @@ -78,12 +78,23 @@ rte_eal_parse_devargs_str(const char *devargs_str, > return 0; > } > > +static int > +bus_name_cmp(const struct rte_bus *bus, const void *_name) > +{ > + const char *name = _name; > + > + return strncmp(bus->name, name, > + strlen(bus->name)); Trivial: Any specific reason why this is split across multiple lines even though it is less than 80 chars in total? > +} > + > /* store a whitelist parameter for later parsing */ > int > rte_eal_devargs_add(enum rte_devtype devtype, const char *devargs_str) > { > struct rte_devargs *devargs = NULL; > - char *buf = NULL; > + struct rte_bus *bus = NULL; > + char *dev = NULL; > + const char *devname; > int ret; > > /* use malloc instead of rte_malloc as it's called early at init */ > @@ -94,34 +105,51 @@ rte_eal_devargs_add(enum rte_devtype devtype, const char *devargs_str) > memset(devargs, 0, sizeof(*devargs)); > devargs->type = devtype; > > - if (rte_eal_parse_devargs_str(devargs_str, &buf, &devargs->args)) > + if (rte_eal_parse_devargs_str(devargs_str, &dev, &devargs->args)) A very basic (and possibly incorrect) question: here, for example "'net_pcap0,rx_pcap=input.pcap,tx_pcap=output.pcap'" was passed to application, which would mean; dev = "net_pcap0" (name of the device) devargs = "rx_pcap=input.pcap,tx_pcap=output.pcap" > goto fail; > + devname = dev; > + do { > + bus = rte_bus_find(bus, bus_name_cmp, dev); > + if (bus == NULL) > + break; > + devname = dev + strlen(bus->name) + 1; Assuming "vdev" bus: "net_pcap0" | devname points here --------' (4+1) chars from start of "net_pcap0". Is that the expectation? Probably I am missing something here (maybe the input already has a bus name.) Or, if this is not the case, then we will have to change the test application (test_devargs.c) which passes such strings to "rte_eal_devargs_add". > + if (rte_bus_find_by_device_name(devname) == bus) Obviously, if my assumption is correct, this fails. Or, maybe I am completely off the mark. > + break; > + devname = dev; > + } while (1); > + if (bus == NULL) { > + bus = rte_bus_find_by_device_name(devname); > + if (bus == NULL) { > + fprintf(stderr, "ERROR: failed to parse bus info from device declaration\n"); > + goto fail; > + } > + } > + devargs->bus = bus; > switch (devargs->type) { > case RTE_DEVTYPE_WHITELISTED_PCI: > case RTE_DEVTYPE_BLACKLISTED_PCI: > /* try to parse pci identifier */ > - if (eal_parse_pci_BDF(buf, &devargs->pci.addr) != 0 && > - eal_parse_pci_DomBDF(buf, &devargs->pci.addr) != 0) > + if (bus->parse(devname, &devargs->pci.addr) != 0) > goto fail; > > break; > case RTE_DEVTYPE_VIRTUAL: > /* save driver name */ > ret = snprintf(devargs->virt.drv_name, > - sizeof(devargs->virt.drv_name), "%s", buf); > + sizeof(devargs->virt.drv_name), "%s", devname); > if (ret < 0 || ret >= (int)sizeof(devargs->virt.drv_name)) > goto fail; > > break; > } I think all this will change in the devargs series. > > - free(buf); > + free(dev); > TAILQ_INSERT_TAIL(&devargs_list, devargs, next); > return 0; > > fail: > - free(buf); > + free(dev); > if (devargs) { > free(devargs->args); > free(devargs); > diff --git a/lib/librte_eal/common/eal_common_vdev.c b/lib/librte_eal/common/eal_common_vdev.c > index 6ecd1b5..8fd1ef7 100644 > --- a/lib/librte_eal/common/eal_common_vdev.c > +++ b/lib/librte_eal/common/eal_common_vdev.c > @@ -177,6 +177,7 @@ alloc_devargs(const char *name, const char *args) > return NULL; > > devargs->type = RTE_DEVTYPE_VIRTUAL; > + devargs->bus = rte_bus_find_by_name("vdev"); > if (args) > devargs->args = strdup(args); > > @@ -289,12 +290,13 @@ vdev_scan(void) > { > struct rte_vdev_device *dev; > struct rte_devargs *devargs; > + struct rte_bus *vbus; > > /* for virtual devices we scan the devargs_list populated via cmdline */ > - > + vbus = rte_bus_find_by_name("vdev"); > TAILQ_FOREACH(devargs, &devargs_list, next) { > > - if (devargs->type != RTE_DEVTYPE_VIRTUAL) > + if (devargs->bus != vbus) > continue; > > dev = find_vdev(devargs->virt.drv_name); > diff --git a/lib/librte_eal/common/include/rte_devargs.h b/lib/librte_eal/common/include/rte_devargs.h > index 88120a1..1f50a24 100644 > --- a/lib/librte_eal/common/include/rte_devargs.h > +++ b/lib/librte_eal/common/include/rte_devargs.h > @@ -51,6 +51,7 @@ extern "C" { > #include > #include > #include > +#include > > /** > * Type of generic device > @@ -89,6 +90,8 @@ struct rte_devargs { > char drv_name[32]; > } virt; > }; > + /** Bus handle for the device. */ > + struct rte_bus *bus; > /** Arguments string as given by user or "" for no argument. */ > char *args; > }; > - Shreyansh