From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <shreyansh.jain@nxp.com>
Received: from NAM03-BY2-obe.outbound.protection.outlook.com
 (mail-by2nam03on0056.outbound.protection.outlook.com [104.47.42.56])
 by dpdk.org (Postfix) with ESMTP id 921E97CF9
 for <dev@dpdk.org>; Fri, 16 Jun 2017 07:33:03 +0200 (CEST)
Received: from BN6PR03CA0080.namprd03.prod.outlook.com (10.164.122.146) by
 BY1PR0301MB1190.namprd03.prod.outlook.com (10.160.195.149) with Microsoft
 SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1157.12; Fri, 16
 Jun 2017 05:33:01 +0000
Received: from BY2FFO11FD001.protection.gbl (2a01:111:f400:7c0c::110) by
 BN6PR03CA0080.outlook.office365.com (2603:10b6:405:6f::18) with Microsoft
 SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1178.14 via
 Frontend Transport; Fri, 16 Jun 2017 05:33:00 +0000
Authentication-Results: spf=fail (sender IP is 192.88.168.50)
 smtp.mailfrom=nxp.com; nxp.com; dkim=none (message not signed)
 header.d=none;nxp.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
 BY2FFO11FD001.mail.protection.outlook.com (10.1.14.123) with Microsoft SMTP
 Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.1157.12
 via Frontend Transport; Fri, 16 Jun 2017 05:32:59 +0000
Received: from Tophie.ap.freescale.net ([10.232.14.39])
 by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id v5G5WNFH001003;
 Thu, 15 Jun 2017 22:32:58 -0700
From: Shreyansh Jain <shreyansh.jain@nxp.com>
To: <dev@dpdk.org>
CC: <ferruh.yigit@intel.com>, <hemant.agrawal@nxp.com>
Date: Fri, 16 Jun 2017 11:10:48 +0530
Message-ID: <1497591668-3320-19-git-send-email-shreyansh.jain@nxp.com>
X-Mailer: git-send-email 2.7.4
In-Reply-To: <1497591668-3320-1-git-send-email-shreyansh.jain@nxp.com>
References: <1497591668-3320-1-git-send-email-shreyansh.jain@nxp.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 8bit
X-EOPAttributedMessage: 0
X-Matching-Connectors: 131420647801133080;
 (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)(39840400002)(39380400002)(39860400002)(39410400002)(39400400002)(39450400003)(39850400002)(2980300002)(1110001)(1109001)(339900001)(189002)(199003)(9170700003)(2870700001)(189998001)(77096006)(2906002)(50986999)(76176999)(5820100001)(53936002)(6306002)(6916009)(305945005)(5890100001)(54906002)(36756003)(4326008)(38730400002)(2950100002)(6666003)(47776003)(23676002)(8676002)(356003)(8656002)(5660300001)(33646002)(104016004)(50226002)(498600001)(8936002)(85426001)(110136004)(106466001)(105606002)(2351001)(81166006)(50466002)(86362001)(217873001);
 DIR:OUT; SFP:1101; SCL:1; SRVR:BY1PR0301MB1190; H:tx30smr01.am.freescale.net;
 FPR:; SPF:Fail; MLV:ovrnspm; MX:1; A:1; PTR:InfoDomainNonexistent; LANG:en; 
X-Microsoft-Exchange-Diagnostics: 1; BY2FFO11FD001;
 1:jzPCHRoCuWGajqP0IhGST+cXDZBb4zeoxqdhR/dzEHb8buIwOUjRrrkFw5uWnvFEoiVyTDRr2R4+2FxmqTR+VhmGW76b6ukUWVyd/koGwK+XDh0qTKIJLZc4WbRAFYHnM6wFyiTLW022UGoE5y6lQoqotimfaWSO76SiURyX8+UMTLHYwIpoOFnh0MrbMufGXE/A0F9AdL6nD9lVes2z0tUcynCXHQC5GJC9J8g/T+5b5pKbkoF7ecCKO+XyM1UfZ8b56PzNU90WGlkrFCxSpFBRHE3VzJedEQ2jTD1KjWMal+YOiFUshdkD1iS34MExXlmO7EhWC3DYKsvTRWCXGTtEtCF4aD9UyCSRpBVE48JHXwjYIk3Xi2t8dsw9UU17eEEmWnUYy6syYT+nFWiOwClM33gMNJpb+Nq03fAYA6jT+TmnqF5UDFPBDbk9YJuMOqnHR7bdg2SGgWrQ2wkkSu+ESrE2EXZ8ubIzG6svSpjQjzpziJnQWx3NElq71De9OOabFC6WMItdmH61/ytNHxPXFKUKVgyz6Dtan9vsoTPYRjDKcEOmVJTMEaWsDCHaN7omO7i9MN8gb42HkfPVKCqhSroYGcGCPXzedPUxCA0keQYk1ECgHRWFbjmk1oDairNuaSilu1Qr9UZEdNmzxDdOlY5Mk10BkgIP8iczhYFhkbHgDL6auDIR3nuGM5u3EQqeBMcZRlftVRkbnuBo4BNICGq4l/IUMTYJOpCOGvM=
X-MS-PublicTrafficType: Email
X-MS-TrafficTypeDiagnostic: BY1PR0301MB1190:
X-MS-Office365-Filtering-Correlation-Id: b2d99ab2-f263-47da-36b7-08d4b47926cb
X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0;
 RULEID:(22001)(201703131430075)(201703131517081); SRVR:BY1PR0301MB1190; 
