From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM01-BY2-obe.outbound.protection.outlook.com (mail-by2nam01on0062.outbound.protection.outlook.com [104.47.34.62]) by dpdk.org (Postfix) with ESMTP id B0D6E377A for ; Fri, 30 Jun 2017 14:50:25 +0200 (CEST) Received: from BN3PR03CA0080.namprd03.prod.outlook.com (10.167.1.168) by CY1PR0301MB2123.namprd03.prod.outlook.com (10.164.2.157) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1220.11; Fri, 30 Jun 2017 12:50:23 +0000 Received: from BY2FFO11FD030.protection.gbl (2a01:111:f400:7c0c::113) by BN3PR03CA0080.outlook.office365.com (2a01:111:e400:7a4d::40) 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; Fri, 30 Jun 2017 12:50:23 +0000 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; intel.com; dkim=none (message not signed) header.d=none;intel.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 BY2FFO11FD030.mail.protection.outlook.com (10.1.14.211) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.1199.9 via Frontend Transport; Fri, 30 Jun 2017 12:50:22 +0000 Received: from [127.0.0.1] (B46179-11.ap.freescale.net [10.232.133.96]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id v5UCoDsg029766; Fri, 30 Jun 2017 05:50:20 -0700 To: "Ananyev, Konstantin" , "dev@dpdk.org" CC: Hemant Agrawal References: <1492672688-3571-1-git-send-email-ashish.jain@nxp.com> <1498825083-21117-1-git-send-email-ashish.jain@nxp.com> <2601191342CEEE43887BDE71AB9772583FB18610@IRSMSX109.ger.corp.intel.com> From: Jain Ashish-B46179 Message-ID: <266be278-dfe0-c93a-a11d-458f3fe072c5@nxp.com> Date: Fri, 30 Jun 2017 18:20:12 +0530 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.2.0 MIME-Version: 1.0 In-Reply-To: <2601191342CEEE43887BDE71AB9772583FB18610@IRSMSX109.ger.corp.intel.com> Content-Type: text/plain; charset="utf-8"; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-EOPAttributedMessage: 0 X-Matching-Connectors: 131433006224740010; (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)(39860400002)(39450400003)(39840400002)(39380400002)(39400400002)(39410400002)(39850400002)(2980300002)(1109001)(1110001)(3190300001)(339900001)(13464003)(199003)(189002)(377454003)(24454002)(9170700003)(106466001)(54356999)(120886001)(6666003)(2906002)(65956001)(2950100002)(33646002)(2501003)(7126002)(65826007)(7246003)(4326008)(53546010)(31696002)(5660300001)(105606002)(76176999)(47776003)(65806001)(6246003)(575784001)(31686004)(64126003)(81166006)(86362001)(189998001)(498600001)(50986999)(230700001)(23676002)(8936002)(4001350100001)(229853002)(8676002)(83506001)(36756003)(305945005)(104016004)(38730400002)(8656002)(77096006)(50466002)(85426001)(53936002)(356003); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR0301MB2123; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; MLV:ovrnspm; A:1; MX:1; PTR:InfoDomainNonexistent; LANG:en; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCWTJGRk8xMUZEMDMwOzE6SUpKVkpDaTAreDFhdXRaYWNLOFBMemRra1dw?= =?utf-8?B?SzVlUGZseHRuWVZEajA4czlUZnh2K1ZSb2w5Wm8rQ2R0VzBaOUU5MWc2bnp3?= =?utf-8?B?cFFNckNQeHJQUlpvTlFxeGV2YVhDUmdXQTh5NlIrU0Zad3dYZ0U5U3J2WElx?= =?utf-8?B?MGVpNGx0NDJtanpxRU5UZG00MUV0NCtPeG1Vbjhhc3d0ZHNRMFJPZEo0a3VW?= =?utf-8?B?T3hNODl0NGs2UzhZbllaYVgzRDFGSjg3emUvRTgwR3lCbzFtc1oydU5VS09P?= =?utf-8?B?S1BxQzRuZHQ5VFFtTCtNem5OV2ZXT0R1NkhCSm1ZcFpsWnN0TUZMK2gxbU5H?= =?utf-8?B?U3pBdVI1S3hqS0JHVitHeEl6UFBYb3dmRWtCTUdGWXVjT004aXBEdWlHZ1dS?= =?utf-8?B?M0JOVlgvb3NJN3VvOVk0b29IWHJaa0N4am9wUmVaRE9qekEyRDJUQkdZUlRH?= =?utf-8?B?b1loby9UZllnRVhVRHhaQVRxcXJkWG10azRvUW8xOGJjWlZDZjQ3Y3pEWFhj?= =?utf-8?B?Q2JOVGMvQTdwZnpEbmNVN1dMeEhHa213ZlhYRDAxMFdiRUw2RVdSanVkSlE2?= =?utf-8?B?MjJ1Vy9VUU5nZEIwUVRUd09YbTR3MVMxRHR0dVpHZmI0bWFrY0t3UURxeVZq?= =?utf-8?B?c3VzVXBYNVRIZ0NrSlRQc1R2aEhsWm1OK2x6enJkQVIwV1BVTm5FczhHd2t4?= =?utf-8?B?N3FCQ015VExZbFJtV0JzOWppclAzUkVQZndEZVhqcWhKQkdkb2VjWGdNb0tE?= =?utf-8?B?dXFwQk9ZS2NjT1p1eVdGKzMrMWhxTVF0RitzdTM4TWRKRmF0Skx3a3g4NFRz?= =?utf-8?B?MFRJTnZoTmEvem1PbUFlaUhtbnRaWUdpUjNzQlVUVk92WExXMno3UGpDRk5I?= =?utf-8?B?Z2g0ZHJuUHR3MC9lMXFPSmwvZkQ5dWNmb09jTzR5cG1IY215dGpNRTg4dGU0?= =?utf-8?B?ME94YU5vcURmS25ubVBHQ0ptQTIvNnFEYU1sdFdZcGRlY2dlU25MdGRySW02?= =?utf-8?B?ZkVZM3owblFkQ2oyeUlvYXY0b2J2aEhBb1EzWmFQdkJEeGwwWEtNUHJDaUxZ?= =?utf-8?B?M1k2T0tnY2pwUW5MWkVwZ2xSNjR3dHlzU1NHWU5VeFE4M3FKVlpsaVkyazUx?= =?utf-8?B?R1RUSUUrRmkvQmQ1cFRuMDJHK3k3dFZkUEZjbmhvTGZvUDl2UzFOWDd1Rk45?= =?utf-8?B?OXpTdDdZLzlQVURhK3ZKc2dQbmk2cy9mb0hrSnc0dzQxM3ovc29KUTlMcU1G?= =?utf-8?B?SFpieDgyYWpLNUMxaEpXWkE5ZDdkU1NMdk5sbnJkUytZTzgyK0NyUkVDa3Fa?= =?utf-8?B?cnI4R0taMTZSUT09?= X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: e54b7012-1293-46c2-2241-08d4bfb6922b 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:CY1PR0301MB2123; X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB2123; 3:5WhAvdgb30blafnzqYrNfpfvkZuglY4nB/GW7rTG+w9yMfeFDrTPc5wjpN9VXxhlAc6T3TCP2LAjzXryVAQ21RG8F0E4kbLfn5D8rnXquT4k7HA+iEO2QMhvu5G6pZDSTWLttPWaFHOzENgw1ZllGtpFuAJfNmqjBrGoAQbTZbbOKSFJvfnEbJT/iahzerBQ5k2i9gVc0n6rjWMhO5y1s3lXxn1tyFk5rj9MQTB5SVA0ODkTuxDN2EmBCqWirbo95s6Ctqu8A0EZR8UNETV6nQego1egY0yy+DS1L1OEDoXGYT4AqVI5Ba/hPkCc3x8truqKjyCXotNNwj+9NvpCF16cPtLGB9eEKcuh9nbJyeb+Jgi081CQhsj1q+16ctxNn+Aa11y4Akqz5Bhu0VbmUvVWWbhepCPeqS8blmuKy0dp42rWVteg3U9TFpku5v2R1srg9M0IHGS7Ph/N+ymM9L+JqkRduAP244k43ENicnqfolKvqkMEEwdceEeMcs01o8IdVZtGJRYBUB9rJXFLHH36QlHzx7hom8Q6UIzSlR7D4RHhCDRHl21b9HBbizvudj4RRxQ4xwEoCqDBQm+uwjW4C2cdswq/3IsvMJmP5/kjZro4/R2Q1uiDwaZ0cT3Jf736jZlrW+JKWd65dDZBhhXbBf/08C8U7LIxyQ/GYz6jyXJc3NWHa8JY8HhsQ0xEYk7QVKJcyISzpXWwcPFP/X6zk2IC6yGBmYTsFjME6Jo5YFa7A2XF4jyUarHTeqAEwYvKGKt7gyjFDVXJsEfyrFL2NlVhqNadyqjClTv7MrpuqRvQK46Eo3DuNRAiDd2H4LvaX3I09seurfbMyb189CXxZrf1e8NVrRiN96udBmOD11KzIMpHzIhpyFgDzmV2 X-MS-TrafficTypeDiagnostic: CY1PR0301MB2123: X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB2123; 25:kLVRqvJEvZUsZ+0sVPsNSICg7whu3bLrbca7yIWmuP2lRp1cs/ijQASEMQxiE1Xy9INi3SlJxKI3kF+ufq3OfalsqJry1g81zCXKbRzFzF3MjLKtzfFeM0dRMS/Af7rz0RXpMlSurwqvPXB5gEV9jFFqh63b4HiczRyLsuXamdoL/w5G9Fypl/bABFNXjdRPlQH0C1T/KCAsyGgaaOmOjKvljaI0N1XkVB9YT63Ah7AEW806qJoilHIZgaTwaRrWEga7jD7AUDWzoD6LrNjCmae2SgugDaRpzKPGNoeaxwlwV/BftBEeYLvmh8/b2VG0jVEEM8OKh8JqoC2kfqrdoFgvWlsMoXmaC393aqGwE1bxGwYXerGSY/BD0GJP9DwCqD0Zqx1mYdBhAot6Y9wvxMH6bJ94DizBiHrVdlcmoZrifVx+aMfmdDoturLSoQGiGZaSff4pORyXB6nmuaeJ0Q5hYCxzwlTVYsfvGSn9/wH+2GM7SFFdOpAN0BatgvQpSoPfhowN0arqKSwGV07kqe3RUW7FXl1fQ7wbricRSA/QlWgkjAh/GF82/NnkXqDEurUC05pKAtP/BUg9ZdkAg1nPNtP+roLBcsdgbqeDhV15cE/xoJRjSBH3alGnvwnFF0P6QS14rxzPnGdbh/+A2SMO5KeldqbWbo4HUYLN7z/RfhwYgjkVcXebt1Kbgb7/0aOgFfjWkJP/ykpkW6gIYfJ16TST3cU6fk/Ry71M4zS9OlwKliPIXuBzBro3youTNHUl4WPewXZNQiebaQqEyBwaVdxY8krhkYr1w4OzGvQlhA4ohn0UiAtek30mYkvo2YRm/48+tX7LNwvdpnGo/EUd9de7wzIqLktOjBVsXSldmPlEzPRQbnT8Ty/aLdE61PEhAd2+cUCC4udv0IjocwxUEJ+H9fxZlK2U07wOobE= X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB2123; 31:jJ4EcUlTgetar+3T2zTkeuEqbIXt47JHbBr/pa//rGlIbBQRR2KPo06cyfNg3+pl0ooapti6GqspzvM+MUR//Zc53zR5/jUtGlm/WzsAe4EKa2j4Qy0saRyyDR8lJSED8HnTnLp+qrvebtRNHGOdShzTUYzmF3HcOOb8tqYlvjYB7k+ctydaKHM9/a+sIFtNdm19txOhq7A8wpsC9NOYTRCx5nQo7KkvxLKa3+hmrtVvvviL9Eo2Gi4C9GljWXjwYKiqXC9eG5OODVvdOu0kIqAArnDzlBR0J9EJ1d/c4i8doUTvY/wBKW4qQzYm0/nhAvbVwDoG/ZF6mR9nqXZj6t9eB+4XrEutrlZFjMH0QFK1Eg9JHU3PCrdLns0nytRqBT4BVYZzElSPN+tMyAx7Hn538KLF6giCAR+wtyTOJSUF6vm2M5MYUwVtAxRt/uW/dZDOlNr1i4B9VMqKnsKHDOTOJHPtYEPYxYzYagmvYKvB+yiftneMHsO42JfSIUyu/bvOPiqMawHcVYq2ufDAw0rch6JNf29pNUWZBpLuxSnwxJk95PsqFNavIWekv4cec6Gj6wtq5xRprVu+rVeI0PKTEYsOTahPAQCG4Jq7fvUhVyPHXhD/J53jhSrhC3rWZhwGnX/5PJikSdfoi+e/T/E8JO1bMRn4Nolckr26WUXiQ0KCpSy+3MCQXXsXeM/3 X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(133145235818549)(236129657087228)(185117386973197)(148574349560750)(228905959029699); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6095135)(601004)(2401047)(13018025)(8121501046)(5005006)(13016025)(10201501046)(100000703101)(100105400095)(3002001)(93006095)(93001095)(6055026)(6096035)(20161123563025)(201703131430075)(201703131433075)(201703131441075)(201703131448075)(201703161259150)(20161123565025)(20161123556025)(20161123561025)(20161123559100)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:CY1PR0301MB2123; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(400006)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:CY1PR0301MB2123; X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtDWTFQUjAzMDFNQjIxMjM7NDpYcXFPcUZmSU1Tc0hrZVBYTUNQQXB2ejJh?= =?utf-8?B?TGt1MmNndm40cmdXT3QrblNaVHFWSUFVTXk1UndraHlMWGJibERxQUtPUFA4?= =?utf-8?B?eVQzbk5nczlDK09nUmQ3eWZpdkxoVTh1YTJlMFJJYS9GNUVCeWNtTWZJQ01V?= =?utf-8?B?cE1rUEw3N1p4QUhrVTVhWlFSOTFXUUVaMkR5NFRVOGFWL1RFekwzV2VhU0ZH?= =?utf-8?B?b25vSWs5bENadkpHT25nWStCS0VqMlAxaDVmaWRTWm1qeExqWnBpUFZQMU0r?= =?utf-8?B?em0xcFVETzJGQi9FbnJPeVdBZ0xNTlNIUVRaSEJ2TWt1dmE1N1Q2cWVadS9K?= =?utf-8?B?VTJZUGg1RXFJcnBaQ0dkd0hta2gzRlhlM1hzSFZwWmJuWVFrVFZSZXJYemRy?= =?utf-8?B?bEtTOTdTTmdXZy9ueGlxWk15REwzNEdoYkVxdUVwTVlyY25pejNjNE9ldHpv?= =?utf-8?B?Q2cybXhNaE1tRTlyeEY5djBySGRMNTNVNU44S0IzaDJHMVoydDhuQ2tGYU5s?= =?utf-8?B?dHdoVlZCUWY4S3hHQnM1d2p1MlNMbVIrTWdiYlZteEdlb3k4MlhPRXcwWGZu?= =?utf-8?B?M3NmcGFVcVhyWGcwUyswUGtPQVlTNCtEb094RHhISGE0SjBMaE1LbjdrNnNw?= =?utf-8?B?WG9uYlFYckNzbVU1MDdheG00aVFRSTlaU0p5VHcvT09VMG9sZFhxMHhLYVU4?= =?utf-8?B?Tlp2bzJqWHlhdjFtUWh3SEU4b283UXl3ckxqeHVQaTlIaUthdjdiUGt0OTZ5?= =?utf-8?B?MU5wU2RNeHhjMkV4aDdlMkd6M2RJaW4zdHlBUkY0UDBSckNzTFI3eXFmMWFB?= =?utf-8?B?cVhKNzdyYVRUQzg3THI3elpHdStGcW96dGJiODZZUVRscGp0Zy84RWR5UjB6?= =?utf-8?B?TEp4NnVTUVRGTTIzcVM3Vkxrcm1hRnN4VEtHaVZyOGdYUnNleFRPcU9mMCtC?= =?utf-8?B?YVAvcWp5Wk5xQWxGRi9wNVJMZm02ZDliZ1JZQms1Tmc2RW4waHJqU1Fjd2FZ?= =?utf-8?B?WUtyWGdESDlneWhUR09haHRGaDI5SDk3dkdNdnM0bnE4bW52QTVwaUFtWDk3?= =?utf-8?B?WEZKb291Q0FPL09ZWXZJLzhoczVHZG5nYlFTbk1uY2x0MElRWXo0ZlF2TExC?= =?utf-8?B?QUdLREF2cENMV0FvdWdLNG1iQlVuMzJKNlRTMEcwMkNzTkZrVW5Id29tWlhq?= =?utf-8?B?VWhRU0NPaklqYi9qSE5NVVYzZzA2YkZWMXlSb21nQzY1OWQvQit0cE1tUkMy?= =?utf-8?B?bjJJYndBbTBoNmJXU0lpemsyWHJoZlA4dlpWL3IrcVg3RjRsQnluL01ja0Fh?= =?utf-8?B?QTdIdmw5c0NVelJFSTgxVkdidlgxTU5OcjUraFJwdmUyS3RTSTFPUENHZjNm?= =?utf-8?B?TFliVUpBdS9Bb0Rtcm84Yy9NWVpUa2lNMUNRVUczeGFPOUtDVE9DREIxOXNZ?= =?utf-8?B?eVdxZTB1Y3RHTnZYaWROVFhjdFNUeGlCYlJRYkFaTGJqK2hjNE1TMmZpTVZq?= =?utf-8?B?Z2VFQVpHNnYxT1NJNXo3UkEyZG9OK2NUbHk5TTFnL0FlUVlqTjVGcHpmOFdv?= =?utf-8?B?NHk3V1Q5dG1DTFZEV29nUldSWi95S1FMclFibkl4bFY2Y1dsVHZzcFVaUXNH?= =?utf-8?B?QXIxK3VOc202d0E5Rk1iV3R3SFRLWGdhcHVkRHUrQm1lWlNldXFDU1BxRXd0?= =?utf-8?B?QkVpN3Q0QmdpZGZPSDdXbDdKeE01WVl3VE5lVExRTnpiaTVFSnYvSm9aS2kr?= =?utf-8?B?RHFsVTRKNEF4aE0vSTZUK1FkcFFWeHVJalg1bDBUWW1rVi9mUlZYVVYvbW03?= =?utf-8?B?dkdRTHA3RFo2RU5EaEhqYlh4NU54RjdoakNHd29mdlE0WmN3QWNUdVRQMjdq?= =?utf-8?Q?ja9KTTGStFgMfBqIvkTMwYn7snZpTT+JL?= X-Forefront-PRVS: 0354B4BED2 X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtDWTFQUjAzMDFNQjIxMjM7MjM6cHpSQWNrd255cDgwc0o5VEEyRkI2dXpm?= =?utf-8?B?MnZ3TzQwTlN0MkNjVVhVb05zYThQZENKb2p5N2FOTno3ZEJ1d0RtNUhWeFQ0?= =?utf-8?B?UGNrVGRhNzdZY3A0NDhWUXNNY2F2NCtRdHBFY0N4NGdYY0FnYWVYUm5CUGxD?= =?utf-8?B?Uk1lUHcrbDlvK3hoWHJzYmJpTnRpNFIzcmFxMDNoKytxSTl3VW8vSmtML3E5?= =?utf-8?B?K2tqUzFjTjJ3VGFqRGVLcW9FbVdDWldudGtDVGdGTmUxcUNtMXJTTmJQSkZS?= =?utf-8?B?TFVheW5nWFMxTGtTakJ1cEdOMlV4SXJ4Z3JyZS80bndTWFVsNWwwZVVEUjQ4?= =?utf-8?B?TEIrbVR1M3NnZ1hrRlIzcTFYUjJrbmUzN2xtbDM4bDFibnVvZ3FEQmdsRkV4?= =?utf-8?B?WmRwaC95cVhxQjRrc25mZFh1RTQvbkpzeHpsZ1BJMmx4c2NVM01uM1RoSm0v?= =?utf-8?B?QWVaeWRVaW5pT2xxRHJBUlhKN2xNR0p2NmxYY2JsZE96TG1BZjlJSkVvaCsx?= =?utf-8?B?SkhXRUVEL212a3cwRDNraWVCWGlDSEJrQXZmdEdsWEZXWStrTGkxbmNnZkNC?= =?utf-8?B?TkN0NHJuUGlETE9KZTdmWW4zMncyWlZQa1FxbmNMcVhwRm11bURCbG9keVRU?= =?utf-8?B?bDAvRjFyL09aRDZMS2M5S0t3TEpaMk92RmN0Qzlqa0FUSWlUVlZPNGpBbm0x?= =?utf-8?B?WmZWOEJUZk50T0FZNU9IZnpvaytxdERCZXJKK01VR2szNE1XZTBKWlFzVmJV?= =?utf-8?B?NkxCeEhYeGR6N0V2MkF6blVseVpleG5jd1F6NjdxU2NRdDAyRWRRdmRZZ1ln?= =?utf-8?B?MTdFRk42dXFFcU1pZFhiVVJUWFRROG5pZW9LZk9vZnhOQUNaOWhaanpaWXph?= =?utf-8?B?clRxYWg5MGpvVG5Ja0ZhV3dUQVVaYWR4RDhscnhwYWIxeWpMUGhzNm5MWFRt?= =?utf-8?B?UUxyNjRPTDJjelEzbmozS2FBeTVWeXpXYWs0Um5oWmFmSzZmOFY4bC9VblNu?= =?utf-8?B?WE93ekhtK1Q2MStTUmNraVVjc2tlbUh5WUVGNytydWFLKzdnMTNQOStiVXFv?= =?utf-8?B?clkyMngzL1FoemM0b0FQV3VaZnBrbVFtU3ZQVDkxYWtJUG12aFNTaEF6MDBy?= =?utf-8?B?bVVqS2krcC9NcW8xNGRpcU90bFNXb0tCWDhJVVB6UEJhM3h5ZzJoWDMxd0VJ?= =?utf-8?B?QnVhY2E0dGN1R0lrQ0lQUzdGaDhLWUZ2TXJUazhwaW5JOXRrZ0NpN1Z1TTRa?= =?utf-8?B?U2xBNnpyNThVUmdLYVRDQ2N2SFluam9OT2tOZ2trUElrUG9ic1l2czh6bGlZ?= =?utf-8?B?WXpLRDN3VEdMUFllbldmQnlsN01oNC9vT29EM1UxSm51SktLb1dtQWE5RGxX?= =?utf-8?B?MStUZm5Ld1VuNUJFL2dOWjR3VUpPR1BTd1RJYjhrQzRGMmF6T1ZkR0N1bStt?= =?utf-8?B?cHNSTm1EaElCQUR1U0NFVUhvbzdDd1Bvbi9oYUVWNHpzN3NDMjk3akVuNStD?= =?utf-8?B?aW9EL05HdkxtQWNTZGxPSFZmRnFnQnc0RkNCRTBQdzVxQk9YOFJJSGpGVzFw?= =?utf-8?B?VzNTRHU3UFovem5TWWc1RkhWWFJCL3BGT2ZCT29zRC9FNm5PSjdnaHpuRmZ4?= =?utf-8?B?QzM0Y2Z3dkdaaVE1bzRvb2lrWlkwTWM2YXZFUDBSVVFSb0wwQk1ETWxHbFF3?= =?utf-8?B?M1BwV08wR2xOWTdVb0FrcUNrUmdKRkFuNGQ1V2JUNTdsTTdZZ1U2RVB1YXBX?= =?utf-8?B?c0VKRVUzU1h5bVczQVJlcHJMSlIySWM3bnpGb0hSMGZTNSs4cjhLVGFHQW5T?= =?utf-8?B?N2dsQXQ2N0d2WlFCK2Ywc1I0eUpRUzA3aENDNjBoK0hBcllTMFEvWlpZOFFQ?= =?utf-8?B?VGVNNXM4Y0tPUFJINHM4WWlBSzBuc1RQNk1CM21qZ2VqemtseDhaRXdDbUpz?= =?utf-8?B?YnFESTJScE5LWW1send3Z3F3dndaY0FRdFVPSi8wTzZLZmJSNHBUZXRERits?= =?utf-8?B?eXBNNlA5SWR0SmdDYnlabDVOcWFxaVFYSWd6eXd2S2tZUCtrb21PVklrQklK?= =?utf-8?B?bG9oQkY4VWZLMnNyZHN5R3Y2dXdYUzNYR1ozNXhPbWJHbXJoUUdhQzVobVZl?= =?utf-8?Q?BaRP22pZ/fSmaNoo8KL5BWcyt+D82AOLPSGbd7CncGVu2F?= X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtDWTFQUjAzMDFNQjIxMjM7NjpkN3JTcmtZSlkrRGptbmYzOVBKU0tNSXBU?= =?utf-8?B?Vld2SUowaUsxdUtvUHBSN29uSlczaG1UcFE2dkM3dFhoanUxbE9nQkRJb1I3?= =?utf-8?B?bERGaGJweWpUc2hrRXV0WndNTkYrZlJ5dGttYVFLOHVOdnV1aEJUcFp2SUVn?= =?utf-8?B?SWU1Ym5uandZbG9jNFB3RG5jTEdGK0d0WXhZL2xnZnltNk5aMEhjOVRGUjBG?= =?utf-8?B?VU5veDJLNFhYbldlNFFVc3hTKy9tTVpXWGx2Q08yNTJQVDJmMjZUUVdTNWlJ?= =?utf-8?B?aDRSaXU3RjFKWnQzdDMxYUphalFOdDlCYVFxTEh5QmxrNis5SkJLY2czYVV5?= =?utf-8?B?N202TjIrNGFLMHJuMENGcCtpajg1S1g3OHlIZFdzVml3UkcwVVJvVGo0TkVj?= =?utf-8?B?RE9xV0VHQ1dXemVOMWZ4OGxUMjVPT2dhK3U1cVByelk1ajNpb0JmVDhRcDVX?= =?utf-8?B?TnJoOFduTUM0cTdsZEtJalUzUlZJcytRUlFpRCs3cjMrQm16QnVNTGFsWUxB?= =?utf-8?B?REZNN2VDSFMraTcybGpTUjRmcW9kM1cyK0ZIMkh0MEJWN1RMZXpPNnVXc0VL?= =?utf-8?B?bHJISFg1SUJEOHAzeXZielFDblgzaHpLSFAweXlJaTZXR1hodlA1QTlPWmM5?= =?utf-8?B?YjkyZGxwb09VYm1VRGQ1NjVNb0NNRitBN0FrVDJWcnNtUjJ3MVBhdU9jZXNy?= =?utf-8?B?RFN1V1d4dnV1N2RZMkVpbEdEWTViUnZSK09nTVZHNjQ3TGlQdWl4dkEram9Q?= =?utf-8?B?eUdwUlE2MGhMOXVTUCtJemoyY1RPM0JPOW02bk4vZzNpbFVzVERjRlZkcnpC?= =?utf-8?B?MFByZmlBV1BJUkNJQysvS3VOcjdQTWlrVjEydGxWR2ZnZzVkNm04b0V4TXEv?= =?utf-8?B?bDJWMVhraTdYWTJSbHpMSDhaVGVkV2loSnY4MG9ScS9SdGswc1VkOTIySGhr?= =?utf-8?B?MEc3Wi9mcnowTSs1MU1ZYWs0YythZlpERmJRTHNLNHhxalRLb0FER0VPRGY5?= =?utf-8?B?R1Z3SkxEZ3RYK0U3MGIzak9saW5CV0J3aFZvYW5OSHQ1MnRmYS93cXRIZ1Z5?= =?utf-8?B?NHcxeWp3ZTliM0dLU3hxWkNzNy9Db0crUFlUbVdOODE3cTh4TW94SnlNQ2x1?= =?utf-8?B?dnpQTm9Qd2F6UmY3aCtZWmhpd2pqVGx0R0hBRFV1cXlVNWM3VXh5ZVV2d1R0?= =?utf-8?B?M1R2YllxV0loTkdyT3djWjZPN0tmcExzS0pqenlWQ0kzY3JkWW9vY2pmdnhS?= =?utf-8?B?dmw3ZXB3aittUjlYZnpSWm1DSDZVWkpxRlUzV1lMajkzc0IycXk3ekE3Y2gy?= =?utf-8?B?T3VwOVF6ZDM0ZmlnPT0=?= X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB2123; 5:L6XVyhSKOsrQ7U1B3cJ3sSzppNQLATVJpPHsrXzuURCRjTV5lMH1dPD6frX8M2Nj3bwWvTUePARYJ1J/rDDo9Lp9wQFRImUbWOHJvpyONVwtIJ1/4ayFh0XKKrpc8mtKe9sOqkOB8hTDkwDeK7W9+LanBhfhevU+3OQ7hb+bgd1gKTfwZCKf6QHDnJTMWYpLsFtDGYnsGwHjXCsIra8kf9X/sUICR6uIBEBMXhICXIfu7jZt8d6Ba/nyTT6bZzHYByC2/N9Ls7HXncusFFOyRU3odOJq0wnnJT1NNJXX0281SG77vaB4j4t8J21wEc2AgZU62k5eFxNcbYrU/bsZuZB5b1Ojx7mvgSb02/AqCkplNTgpen4OLxHpnrjulR9o4+ENnKn8UhKQKxS/rYZoAnADjUrRf8mnUV3oPURdOE0pq66As9HiKjPn2bLgjRNsDfpH1pskYVo2pBHkk/OCFoJO4iFF14HiI0ZvdQcBJTh+y+QojnzHMOCFVLVd6AijcFqgqtwuuz3WOrLjSNsVjw==; 24:pvrS+plZe0rVUIBW0sYjSbAVber7Q1Hvv3sXoDrEeH0ajGNWOfeaeEQj5JYYYTLPLDpTOKwYoPbMyv9X/oRB0ufU1XLSnO3LpthSUtTEu3Q= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY1PR0301MB2123; 7:qkif4Z345n7hAsXJ1XoJw2TbCae2LJ/ysz4EQpvH3h+g+/E9IKWV5v4dlR2O6ofkl3b5U0Va5BtVUgVALY/VBrAM+EDig3Q914cDutKrfAxPwCwcLHVoVyyHVP2GwFLyYlwBfDtAO/49UgC4KeuNmQc591ZoHU+fYdmKQ7pdmWabuj8ur4FU3q/a71lBejuEnxbBr//ZU0n5oiWNl+/Qkq+O4SQs8UsxveLKMBAeZ+DWbY5Squ4r7yyHJzoilK9gFQBhvRHKEV+uhI47LpNQn5MCrEKOILHiQbRlV/EY1Ay2W+aLHvdHWBL8FbcnNDTuYYWCRPSVyYgV+ExMWLbCj3lZ+jy8DDyO+3mEPJBArdNLTtnYxf0p3ozlR9pLvY1w6C+A5Ap5KwIvL2G//ntijq/yv7CmJc9H35rpXYAE1x2Wcneh6RYQlzUDQWeF82GfG6d7YNzSkkDcIE3nXJ49x6fzkAMq86GMrpScM2A5znvyZVnk37tNgDLMlannm6CTKS6C02fymkPVFeAJ3pbJpjzYQvENxgmfizEn/g1O88zHtRI9eHYaILq25Q5ZxRF8yTrdB9io9DyYkWVMbE7wK5nk48wsMJ0E8lOUcVjNCB2mxZ8euM17VOISfnlmisyT4Yg/lKQbhEOFsPlOURFb6cm77Zcrmz7CwdkmnllHYY12DvrirRCJHWfGjd4IRja9QsdP4rjLIR2/zm8qnbGHQAk4tMUR3vDQoztRnlVNRsAtrFXwFQS3QeBPNUmq8zZ92tdLTAvABflpXeCfvk7zjGE8BusmBPPJomYryEp2qWE= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Jun 2017 12:50:22.0527 (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: CY1PR0301MB2123 Subject: Re: [dpdk-dev] [PATCH v2] example/ip_fragmentation: add fragmentation size support 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: Fri, 30 Jun 2017 12:50:26 -0000 On 6/30/2017 6:04 PM, Ananyev, Konstantin wrote: > > >> -----Original Message----- >> From: Ashish Jain [mailto:ashish.jain@nxp.com] >> Sent: Friday, June 30, 2017 1:18 PM >> To: Ananyev, Konstantin ; dev@dpdk.org >> Cc: Ashish Jain ; Hemant Agrawal >> Subject: [PATCH v2] example/ip_fragmentation: add fragmentation size support >> >> Adding support for determining fragmentation size for both >> ipv4 and ipv6 traffic dynamically through command line. >> It is helpful in testing to configure different fragmentation >> sizes and validate the packets. >> >> Signed-off-by: Ashish Jain >> Signed-off-by: Hemant Agrawal >> --- >> Changes in v2: >> * used strncmp while associating long options with short ones >> * added detailed usage for new added params >> >> examples/ip_fragmentation/main.c | 96 ++++++++++++++++++++++++++++++++++++---- >> 1 file changed, 88 insertions(+), 8 deletions(-) >> >> diff --git a/examples/ip_fragmentation/main.c b/examples/ip_fragmentation/main.c >> index 2f45264..c0b36cd 100644 >> --- a/examples/ip_fragmentation/main.c >> +++ b/examples/ip_fragmentation/main.c >> @@ -95,6 +95,16 @@ >> #define IPV6_DEFAULT_PAYLOAD (IPV6_MTU_DEFAULT - sizeof(struct ipv6_hdr)) >> >> /* >> + * Configure fragmentation size for IPv4 and IPv6 packets >> + */ >> +static uint32_t frag_size_v4 = IPV4_MTU_DEFAULT; >> +static uint32_t frag_size_v6 = IPV6_MTU_DEFAULT; >> +#define MIN_IPV4_FRAG_SIZE 64 >> +#define MAX_IPV4_FRAG_SIZE 9600 >> +#define MIN_IPV6_FRAG_SIZE 1280 >> +#define MAX_IPV6_FRAG_SIZE 9600 >> + >> +/* >> * Max number of fragments per packet expected - defined by config file. >> */ >> #define MAX_PACKET_FRAG RTE_LIBRTE_IP_FRAG_MAX_FRAG >> @@ -139,6 +149,9 @@ static struct ether_addr ports_eth_addr[RTE_MAX_ETHPORTS]; >> >> #define IPV6_ADDR_LEN 16 >> >> +#define CMD_LINE_OPT_IPV4_FRAG_SIZE "frag_size_v4" >> +#define CMD_LINE_OPT_IPV6_FRAG_SIZE "frag_size_v6" >> + >> /* mask of enabled ports */ >> static int enabled_port_mask = 0; >> >> @@ -300,14 +313,14 @@ l3fwd_simple_forward(struct rte_mbuf *m, struct lcore_queue_conf *qconf, >> } >> >> /* if we don't need to do any fragmentation */ >> - if (likely (IPV4_MTU_DEFAULT >= m->pkt_len)) { >> + if (likely(frag_size_v4 >= m->pkt_len)) { >> qconf->tx_mbufs[port_out].m_table[len] = m; >> len2 = 1; >> } else { >> len2 = rte_ipv4_fragment_packet(m, >> &qconf->tx_mbufs[port_out].m_table[len], >> (uint16_t)(MBUF_TABLE_SIZE - len), >> - IPV4_MTU_DEFAULT, >> + frag_size_v4, >> rxq->direct_pool, rxq->indirect_pool); >> >> /* Free input packet */ >> @@ -336,14 +349,14 @@ l3fwd_simple_forward(struct rte_mbuf *m, struct lcore_queue_conf *qconf, >> } >> >> /* if we don't need to do any fragmentation */ >> - if (likely (IPV6_MTU_DEFAULT >= m->pkt_len)) { >> + if (likely(frag_size_v6 >= m->pkt_len)) { >> qconf->tx_mbufs[port_out].m_table[len] = m; >> len2 = 1; >> } else { >> len2 = rte_ipv6_fragment_packet(m, >> &qconf->tx_mbufs[port_out].m_table[len], >> (uint16_t)(MBUF_TABLE_SIZE - len), >> - IPV6_MTU_DEFAULT, >> + frag_size_v6, >> rxq->direct_pool, rxq->indirect_pool); >> >> /* Free input packet */ >> @@ -489,8 +502,16 @@ print_usage(const char *prgname) >> { >> printf("%s [EAL options] -- -p PORTMASK [-q NQ]\n" >> " -p PORTMASK: hexadecimal bitmask of ports to configure\n" >> - " -q NQ: number of queue (=ports) per lcore (default is 1)\n", >> - prgname); >> + " -q NQ: number of queue (=ports) per lcore (default is 1)\n" >> + " --frag_size_v4=: optional, IPv4 fragment size in decimal,\n" >> + "\t Condition:(frag_size_v4 - 20) should be a multiple of 8\n" >> + "\t Min value: %d , Max value: %d, default is %d \n" >> + " --frag_size_v6=: optional, IPv6 fragment size in decimal,\n" >> + "\t Condition:(frag_size_v6 - 40) should be a multiple of 8\n" >> + "\t Min value: %d , Max value: %d, default is %d \n", >> + prgname, MIN_IPV4_FRAG_SIZE, MAX_IPV4_FRAG_SIZE, >> + IPV4_MTU_DEFAULT, MIN_IPV6_FRAG_SIZE, MAX_IPV6_FRAG_SIZE, >> + IPV6_MTU_DEFAULT); >> } >> >> static int >> @@ -528,6 +549,29 @@ parse_nqueue(const char *q_arg) >> return n; >> } >> >> +static int >> +parse_frag_size(const char *str, uint32_t min, uint32_t max, >> + uint8_t hdr_size, uint32_t *val) >> +{ >> + char *end; >> + uint64_t v; >> + >> + /* parse decimal string */ >> + errno = 0; >> + v = strtoul(str, &end, 10); >> + if (errno != 0 || *end != '\0') >> + return -EINVAL; >> + >> + if (v < min || v > max) >> + return -EINVAL; >> + >> + if ((v - hdr_size) % 8) >> + return -EINVAL; >> + >> + *val = (uint32_t)v; >> + return 0; >> +} >> + >> /* Parse the argument given in the command line of the application */ >> static int >> parse_args(int argc, char **argv) >> @@ -537,6 +581,8 @@ parse_args(int argc, char **argv) >> int option_index; >> char *prgname = argv[0]; >> static struct option lgopts[] = { >> + {"frag_size_v4", 1, 0, 0}, >> + {"frag_size_v6", 1, 0, 0}, >> {NULL, 0, 0, 0} >> }; >> >> @@ -568,8 +614,42 @@ parse_args(int argc, char **argv) >> >> /* long options */ >> case 0: >> - print_usage(prgname); >> - return -1; >> + if (!strncmp(lgopts[option_index].name, >> + CMD_LINE_OPT_IPV4_FRAG_SIZE, >> + sizeof(CMD_LINE_OPT_IPV4_FRAG_SIZE))) { >> + ret = parse_frag_size(optarg, >> + MIN_IPV4_FRAG_SIZE, >> + MAX_IPV4_FRAG_SIZE, >> + sizeof(struct ipv4_hdr), >> + &frag_size_v4); >> + if (ret) { >> + printf("invalid value: \"%s\" for " >> + "parameter %s\n", >> + optarg, >> + lgopts[option_index].name); >> + print_usage(prgname); >> + return ret; >> + } >> + } >> + if (!strncmp(lgopts[option_index].name, >> + CMD_LINE_OPT_IPV6_FRAG_SIZE, >> + sizeof(CMD_LINE_OPT_IPV6_FRAG_SIZE))) { >> + ret = parse_frag_size(optarg, >> + MIN_IPV6_FRAG_SIZE, >> + MAX_IPV6_FRAG_SIZE, >> + sizeof(struct ipv6_hdr), >> + &frag_size_v6); >> + if (ret) { >> + printf("invalid value: \"%s\" for " >> + "parameter %s\n", >> + optarg, >> + lgopts[option_index].name); >> + print_usage(prgname); >> + return ret; >> + } >> + } >> + >> + break; > > Seems you ignored my comments for v1? > Konstantin Sorry, I forgot to reply to this comment. 'break' here is needed to avoid fall through to the default case. If any other long option is passed in command line then application should exit. Ashish > >> >> default: >> print_usage(prgname); >> -- >> 2.7.4 > >