X-Microsoft-Exchange-Diagnostics: 1; BY1PR0301MB1190;
 3:KX05MM8TE9iH/mqE40CXCJngE1DmpXfl+PzBVRYhGPef8Q3tUl9qCLB1Obivzjs6cVatQo69bBV5r5O3n6YgI/Het7/dxFIrrz0G1ANKp4qBOIGckkIj7h6CsUW1FNa36wtitw6RjF2QTYalt2kezgyHNJyIhaZ9+avOoShArDG/dzYKuhqEByBChOg5ZKTLROnjk/npU3/zAptC4AUsFXKwgjJyM/Nq0psqhhQmjrbBb+kcZbrM6ySQ3Bg4d1jipMPLgoQAESXFShF/muQ94QSFrD0Lt58Y8JHNB6poh/lM7HInA9YkHyvxXCbBCICZRqRkEED2UMAs2jzlihDbf7gdxRYo47frHI6nNSXUStvjeZT/PpigtAYFeRPVVjooHY29Rv6CY7kB4MFN3o1C4OAD06ySnle55XX94g2iTwEmIePnbZQqKbAdzMqmgu3s;
 25:IzHY/plglfpQ0cwhayFHx7NfElN56lwcHsFjGKcu31jl3MKyRJvZZiEN3vahz1B4VnDA8tK1Q1ptWEawXf+wCO0dWN/8jPk94pM358iq5wdOBhdbPn1J9Kf5CnFPTDY7g1GynEhizFfQwTyWy/tQv9gKFlPtUupTNnizq6NH9HCDeYi7d7WMqDlNk36F0x3tZpZOZpABHobbcrcusqExpQCkQJCvV2cPy9KOELmSNasABH+A50L/hCR7TQZkJsUQ7zddY95JBV/pjeaR7b6K8k+0nZuI7dDti+PjesSKihfbP4Wnf8N1no3JdX1jAN4TMLT13kkd4QSkp/Z69Dl5btkSO7jtWh7EsNxiCtrraWEKm5yvCRCF9zoAZt8rqB9dlgaTjnKIVyhG9zsdWg1Fl7Yt1WJRfwvLVHgcoWqBlw3UqQ/wUOWwKC5c/wKRuphASw/jfcCrzX9yH/iVWgE5WQ1oz/2v/7tanCEgVEN2QKI=
X-Microsoft-Exchange-Diagnostics: 1; BY1PR0301MB1190;
 31:SfifY4EzVxmJU7pPJ+5uoazErSDZNhPydlVfj4hGOgtLbCXL3ASF2JpNu1HoIa9pw1lu2eSBLIMoBMZ0TtL8Eavek8EwAd6mLqYFbWE+5fQLzduFwIjJ6fytYajfaibia5i4wWgU8Y3Gy12eo8l9OYSR47S6ZCD2RXAgRsHOUu74Pqmn9NBBXv7xcyCLtTHvJ4aesU4iyMoftFxOQp2jaUw7v5AH4c5P0per4To87vv/F4kQ68ay8oa2uUuA7WIH8gxXX9fS1DiGnAjuHGT8Eg==
X-Microsoft-Antispam-PRVS: <BY1PR0301MB11904B426B1C1EAE4FAE100390C10@BY1PR0301MB1190.namprd03.prod.outlook.com>
X-Exchange-Antispam-Report-Test: UriScan:(166708455590820)(185117386973197)(275809806118684)(21532816269658)(264314650089876);
X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0;
 RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6095135)(601004)(2401047)(13018025)(8121501046)(5005006)(13016025)(93006095)(93001095)(100000703101)(100105400095)(10201501046)(3002001)(6055026)(6096035)(201703131430075)(201703131441075)(201703131448075)(201703131433075)(201703161259150)(20161123565025)(20161123563025)(20161123556025)(20161123559100)(20161123561025)(100000704101)(100105200095)(100000705101)(100105500095);
 SRVR:BY1PR0301MB1190; BCL:0; PCL:0;
 RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(400006)(100000804101)(100110200095)(100000805101)(100110500095);
 SRVR:BY1PR0301MB1190; 
X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCWTFQUjAzMDFNQjExOTA7NDozNkx4bGdHYTRBSGVDV2pYdFo3V0V3K0lj?=
 =?utf-8?B?Q3lDQmF4c0NST3RCaXNvdGs1MHA3ZW5zdTdPL3JPdmlycGo5ZGtMeWUzb3Ri?=
 =?utf-8?B?MldRZ0pPbnVCcDFZcHZMOHhZK1d6NnplKy9vMmJlOGVMZk5WWHUvMzJ6SnRy?=
 =?utf-8?B?Y25OZlFDN09Od0NJMHdmd3RGWW9wQm92WHZtNkVqVTNMV2ZzTEw2UWE0UDla?=
 =?utf-8?B?aXU5SGZMTlVLSGxZc09aU2xhVHBFVTY5bzc0WTIyWXp3emRPb1V2U0lSZStR?=
 =?utf-8?B?cVhSb25kTXVpazJXR1orQnMzbnIxeDkzU1RaSUZZVnI4T2d6N3RoOHJ0R2hI?=
 =?utf-8?B?cEhVYlFmK3BXUHg5aDBTT2hYeG1OdlYzdW9VSFQ0OWVxK1hkOVBCTmh3bFdH?=
 =?utf-8?B?TFlBTTgwY2MwUGtiQW9iN0V4NEpic2NRczdKS0FxZTNaWk1ra3ozeTV3dndu?=
 =?utf-8?B?S3J0dlkyazFmbTY3TjVWVysyOWNXd0EwRnp6RUFHNHRSYlBMZm96NEM5VTJL?=
 =?utf-8?B?eldiWDArSkJQa1Q5cmhxNVhGaU4wU1ZYalZSa2RWRm1yQ29oeUlsSDZOL05z?=
 =?utf-8?B?QUUveEhZMG52Y2xhd21SR2Izb3g4ZUtQT2syUHBwQ2dtK2RJSndMeG5DSXhN?=
 =?utf-8?B?MmJ2OTQydnN1WkdGa3lmbm5id2s1MGFyWHVGWVQ5WkFZVi9PcDhHM0FTbE1B?=
 =?utf-8?B?cUc2ZTJiWUdWQ2lVYS8weitObGR1WUV2aWpiVy91NHRyQWM5NmF6WmtXSFE3?=
 =?utf-8?B?ejRubHAxMks3VjN1SUNyM3c5WEtuMnVyVzZORGVXMnVRNjg4S2owcmRWSFky?=
 =?utf-8?B?aDVNZFB4TmE0MEZVa01ib3UwejBBR1dJSmpIdWRlVW4vQ1ZoNTF0cC9mekVE?=
 =?utf-8?B?ay9WQzNYcFozc0EweFpXR1NEN2UrTEdHYVZjODBDMDhHRUU3YVNNVXM2SEZs?=
 =?utf-8?B?S0d6VkJObjc0T2FXbGM2cXpiYTN2d1F5RW5SMDByaUczcW5kRStOeEtGUGR1?=
 =?utf-8?B?SG11a3l2akxub0dFOWEyYmNNVkxEZlAxNG1HRU56TmRZa2pwaWlIZDBjL1B6?=
 =?utf-8?B?cUJReU1ZcU5GN3BaR0x4WUhNWFhiNmVMQU9mdEJYOFFmY1pyY2J4b2UvL1pq?=
 =?utf-8?B?RzMyYnQ3eTlzeXhJQnlpaVhWWnVGUENFOGsxd0NQU2x1a3ZMN3MyRkcxMWxi?=
 =?utf-8?B?Smt6NWwxVW54M3V4cmE4Y1hPMnVTTTkxaDZZVlVvajRhOE5jR3JkWTVTaWFp?=
 =?utf-8?B?MWV0NHovWEVJbDdmMzRmRDMrQTliT3E2UjNkUWl1b3lXSGs5alNGN1dQZXIw?=
 =?utf-8?B?ODJxVmhad1hkY2tjbWM5R256TFcrdkZBazN2S1pRQU84ODEzOVplV0FrM0tR?=
 =?utf-8?B?R2F2VW5GcWZCV1JIZ3FLMC9lYXdUYzFxTHAxT1RxV0NQVG4wa3R1QTR6YzBU?=
 =?utf-8?B?eTRXZktoRXQ5eFk2KzB3WTJLZHFRYmd2NkUwbm80cnUxcVpraW5PRTArdHV0?=
 =?utf-8?B?d3ZLQlRuNEpGNmhrZzRtNy90ZVZBUE1PZ1E4OFhoMGZWdGI5T1BrNk11TGVM?=
 =?utf-8?B?bWJlbGhSTzlvL2Y5SDVncUwyL2Joblh1WXhiaXAvbkE2RXIrZGJDWFF5Qm9Y?=
 =?utf-8?B?YzhxVG5lZ29Ham1LS2VOQ2NYenNHRU9pNG9iZGVQelY1T0w5cnJKMHhkZ3Bo?=
 =?utf-8?B?WG1NeWRqeU5BQWFEVE5kbXJ2UGRMVGlJUXBpdDdyV1pYazZRdlZ1dzMza3BU?=
 =?utf-8?B?YWlabjZrd016K1R4a1RTRUpHb09NNGluMlFpaituYmVUcmdJSTlrWC85c0oz?=
 =?utf-8?B?Q3F1UFoyOFoxalhITDBGTHNGREdIbjNjekhOYS96SGpEZ3NvTkRmYmZyMEJG?=
 =?utf-8?Q?KvxB7l/Ebl2DPznPQZpsv3WFtN8RKnnHk?=
X-Forefront-PRVS: 0340850FCD
X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCWTFQUjAzMDFNQjExOTA7MjM6cSs5R0pWd1FJUFd2MTU1UUJYYnByNG9O?=
 =?utf-8?B?cFpScnRnd1lPVW5zSXh3cTR3UEFsa2NXMGR3aWIyUGpueWg3SXMzWjcvL0Y3?=
 =?utf-8?B?dXZSSkNqQUJiVXJQM1JCMWZ1eXk3UXk2cm9kRkRSVHp5WXZTREFIOFdRMVhV?=
 =?utf-8?B?Z0JBRTlhdHkxczNYK3p2T045Tm1HUEJ0M3RkaWJsb0RVT08xdHlCL3RLNHA2?=
 =?utf-8?B?KytYSERJV0NCWHhPRTNJQlBwejlOOXdqZUNBd1ZTc0dkU0QxYkVkQ0doSlV0?=
 =?utf-8?B?YVhpWk5TQklHNUV6YUhhVld2N0xOM3FFWGt1dGdoNFdkYjBJaTdEVWpOSStk?=
 =?utf-8?B?RDlJaEtsZWFkcEJJQjBTYnl3MWloOVpOM2lDV3lnZnJ0a0lDT3dTa1FyOXJV?=
 =?utf-8?B?cVBmRk55Vi9IaFY1d0lhVVc1WDFUS2lSYXg2Q1IzbVJRcmRTbGxzWGRKNm01?=
 =?utf-8?B?QXZMM2RHYk5zMHpQRG5XVW1kVkZOanFpMytlTjNDenY3cUthRXVQWEhZeWsw?=
 =?utf-8?B?ZndRR09TQVAvbWRMbjFHWlg3RXdOU3pNajhacXEvQnROYklmYUNFRGQrY0Jk?=
 =?utf-8?B?Z01DTmpRMm1RK1J4TEtxdFkrRW9uQ2xNTVJkdHRCNTl3V1hoVlNqbEFkWGU3?=
 =?utf-8?B?bUZMYTBWaUFlVkpJSVJrdnp5MUpOaVk2T20wZEhHR2dHNW9vVWRZdnlLclB5?=
 =?utf-8?B?Rk5mYWhLdHlVNmYwMmk0SWNPTEttNnR4bGlGeVN1Ti85UzJjQ1d3ajlLMWQr?=
 =?utf-8?B?UzNnNXNtZ1lZbWFMZlJaY2NLckY2LytvT0tRWmxwellUMUs1MC8vcGx5Smw0?=
 =?utf-8?B?aUp4SEI0ZWxhMGZVMy8xbEJjZHdCRVU4K2hNTllTK1IvNjJ2a1QwbzNtdGxH?=
 =?utf-8?B?MTdISVAyODRFc05wZUZ1WURsdXZSNnExVTRxYXkrUDM5eTNFZXRSRW9RbnV3?=
 =?utf-8?B?ZmhkdDNZNDJiTDB0UWJlV1J5aFp6L25rT2d6eWxtdldKbFhmS3M0cDQ4VTRB?=
 =?utf-8?B?cmFPa1I0NEsxa2xmUTNsQTQ2ZHZjczlDSkVoUit5OXVadEdMeVgrcktMdzFa?=
 =?utf-8?B?TGxHaTdTTWJkK3dJUnlxcCsyeW4vYWNYeFFWQWVZOUVCUWtnbk96VGgveVQ2?=
 =?utf-8?B?U3FjQzMrMFo3SHRHKzBaTFh6WWQ2SCtYR3JIb1Yyb1JJMGZTc0RRWXpBTm1F?=
 =?utf-8?B?N1R4bEJOd0cvTmFORk1wUU9DWlcwVVl3MU9RUWE2Q3Qvd0xZYWk2WTRCbFQ5?=
 =?utf-8?B?NVo3S01aS3ZYZ05rUVlaOEh1NXF4dnJxWXNmSjM0L20rV1NHdEhCUDVTNGlO?=
 =?utf-8?B?RHdoT0NnRmpXMW5FMWtJSExOTjRMYnMvQ0dmUFQxWHpiOWxCRFpIRHRqZFZi?=
 =?utf-8?B?SDhNVnFFYS9ueGFwNXBmckJ4Z0lxNzhiWTlRb0pKZFM0bkVDU0VXWTZ1R1lC?=
 =?utf-8?B?M0x3czRkR0xXMXN6NlRsL1dQMTFVYk9PWTBqSjB4YUpLT3VQdnFQWVB5K0l0?=
 =?utf-8?B?bmloR3hkYmsxdHJoSUJGN1NWRmFYTFRDTmMzMlZjUWZZUmNGdTVkL3RFWVJ6?=
 =?utf-8?B?TlVKanVueWl0VXJZUmpsYXdGdG0yK3hyUk9DZkF6aHRQakNLVG1qTXBuU0Vs?=
 =?utf-8?B?c3BKZzlTVWlzNHRZNUE4M3VvV2p0cGhVQUdHZFN0RXc3c1FINlJmMmFINzln?=
 =?utf-8?B?TnRRcURqbjhDMDF1VlZQTDRlMmNEaTluR0VSRlNVQVgvUEt1V21GWXBMTmxO?=
 =?utf-8?B?YXppVHZoTVkvd0E5NzlSRUJXZU5ZTkFkeFhqY1BzMFY2bjBQd1pmL0ZyY1ha?=
 =?utf-8?Q?XoIyAJ1Jads1MRY?=
X-Microsoft-Exchange-Diagnostics: =?utf-8?B?MTtCWTFQUjAzMDFNQjExOTA7NjpNMkYxSElUeTNJQVVDcjBwRys1a2VmYkdH?=
 =?utf-8?B?SzY4K3pUUE9LZUdPcThqdXhkYTRGS2RxLzYxL1VXaGs5TU9zWVYyUTNaY2dZ?=
 =?utf-8?B?elBINHVvWjE1RUk0Sm92emZReFlXd211T2hTVlRWb1FEK2pZa0JDelNsS0VZ?=
 =?utf-8?B?YU1CaUZZOXhsVzR0Z1VjZU1CNGFXckVSYjBLc001OGw2RzZHazlJN0JHcXZk?=
 =?utf-8?B?c2hnZDVnVU1laDc2dEZnc2tUZUtBbEhBcXdjTmJXSTlTOFpIQmcwd2VkMkJG?=
 =?utf-8?B?R3JoclBJUlg1ZkRlZnlnYzRkT0lBVDdXSGo4d1g1djZWaTRLMi85akdxcXdU?=
 =?utf-8?B?emFSd3hrelhLQndoWXpxTFB5VHE3eE9ORHNkSFFKc2JadGJyOGdraGx2dFhl?=
 =?utf-8?B?K05tc0gyNTU2dUo2dTZwZHpzZmJjVFgzYzVXdll0VVZYWGxXUGx1Q2NHRXBF?=
 =?utf-8?B?dUUwenlmZjlHVlpHY0lkTFY1c2l5SjczMFJ4cmx1UlJtTGRwZHBZRGErTXNx?=
 =?utf-8?B?WFZ6UnBYOXVJY0FaY1B6Rm5OWjNQOXhza2U0ZHRreXFhbkcwQk5yRy9EdzNH?=
 =?utf-8?B?cG1TY3gxZUxxWGhUNU9saTlBMlNRQTBLOHN4VlFtRm9GYVA1UFpoTmwvN2hp?=
 =?utf-8?B?K2JhRVNMS3hjWVJYTjhyZ2tCM2RReFY1ZGlMbG9pRmM1MHRPaTFnRjhESmxy?=
 =?utf-8?B?aHVqT0c1YXVxa01Ma3pjVEYvVWNVMGl6bzFuaGRESW5NdkV2c0FPZVYya1Z4?=
 =?utf-8?B?Y20rUFlEUDFLSGFrcHdMN2xzc1pNVGpJalFaemdnOUJVcW5qeTdzT210TFVK?=
 =?utf-8?B?OThhUnphYXRVRmczR244UmpJRTBrODUxVXY5ajFjUEQxRGNZMllJN1BTalZn?=
 =?utf-8?B?a3JGSjg1bTlOKzQ1RVROdTM3L1pWNy9SQVg0M1BpV0hGYk9Na3EwTjJFV3NL?=
 =?utf-8?B?Yzc5ZEphL1FJcGl1NTVBSDU3UnZ2dXdQTjFwTzc3Qm5ab0taTUF1OVcrUFhl?=
 =?utf-8?B?cDc5U1N3cnV3VVVRV0dEdWp5bHZ2UEx0c05WUHNyTjlSQTY5Q3BXR2FWUTNH?=
 =?utf-8?B?Yll5OHVmSEd6WHJaWVk3azVhWEZpanpsa2xCUUJVVEdOSHJFT0ovMGIxWnB0?=
 =?utf-8?B?QXFiM1lZZUtHcmh4aGF2Tm5LTEZQbkt3WFVsMVYrSDBMVzFhMXp5S1ZROXBI?=
 =?utf-8?B?S2hJUG5KQWVSaDFmOEVya21VR0tNMnI0T09RWFg4WE43eU5pZFI3eXhNL0lz?=
 =?utf-8?B?U1h6M0NqNXRvc3JkMVBQNlhzN1R3Y2JIK2ZjVGdPVmlOYlFnbDlMZTc5QXZZ?=
 =?utf-8?B?LzdVN2daK01FZGpBPT0=?=
X-Microsoft-Exchange-Diagnostics: 1; BY1PR0301MB1190;
 5:RhTX7sAI612cvscReJ/9LpXZAamaWVRgDb/+nSBJFPJKopGS3TBTRkBo4QGJx2e5EWdWq/xH/JkAQVnFl7ecyXSA96JjRl8588IUjrXNhPnLMhKylkI0zcGr3UuV6knKEF+ZNK11vi6T0m2TYErnUsBUAuYCOze+v1YfMLOUNk+950ACf0lH1+R3PoasOIJgsx3+ui+aJhka9s+aFJVuLlcwJNH46GHhRKRSeLoxV5PK7R+WWvytGcQtHnAWSmAZ27SNGdpFEPcv2M2MdOd3a2EvAbqPebWEGiM9LVrFpG1zq7y9TU5LUZn9gVqrui48t55vsvXyMZtNf3v8M7SgIN1Byk5zi6xTZhgiwihzfSqVULV47yy6DVuPczgyzAmaBYfz4g196GsE0x1AD2P+zsVhfNg9AorxbNPr+B0Wysj7rx/qrTzL9V8Qi+Z7U8cyb1Q9PH1sWkUwCOPg76vTmMbXUbr7MlJuVwCeqBB18PqTVl1vA1TzTSSbXLOeuDgy1PmxSi1TQ01s9KvaCxyWFg==;
 24:Y4eyja2nhK5c2me7TxfpiUlTPMhf4JBgoQphRkoKV8HTH1elf6CnrtROaM+jAQzXj2cuFh5653b2meN3v91971GBRMZVNohQLTz6t7JqHXM=
SpamDiagnosticOutput: 1:99
SpamDiagnosticMetadata: NSPM
X-Microsoft-Exchange-Diagnostics: 1; BY1PR0301MB1190;
 7:IDAkUajC6KN2b+ypjsgPZZCqQZlaC1cNiBHOuwbO7Zl5RUILJZYtlBYyhGWEEevyj61FWfjUl1cY2KievOPv8FsymuE1WVUNFylV9LjqzR1zWG5SFw+5xOfBPVkAAh5gH/6p/Re3sW3WfqzKm9WJBMx1qibeueWfv/kY1KmOdRLhHgs4bhM7T8fAs4AgWDq590uWtEuvXUSvYMuntPzELhBAkwUQyyuSAbJuy1Uwn66EHTbBkYHu/V+fL76tDHPH3L8DGBOcuvDgGwy8MevaEHnMmpsizkWeRCj//3eJb7sikzwkPt3AyK5i8uh3qGWe91zu5ZFLCMAFmNDDjCIuCidE+V6yBMcuC4s+qi75Oq7UAM5JO2bL/HoNzY+h5Jq3jFPm2HIWz2Bnz8zUOKiP27Sb3Kq/OkoQamK/3lgHNK+hdjQTk9/8+z5Nno+wxbsWOak9dju+7oxyD9QGYh5/nWG6PTmHZvezbDUflgHd93vOL5+J/LLGbsZkJl70lOPS57D6xOsUoUTQ5U4v1WimoOsOn53MLBpt2sCXNV/Tli4+p44aYjUduiBYLug+n5cExxAGa360lqFraXN4wxXmMlOrcmjLwYjB0sH+8wKAKd2DuzKdU2G+GNbX+KyEMyYCSu99WFq6i2+qpspmTxWfEZ1+UnSMBMlo+Xp9jY7K+HoIbweo7QFXHLeVJCl/G1pyCXarWv5+BQQ3Hl/7Md0RpI8+YMQOb3iyfi9d8Fl53HDzFtTkjBPUYm3Ui7ZWKdof/AinHC4zQ80jfC1DOXnHdGDg2Ws7eyd78qQDntFbRSk=
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jun 2017 05:32:59.9105 (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: BY1PR0301MB1190
Subject: [dpdk-dev] [PATCH 18/38] doc: add NXP DPAA PMD documentation
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: Fri, 16 Jun 2017 05:33:04 -0000

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
---
 MAINTAINERS                       |   2 +
 doc/guides/nics/dpaa.rst          | 360 ++++++++++++++++++++++++++++++++++++++
 doc/guides/nics/features/dpaa.ini |   8 +
 doc/guides/nics/index.rst         |   1 +
 4 files changed, 371 insertions(+)
 create mode 100644 doc/guides/nics/dpaa.rst
 create mode 100644 doc/guides/nics/features/dpaa.ini

diff --git a/MAINTAINERS b/MAINTAINERS
index 803c2af..c14b7b3 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -392,6 +392,8 @@ NXP dpaa
 M: Hemant Agrawal <hemant.agrawal@nxp.com>
 M: Shreyansh Jain <shreyansh.jain@nxp.com>
 F: drivers/bus/dpaa/
+F: doc/guides/nics/dpaa.rst
+F: doc/guides/nics/features/dpaa.ini
 
 NXP dpaa2
 M: Hemant Agrawal <hemant.agrawal@nxp.com>
diff --git a/doc/guides/nics/dpaa.rst b/doc/guides/nics/dpaa.rst
new file mode 100644
index 0000000..cabd340
--- /dev/null
+++ b/doc/guides/nics/dpaa.rst
@@ -0,0 +1,360 @@
+..  BSD LICENSE
+    Copyright 2017 NXP.
+    All rights reserved.
+
+    Redistribution and use in source and binary forms, with or without
+    modification, are permitted provided that the following conditions
+    are met:
+
+    * Redistributions of source code must retain the above copyright
+    notice, this list of conditions and the following disclaimer.
+    * Redistributions in binary form must reproduce the above copyright
+    notice, this list of conditions and the following disclaimer in
+    the documentation and/or other materials provided with the
+    distribution.
+    * Neither the name of NXP nor the names of its
+    contributors may be used to endorse or promote products derived
+    from this software without specific prior written permission.
+
+    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+    "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+    LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+    A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+    OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+    SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+    LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+    DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+    THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+    (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+    OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+DPAA Poll Mode Driver
+=====================
+
+The DPAA NIC PMD (**librte_pmd_dpaa**) provides poll mode driver
+support for the inbuilt NIC found in the **NXP DPAA** SoC family.
+
+More information can be found at `NXP Official Website
+<http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/qoriq-arm-processors:QORIQ-ARM>`_.
+
+NXP DPAA (Data Path Acceleration Architecture - Gen 1)
+------------------------------------------------------
+
+This section provides an overview of the NXP DPAA architecture
+and how it is integrated into the DPDK.
+
+Contents summary
+
+- DPAA overview
+- DPAA driver architecture overview
+
+.. _dpaa_overview:
+
+DPAA Overview
+~~~~~~~~~~~~~
+
+Reference: `FSL DPAA Architecture <http://www.nxp.com/assets/documents/data/en/white-papers/QORIQDPAAWP.pdf>`_.
+
+The QorIQ Data Path Acceleration Architecture (DPAA) is a set of hardware
+components on specific QorIQ series multicore processors. This architecture
+provides the infrastructure to support simplified sharing of networking
+interfaces and accelerators by multiple CPU cores, and the accelerators
+themselves.
+
+DPAA includes:
+
+- Cores
+- Network and packet I/O
+- Hardware offload accelerators
+- Infrastructure required to facilitate flow of packets between the components above
+
+Infrastructure components are:
+
+- The Queue Manager (QMan) is a hardware accelerator that manages frame queues.
+  It allows  CPUs and other accelerators connected to the SoC datapath to
+  enqueue and dequeue ethernet frames, thus providing the infrastructure for
+  data exchange among CPUs and datapath accelerators.
+- The Buffer Manager (BMan) is a hardware buffer pool management block that
+  allows software and accelerators on the datapath to acquire and release
+  buffers in order to build frames.
+
+Hardware accelerators are:
+
+- SEC - Cryptographic accelerator
+- PME - Pattern matching engine
+
+The Network and packet I/O component:
+
+- The Frame Manager (FMan) is a key component in the DPAA and makes use of the
+  DPAA infrastructure (QMan and BMan). FMan  is responsible for packet
+  distribution and policing. Each frame can be parsed, classified and results
+  may be attached to the frame. This meta data can be used to select
+  particular QMan queue, which the packet is forwarded to.
+
+
+DPAA DPDK - Poll Mode Driver Overview
+-------------------------------------
+
+This section provides an overview of the drivers for DPAA:
+
+* Bus driver and associated "DPAA infrastructure" drivers
+* Functional object drivers (such as Ethernet).
+
+Brief description of each driver is provided in layout below as well as
+in the following sections.
+
+.. code-block:: console
+
+                                       +------------+
+                                       | DPDK DPAA  |
+                                       |    PMD     |
+                                       +-----+------+
+                                             |
+                                       +-----+------+       +---------------+
+                                       :  Ethernet  :.......| DPDK DPAA     |
+                    . . . . . . . . .  :   (FMAN)   :       | Mempool driver|
+                   .                   +---+---+----+       |  (BMAN)       |
+                  .                        ^   |            +-----+---------+
+                 .                         |   |<enqueue,         .
+                .                          |   | dequeue>         .
+               .                           |   |                  .
+              .                        +---+---V----+             .
+             .      . . . . . . . . . .: Portal drv :             .
+            .      .                   :            :             .
+           .      .                    +-----+------+             .
+          .      .                     :   QMAN     :             .
+         .      .                      :  Driver    :             .
+    +----+------+-------+              +-----+------+             .
+    |   DPDK DPAA Bus   |                    |                    .
+    |   driver          |....................|.....................
+    |   /bus/dpaa       |                    |
+    +-------------------+                    |
+                                             |
+    ========================== HARDWARE =====|========================
+                                            PHY
+    =========================================|========================
+
+In the above representation, solid lines represent components which interface
+with DPDK RTE Framework and dotted lines represent DPAA internal components.
+
+DPAA Bus driver
+~~~~~~~~~~~~~~~
+
+The DPAA bus driver is a ``rte_bus`` driver which scans the platform like bus.
+Key functions include:
+
+- Scanning and parsing the various objects and adding them to their respective
+  device list.
+- Performing probe for available drivers against each scanned device
+- Creating necessary ethernet instance before passing control to the PMD
+
+DPAA NIC Driver (PMD)
+~~~~~~~~~~~~~~~~~~~~~
+
+DPAA PMD is traditional DPDK PMD which provides necessary interface between
+RTE framework and DPAA internal components/drivers.
+
+- Once devices have been identified by DPAA Bus, each device is associated
+  with the PMD
+- PMD is responsible for implementing necessary glue layer between RTE APIs
+  and lower level QMan and FMan blocks.
+  The Ethernet driver is bound to a FMAN port and implements the interfaces
+  needed to connect the DPAA network interface to the network stack.
+  Each FMAN Port corresponds to a DPDK network interface.
+
+
+Features
+^^^^^^^^
+
+  Features of the DPAA PMD are:
+
+  - Multiple queues for TX and RX
+  - Receive Side Scaling (RSS)
+  - Packet type information
+  - Checksum offload
+  - Promiscuous mode
+
+DPAA Mempool Driver
+~~~~~~~~~~~~~~~~~~~
+
+DPAA has a hardware offloaded buffer pool manager, called BMan, or Buffer
+Manager.
+
+- Using standard Mempools operations RTE API, the mempool driver interfaces
+  with RTE to service each mempool creation, deletion, buffer allocation and
+  deallocation requests.
+- Each FMAN instance has a BMan pool attached to it during initialization.
+  Each Tx frame can be automatically released by hardware, if allocated from
+  this pool.
+
+
+Supported DPAA SoCs
+-------------------
+
+- LS1043A/LS1023A
+- LS1046A/LS1026A
+
+Prerequisites
+-------------
+
+There are three main pre-requisities for executing DPAA PMD on a DPAA
+compatible board:
+
+1. **ARM 64 Tool Chain**
+
+   For example, the `*aarch64* Linaro Toolchain <https://releases.linaro.org/components/toolchain/binaries/4.9-2017.01/aarch64-linux-gnu>`_.
+
+2. **Linux Kernel**
+
+   It can be obtained from `NXP's Github hosting <https://github.com/qoriq-open-source/linux>`_.
+
+3. **Rootfile system**
+
+   Any *aarch64* supporting filesystem can be used. For example,
+   Ubuntu 15.10 (Wily) or 16.04 LTS (Xenial) userland which can be obtained
+   from `here <http://cdimage.ubuntu.com/ubuntu-base/releases/16.04/release/ubuntu-base-16.04.1-base-arm64.tar.gz>`_.
+
+As an alternative method, DPAA PMD can also be executed using images provided
+as part of SDK from NXP. The SDK includes all the above prerequisites necessary
+to bring up a DPAA board.
+
+The following dependencies are not part of DPDK and must be installed
+separately:
+
+- **NXP Linux SDK**
+
+  NXP Linux software development kit (SDK) includes support for family
+  of QorIQ® ARM-Architecture-based system on chip (SoC) processors
+  and corresponding boards.
+
+  It includes the Linux board support packages (BSPs) for NXP SoCs,
+  a fully operational tool chain, kernel and board specific modules.
+
+  SDK and related information can be obtained from:  `NXP QorIQ SDK  <http://www.nxp.com/products/software-and-tools/run-time-software/linux-sdk/linux-sdk-for-qoriq-processors:SDKLINUX>`_.
+
+- **DPDK Extra Scripts**
+
+  DPAA based resources can be configured easily with the help of ready scripts
+  as provided in the DPDK Extra repository.
+
+  `DPDK Extras Scripts <https://github.com/qoriq-open-source/dpdk-extras>`_.
+
+Currently supported by DPDK:
+
+- NXP SDK **2.0+**.
+- Supported architectures:  **arm64 LE**.
+
+- Follow the DPDK :ref:`Getting Started Guide for Linux <linux_gsg>`
+  to setup the basic DPDK environment.
+
+.. note::
+
+   Some part of dpaa bus code (qbman and fman - library) routines are
+   dual licensed (BSD & GPLv2).
+
+Pre-Installation Configuration
+------------------------------
+
+Config File Options
+~~~~~~~~~~~~~~~~~~~
+
+The following options can be modified in the ``config`` file.
+Please note that enabling debugging options may affect system performance.
+
+- ``CONFIG_RTE_LIBRTE_DPAA_BUS`` (default ``n``)
+
+  By default it is enabled only for defconfig_arm64-dpaa-* config.
+  Toggle compilation of the ``librte_bus_dpaa`` driver.
+
+- ``CONFIG_RTE_LIBRTE_DPAA_PMD`` (default ``n``)
+
+  By default it is enabled only for defconfig_arm64-dpaa-* config.
+  Toggle compilation of the ``librte_pmd_dpaa`` driver.
+
+- ``CONFIG_RTE_LIBRTE_DPAA_DEBUG_DRIVER`` (default ``n``)
+
+  Toggle display of generic debugging messages
+
+- ``CONFIG_RTE_LIBRTE_DPAA_DEBUG_INIT`` (default ``n``)
+
+  Toggle display of initialization related messages.
+
+- ``CONFIG_RTE_LIBRTE_DPAA_DEBUG_RX`` (default ``n``)
+
+  Toggle display of receive fast path run-time message
+
+- ``CONFIG_RTE_LIBRTE_DPAA_DEBUG_TX`` (default ``n``)
+
+  Toggle display of transmit fast path run-time message
+
+- ``CONFIG_RTE_LIBRTE_DPAA_DEBUG_TX_FREE`` (default ``n``)
+
+  Toggle display of transmit fast path buffer free run-time message
+
+- ``CONFIG_RTE_LIBRTE_DPAA_DEBUG_DRIVER_DISPLAY`` (default ``n``)
+
+  Toggle display of each Tx/Rx frame contents (dump)
+
+- ``CONFIG_RTE_LIBRTE_DPAA_CHECKING`` (default ``n``)
+
+  Toggle lower level driver validations (asserts)
+
+- ``CONFIG_RTE_MBUF_DEFAULT_MEMPOOL_OPS`` (default ``dpaa``)
+
+  This is not a DPAA specific configuration - it is a generic RTE config.
+  For optimal performance and hardware utilization, it is expected that DPAA
+  Mempool driver is used for mempools. For that, this configuration needs to
+  enabled.
+
+Driver compilation and testing
+------------------------------
+
+Refer to the document :ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`
+for details.
+
+#. Running testpmd:
+
+   Follow instructions available in the document
+   :ref:`compiling and testing a PMD for a NIC <pmd_build_and_test>`
+   to run testpmd.
+
+   Example output:
+
+   .. code-block:: console
+
+      ./arm64-dpaa-linuxapp-gcc/testpmd -c 0xff -n 1 \
+        -- -i --portmask=0x3 --nb-cores=1 --no-flush-rx
+
+      .....
+      EAL: Registered [pci] bus.
+      EAL: Registered [dpaa] bus.
+      EAL: Detected 4 lcore(s)
+      .....
+      EAL: dpaa: Bus scan completed
+      .....
+      Configuring Port 0 (socket 0)
+      Port 0: 00:00:00:00:00:01
+      Configuring Port 1 (socket 0)
+      Port 1: 00:00:00:00:00:02
+      .....
+      Checking link statuses...
+      Port 0 Link Up - speed 10000 Mbps - full-duplex
+      Port 1 Link Up - speed 10000 Mbps - full-duplex
+      Done
+      testpmd>
+
+Limitations
+-----------
+
+Platform Requirement
+~~~~~~~~~~~~~~~~~~~~
+DPAA drivers for DPDK can only work on NXP SoCs as listed in the
+``Supported DPAA SoCs``.
+
+Maximum packet length
+~~~~~~~~~~~~~~~~~~~~~
+
+The DPAA SoC family support a maximum of a 10240 jumbo frame. The value
+is fixed and cannot be changed. So, even when the ``rxmode.max_rx_pkt_len``
+member of ``struct rte_eth_conf`` is set to a value lower than 10240, frames
+up to 10240 bytes can still reach the host interface.
diff --git a/doc/guides/nics/features/dpaa.ini b/doc/guides/nics/features/dpaa.ini
new file mode 100644
index 0000000..9e8befc
--- /dev/null
+++ b/doc/guides/nics/features/dpaa.ini
@@ -0,0 +1,8 @@
+;
+; Supported features of the 'dpaa' network poll mode driver.
+;
+; Refer to default.ini for the full list of available PMD features.
+;
+[Features]
+ARMv8                = Y
+Usage doc            = Y
diff --git a/doc/guides/nics/index.rst b/doc/guides/nics/index.rst
index 240d082..6fc8eaf 100644
--- a/doc/guides/nics/index.rst
+++ b/doc/guides/nics/index.rst
@@ -42,6 +42,7 @@ Network Interface Controller Drivers
     bnx2x
     bnxt
     cxgbe
+    dpaa
     dpaa2
     e1000em
     ena
-- 
2.7.4