From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM03-BY2-obe.outbound.protection.outlook.com (mail-by2nam03on0084.outbound.protection.outlook.com [104.47.42.84]) by dpdk.org (Postfix) with ESMTP id D811158CB for ; Tue, 4 Jul 2017 16:36:51 +0200 (CEST) Received: from BLUPR0301CA0021.namprd03.prod.outlook.com (10.162.113.159) by BLUPR03MB471.namprd03.prod.outlook.com (10.141.78.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1220.11; Tue, 4 Jul 2017 14:36:43 +0000 Received: from BY2FFO11OLC016.protection.gbl (2a01:111:f400:7c0c::178) by BLUPR0301CA0021.outlook.office365.com (2a01:111:e400:5259::31) 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; Tue, 4 Jul 2017 14:36:42 +0000 Authentication-Results: spf=fail (sender IP is 192.88.158.2) 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.158.2 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.158.2; helo=az84smr01.freescale.net; Received: from az84smr01.freescale.net (192.88.158.2) by BY2FFO11OLC016.mail.protection.outlook.com (10.1.15.61) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.1199.9 via Frontend Transport; Tue, 4 Jul 2017 14:36:42 +0000 Received: from Tophie.ap.freescale.net ([10.232.14.39]) by az84smr01.freescale.net (8.14.3/8.14.0) with ESMTP id v64EZM7K016426; Tue, 4 Jul 2017 07:36:40 -0700 From: Shreyansh Jain To: CC: , Date: Tue, 4 Jul 2017 20:14:27 +0530 Message-ID: <1499179471-19145-37-git-send-email-shreyansh.jain@nxp.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1499179471-19145-1-git-send-email-shreyansh.jain@nxp.com> References: <1497591668-3320-1-git-send-email-shreyansh.jain@nxp.com> <1499179471-19145-1-git-send-email-shreyansh.jain@nxp.com> X-EOPAttributedMessage: 0 X-Matching-Connectors: 131436526023349461; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.158.2; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(336005)(39840400002)(39400400002)(39860400002)(39850400002)(39410400002)(39450400003)(39380400002)(2980300002)(1110001)(1109001)(339900001)(199003)(189002)(9170700003)(47776003)(36756003)(8936002)(50466002)(5003940100001)(189998001)(2906002)(5660300001)(50986999)(81166006)(33646002)(76176999)(8676002)(305945005)(48376002)(356003)(68736007)(626005)(53936002)(77096006)(104016004)(2950100002)(6666003)(6916009)(69596002)(106466001)(50226002)(8656002)(110136004)(38730400002)(105606002)(4326008)(86362001)(54906002)(85426001)(2351001)(498600001)(21314002); DIR:OUT; SFP:1101; SCL:1; SRVR:BLUPR03MB471; H:az84smr01.freescale.net; FPR:; SPF:Fail; MLV:ovrnspm; A:1; MX:1; PTR:InfoDomainNonexistent; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BY2FFO11OLC016; 1:QAM59pFSJrCFxZ/JO9SYhA033ZqNrpAc5lOJvh6zH?= =?us-ascii?Q?nph9PYchTpjdGWL3jmIWouY9JzHyzldZwCL6wIa++NGfXHeDQFlqauE4/JpN?= =?us-ascii?Q?Nyk2yQRRJBa58NTDvogsW9pww22/JFjl5EjuG1SwQ9HuE5cwzgIus400b4d1?= =?us-ascii?Q?4Yt9YE2DoGoPDx/nIhCuQwoeuV8Joz4Ps4OvROcGUNIFuZQDLqOy/qBjgcvt?= =?us-ascii?Q?ZR9pbWbJt/lPZOVT8sGYktLAEV9RnGOS/9QxitbX2rHUATryo47tosmGYNkU?= =?us-ascii?Q?valBaeTnYPV80JW6GPJiBA3/ZcOqh1MDOchqS95K9c2sHXCbK7YwK9zPvazi?= =?us-ascii?Q?RbmgUcsDgx4IiJlkhX6fY6g6nqMwBIAOrHohNXh3NLpXGObiaxWWCE2lspLd?= =?us-ascii?Q?OWk0y4ZYGjG8mtBNlgIJXZC9MvNhOc07W3JNlXUsih1NAxdoeYYMMbKd44MT?= =?us-ascii?Q?TaBfDhGKo4ToJB3wllTgJDgQpKT+srvIRxZaeXWEod734X/UJMZWsf/qDG0V?= =?us-ascii?Q?y3CiHSpUFCUtXCt/aW/6dgjTu8FvrxvXSJYnHojY3EpECC+U5GMkeLUcxIFr?= =?us-ascii?Q?QsmxqP2RmM+SIQD+TaHSVAIch0gY9bvN2lApxZ7aY+HI3Wr4Cnv8YhFMkLQy?= =?us-ascii?Q?uYqfrePvkX7fNxixbhv/NZJB/4NnaUqP72F2uvpNjezqMRFHswvT6PNqS8be?= =?us-ascii?Q?m/oY0YobxjYZDmCOYXyr7ifmqrC2XXqj3ovmc+k7afs1CmdSmSTq2rTVJkLX?= =?us-ascii?Q?OSvSnj6Al9h0hpPW8PouVJ2EeqnqkHuBfI7eNcfHSpe9nQl/a5/xPWLKD5Gy?= =?us-ascii?Q?ZspepX8kCNgFf5c3RPg2KC2Au5qQSePk966mQZs5Q4eBkn2pagxYzezeuCBE?= =?us-ascii?Q?EpUzPR/tkpO73e5gXsyh+dtd+k/8KJLApYpTyUneGWKnPOJA2Sb+cU+Ze/Rg?= =?us-ascii?Q?vhv6zDN2znlVIphAMqcaYsWnORzcw1HpcHq9cnbpfVv4V74ArdSmvusg53g9?= =?us-ascii?Q?9zJ39XKlc+OzIWGM3UILkDSiv+RXyjb/RQx49LNNgmB+uD1+QxS5tvVd0KEl?= =?us-ascii?Q?XgJxKEyQb8FJKphfmESqGa4rNEjg/9V4cX+Yr37ulprQZ1mYw=3D=3D?= MIME-Version: 1.0 Content-Type: text/plain X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ecd12542-c5e1-4a53-14d5-08d4c2ea1699 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:BLUPR03MB471; X-Microsoft-Exchange-Diagnostics: 1; BLUPR03MB471; 3:DmsCuY0vVBHYJOryMo7XGnRadfZS71dPu31KPJeRbNFzry3n+iUIOFWEozDrEYVPQEINmlGKAmwk2JreM6L97vPKW+x7315P4cW9qM1VzJVMDWIQuTwuMZkyqHuqqCwGDZ74s2BHCST8fa8DwFwwNCq07fU1nGXKuiTpNlmdVqT80XkfcAlKo5xBsfwVJyPz4j9S/28jqEJPZzVtNqwZtuNB3V8GNCPnTqGFTQJSBiLwPY+GuyoMuUCIcSGpf/55YJl0SgiPyNiBY2gpaBBJYKRp6RXFVIAEqBlhKa4Dc+t/o4b/GHdskUmj8yZd3yU3QLVI4QaSqFjsiEsrjEdACIzI3kD8jilpwh1ICfAtoF1YiBhJJ97Hha4yL0r6mI2Kh1iZXrBIxBQc5ocExjDQg1H7i6/p+YJHKkOGgdAYxdEBtssGE4ocgmvCFGx70FdwvIEQZQWHMRZ5IUYt3+9vUYtU84djlKKG3tmjEovy7Vl/4KdP2O8tYSIAVynJcgJiTuO23UxBkoOfkZ/ERy1YfsR6dH1N4WqqfUeHPMKGqla9+oFFoG5xVyPqdUG9fjmn9NVnF5+aVTBPiIxVrHfmMrn3DPrfTdOJqjsM4dTX9lEVWhnQcWLD4lcQwuv4gwc2ETHaECW2MDFdbfXALg1AWYRQsWK/N+ULqR43d6hK2UhWh5TQ0xmneipx88XJyZIGt+RPRwWIl+5yjJKsCSpxqRdl17ALmiVHYwiJyRk2eV+Vmolr8L0STiCSfh6ufKIr2WzX5LDPSeCY7PWsYNrSmhWFkRCfPHnlwjTS6Th8c+pHRvH9RzURcIw9Fvm5ibYOMSq8ROJOHmIhWAIrnFq/W/80n+7DGjkZVPY1jC+H8DvCjJwYRnEmwp30hvB5xW0S X-MS-TrafficTypeDiagnostic: BLUPR03MB471: X-Microsoft-Exchange-Diagnostics: 1; BLUPR03MB471; 25:zuiMKHm73daYOhkTOX1/PAphu/qGka78CmXoxQUqbijMnMuCp7SXeTo9AU/Zs+1OB1J7KQ49O8dOUfXK2b+nXed+fl9+CyP9i2t2LCWkGbs/0ZkWb+Out/2GlQJe472mnk+VlMplWfQ9SOmkatFvSv7JlNyPSnFJDGNDl2GbtXujV3fh5/WHf3P2LitxwakJLfF/RLzeoviOzrJg15htHAqM6g3Y6IvITcG1uC5NKH2zaAY3NHO1kFku6KuET+zKoPB3r+k3RTEDXIvIYkf999pVYmT6qdC4RYK0Uv4OK0jKE/z8f5MEyAxGAh5hyvx8o0Bjw2GYF57P4wp/Bawwd4JAMka5qE2ct/2PerUJf8Vd4YsWoanCreHAp1prsbR4xuN4l4FK22I02qAODD1xQgFTMcRymZ8BJ3HiZbuEZPI0kre+706Yz1ntzCwZDxBk2k3ifYnC9m7D2igm11Nt+ceSgQSqf8HQ/vbkujKXBq8KYVswAmUIlkp56SRKYoIyYVhImnrdzIEX4F+2/3bSWsatuPmZvya4rjLpu4J9lGAmaXAlkze63NocT107UCj1rk0q6h1mVt52cq/0Tg4XTCV/5uR07RwEKzOcNoMbaAqmS7F1iYjGWSQJVSLK8AViSOoLT1Ymk9fF9gbqBeJrc4eC2tCH1qpicRO5uS8gaxiVi4+P9rHuSAIhdowYa5K/XEKZZVjr12fg9jrxNxxu1MrVMMm4I6PGV+hhR8uQ9L06CqMBRGIQBgBtrVru7APty6wiZ31M1nPR4JtQ/33yGFKrw9DEhYBUUJfaLs+zwW0tlTQ1gcntt4mt7TsMgDApJ9ORbjMBR8/2Bnl70vasRdOCEcBN0QgPJ97yx9BFBO5KwOehnChT0GN/AGCoGAAgXtdGBAZCnY1RWqyFKoFDzRnnHtodge6RxYub5/cfZm4= X-Microsoft-Exchange-Diagnostics: 1; BLUPR03MB471; 31:+d+LoyBwO3Jdj1XNkwat/mc2gLP2cSpqm+g1X35g6/cybdFBC5RNY0BXG3eMBh+v4sFCadtPXprpNuJmMbEtSGXJHjhTl6Eh2uVMNNuEU9bAecreloVU0ao3dxCZ3itbCAgc6SviCz808z+xmWFQqmzxzuYtOxxVgfbFDcxWhP7hyjFyQekPaYTeG69lvk/4lLpsUax7aNWqdt3DUu9JWdNI5VkvfV3D2rdRJWf7Fqcf0VXEE4PTb025U9nPVU91Uk1ni1WGJyA4+bGvndj2cY733LRTsfEbpzcfHX/AM37nrLezdxMgTqT2RGb/sABhOPhLT9owCApd0pPh1Hq8ekrJ9pzcH6FYVqFd9PNDAvDoe03GrA1BRfoiPnCcOMGqenUpk1g5528vSoI4om5sDCNkP5W2S3tPqY8RdRWWVPYUizVOTuJlHkwgIpfl1HYO3g8mngdrNqquj+Ma2Nvn4h2JJuvcnSGqLHCywpywsh0kZHcsPi2y+8VyFh3Kg5GUbOg0tSUKNBuQ2Wv704RTOufJsTju/g7TWCjzer27SxYEUiZujfw1lSWacZ3jBMRr6jwf+HxoDs9xgdEUjNreDA5sarGztAnkKFj/WpsDuHbXRG4tpy46NPxv99ZOoKz0qnIfLrfQdsP1GKKd1vC6BoDuukZBWfOY5ip/sgJBhQdZt4xldNZh6PzqwNJxQdke X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(133145235818549)(236129657087228)(185117386973197)(167848164394848); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6095135)(601004)(2401047)(5005006)(13016025)(13018025)(8121501046)(3002001)(93006095)(93001095)(100000703101)(100105400095)(10201501046)(6055026)(6096035)(201703131430075)(201703131433075)(201703131448075)(201703161259150)(201703151042153)(20161123565025)(20161123561025)(20161123559100)(20161123563025)(20161123556025)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:BLUPR03MB471; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(400006)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:BLUPR03MB471; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BLUPR03MB471; 4:OqM1dbCaYKyUMQWBew0G2Oxazh5s2d/AhJY12/DobO0?= =?us-ascii?Q?ckT9CvlTuP3G8CDaGoXbuZjoQo4iJRmQPoC1CBCsLQC/bRa5K4o5VZE1R/wX?= =?us-ascii?Q?armyofEhOOIxNRQ337ZF+KLqyMXfIMu3WoufdRXY8ynb5pOP+JkHG6OoaeOd?= =?us-ascii?Q?ljzHIVN9tDHp1qgN68DYemqXPSKH2YSbNKSzvCCDI0JCMWIksBRgWR7mtLpl?= =?us-ascii?Q?/XjyBxamFvt7o/ayg/1bPMJW+74ffYnnbolNeL4MCmcb6KRA2rm4Oj3oA0kj?= =?us-ascii?Q?kjnZpmmhBJrPezTeMd1gypYriYjpyo91PdQVxR+akfuXFiO83WIdtqUDCJdo?= =?us-ascii?Q?VG8WJZaJIMSojX5u+UYRgU2aMqFOxCJfvN/IyUcuOdKQaa0Il8bV9Xi0mqDG?= =?us-ascii?Q?kMFw0dcEcoGnixlrlb3aL7TFT5dmCIkz6G3TavGvM8vClndFPtq8lcBosNLM?= =?us-ascii?Q?xo5RDf5k4J5sf2EtGXtnVVz3vvdVFwcROi5tn2uX7vo+KINURZTtk+I4l+aW?= =?us-ascii?Q?77LUuZ4t+iI1XLVY5BoqwY5JJhZIN5OvW2eMXtsVXLf+RUNjy6+KcA0VBpGy?= =?us-ascii?Q?UKxNmwwL7n71lFjwAZYEbaQ/2qRHrS8F+qZq9QCG73YIn/UHaSpRfApRhsiD?= =?us-ascii?Q?RE0qcu1ysx3ulC2K7z61k0ASOW+SeGk5xdTnO0m0t1SVddSZ/O3iG4X//CpV?= =?us-ascii?Q?GHWYjljEJJyS3mV8QeE1hoUDuzdgBVRX/cqXxGqj/VyPgfblP4DugC0ZkXZY?= =?us-ascii?Q?T4HB1y1zgEKAWt7Q+9CHX+Uv8+Ule05Arz+GhDScgfQCIODAerKbLlnjRHTP?= =?us-ascii?Q?P4eWSN2JaWrk9ktE/AST56930Q54q3rcALJdQdOtxxaKfWbU6G9i9X8U3j+3?= =?us-ascii?Q?OZeSihO7+UuZGhI1OOGMgC0B9wDfW/CbuUvywyIG1KcscfHm2TxnObi+rxcJ?= =?us-ascii?Q?CuoxPB4f8fgpJLbciJIyG/kuO7Pl96iijTBAoYb9AMv3H4NI3CeUgy6AFoFX?= =?us-ascii?Q?Lsz7vyVrQTyL9Quls6ogaDoSRvqZKk+2mvQWswVShqNklXczb198nuiKv7pa?= =?us-ascii?Q?cZEvk+Q7yZMuXU+mLvZPKLHFr6Mhu8Tliv153JDUULaRyr+X6nsSrtacvFro?= =?us-ascii?Q?QS0hYOrG3JSrOUmnjINTpIrCC7DEJYHSV3UGNu9fpNr5Hq8ntBAp4lD4XQ0z?= =?us-ascii?Q?I5d36Oc4ER2gHHi3LScP9gdW0kFZAGUfzqp+/Qw589/sHj12wlxbguNJ1C1F?= =?us-ascii?Q?Vo4GDpUjdQQB5y3C2OTh/dXxr9miVpliUSZuhcaIJcZZ0yNnm2N35YogD4PY?= =?us-ascii?Q?NRL/HhDPCACWBwmEKbfuNJCAErRE+BvLRjMgOEGFOIbY/asn3P3xltp0Mjno?= =?us-ascii?Q?0yQ=3D=3D?= X-Forefront-PRVS: 0358535363 X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BLUPR03MB471; 23:eS38tZo0GA1v3x03iNqMJLbd95sZk4wiOYvrOVc2Jv?= =?us-ascii?Q?zcRRPG2cnjAxV0c0XJGRR5YIHykiXEBeTRjXzvZ20tsLmq7ec0eGZgREzzG5?= =?us-ascii?Q?h5swn4hfeUUZ74+SwNw0mc2+3AaC6MxhbP1odS9/2HaKgzmYD0IlYA23325H?= =?us-ascii?Q?5gax431krpi39nkKjL3MIatlvZfMgQawTwUEPdpMdjEm3dJ0GobQT9m/3ZnG?= =?us-ascii?Q?Hyl1KWK4CzPpQw8yVCVeAhQrt5vvuB3Dl7PeRijQlHsBFXeRtmhnqwrgsEQy?= =?us-ascii?Q?uMJFHHJOfyzG3Y1DO4P+rQ1sWigOXkWEr2INl2FxH3sVDLHBo4zCwJDlMBzI?= =?us-ascii?Q?H1c1ghwOnEsh1kZ68HeX/41Iwfkll6k7CcoE/psnDeSFYqhRoTvdF8IBjgeU?= =?us-ascii?Q?UeWkQ6JL27pet4MP0frOPaA20IB3DcsVNHEDBkAg4xvP1bwoLqmj2GCtpKdL?= =?us-ascii?Q?z5GDdoNBYUZ9nq2ovhjabmL7cV5DJ/iXHU8Xgaff/p65vnMzIisMVfln6EY9?= =?us-ascii?Q?t2k4eQAXAlsLBsUbmhRnjCI9Ko8BoCvHu/tg83ckeImD0cpfueLoYJRlHEun?= =?us-ascii?Q?JYG4vD6Nbsz7I2PcngLJ08mLv2zkRm1kPJtH8ihqQPRooM5s817caHPE61A2?= =?us-ascii?Q?sBkr6FkNnYDs5nip4J6OWWxPtjXRIp3U0q/eQWvbhWhn1u+SA/1c09NppUUK?= =?us-ascii?Q?yxslW+G/rAezjY2WlC8yHOSUcnuT0r4ccEe50a+8X2FgYfVwXDSr2QG53OCw?= =?us-ascii?Q?W6cCj1Sdn/WalEvJJlo79KLtrfFuOos7duTidtMrd8Wfwm3KAmqt5qRArSYW?= =?us-ascii?Q?4pMFknQVJ8KsNsgPeSIuu9IPrmwuh5w9knZ8MuToF8JMNtzeI0yU1Pq8IQtK?= =?us-ascii?Q?9U2jq5xESSZD9tOr1iktIbSRGShUVHM5px+yBjf+QuAiUJUsPR8KArhWuSoN?= =?us-ascii?Q?SXm2FuvQ9MzX2vs0iCtffiSVh40HR7Be/KmOqjSrqhDik3jtCsA+hKSWw0ln?= =?us-ascii?Q?yiYBTg5zYx8E/UGLYbOCQ7VUGlRwr0kRU+DEgK4jGliQbGTmLOM1kQFZZ743?= =?us-ascii?Q?5Z8eZm/a5ciptSdUcZIlDeEoO6yDLqTWZnyrIeRJrBet3KS2LfwXgNZaMP0e?= =?us-ascii?Q?b3NRPGr2ASZeirfhR3PHco7K9/SdfJQCNh6o+h7StO9ecaYiWYmw9t2gHSYH?= =?us-ascii?Q?WlzAnD3/DSO2O8cLp+uE00yHKh9WBnG3xZjtR12TXL7k+a73UlofgxTgUS+V?= =?us-ascii?Q?NSoqQT1Cp3WQRAeaOeDVLpJpzfSqF7dtdgWNm+c3sIuwyo1fYLAvY029MTa8?= =?us-ascii?Q?2xGU+nzRQ37aXnFDv6nYo=3D?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BLUPR03MB471; 6:dUdzDi6emU9m+GIjOvtiIRi3h/TU2KUpEDIef0TD4Ny?= =?us-ascii?Q?983ZVDZC6/C10s1tpRmFje0qnbwmVrGbQmGuM2/T6BucBEA6w9z9DvMuq9e7?= =?us-ascii?Q?isltfJuHoU9ry3xNLkZVO0L31IlgTK3o1KEdFM+Kd/nJKyBiClMf9owFzteO?= =?us-ascii?Q?hciTrGP4W0aItIVBaCr5tXwJQED71uOS7Jc6bThvT2AYzFrh7Vq0hH7eZ94h?= =?us-ascii?Q?mNuP8seN+w5PrdGV3Djwpl666S2htJEC6PuPt46JqhZg93aJ13jQtPuH9vOP?= =?us-ascii?Q?c9FdGSd301RdEIMNQbDartFAk5b/1oRuDORfDRYl8RZogBlnKA2qBTdEAtw/?= =?us-ascii?Q?f65ZOYXRIwb+VXBiXOnoYuS8iRgettLSSNuCrHIEQVG82Y9GdUNtkixE+UnY?= =?us-ascii?Q?maD9jTCFjovYIHstBT39sr4RsHRdYS5lRnufMQyNdtHQPmaZ+9KouDCuX/w7?= =?us-ascii?Q?nUakJAlF+2LCJXKhe3BsaJVhbAqpUDZUeK9fWNhI86KLxm33q+F99FkQev/U?= =?us-ascii?Q?v0inxTX2gNLTmvN4BNdWXBLKwSQ+8mU547vlY6XCLN5kJCIRAtjYjRLozFtF?= =?us-ascii?Q?yIHvgcbxwq2+DhkLNJXPem6n3jj1wAlIyHPvMaCuN2M5xOPVj/rG0X5V2ZP0?= =?us-ascii?Q?YDEJLsDVszKjNNsVHyjFN8GOyR2ubPirL4P21/UfZaJKIhU8QJWpW9aauaEW?= =?us-ascii?Q?yqvwaWPp0W+rbOVGSrpO/Zx8KZ7OSSkvZXgeG2n6dzwVD10pl68MeLWFYWpg?= =?us-ascii?Q?WL7+/m2m/Ceh/B9A/dMmkTawKrvf+ewbmnnRIQ/8JmkPK0nRvWax/t9ynbh+?= =?us-ascii?Q?QZQLOf5mbC3iFY2MHmuD2BAwQ+RlEyFa07cWhlCUY8g4uD4F2avOFp4mAtxO?= =?us-ascii?Q?3WFbhSDXkiGzhGtR+IWmeLWOGhcRfeusggyMBzKKv4XJzKpWEgzgFOSGGFnD?= =?us-ascii?Q?GMAjuHfWvC66vUM+zD0vwVsgbwRpWEdseAhKuMHI9Ird/Az6vdy3FqSZ+Zzc?= =?us-ascii?Q?=3D?= X-Microsoft-Exchange-Diagnostics: 1; BLUPR03MB471; 5:ih3mnUrD+J244FH+RAJ9gV3uOrSGXZhCjb1aeYsd2FCeopw1e7OGQJJk4lOOv9OEBI3p9kOI40eYqrLj9TFV47WSL7aNfxWkAO6pch6guXSQnrm3HHNHls6MhG+nLB1NvEv0kJPpynoeuNEq/m1f5tH+YyBY7gireK7F4bSfd2GXoIc+1U0CmubmxM9MyM4Q8UcLN5BCP5s4CT0eCqxp2Pg0FC9Njftf0RakbQn5iV+Bk5eJv1rU/aAuHUwVkTicXq5fh2i0fVfarTLDZUj1ZOZgeO26xdjGSCUWLzYvXkoINLCcUClwDLhSh+j5axCA4vbZJYBu2L3lriWNhD/lB91d5XMQgw3KvDszvUKzlG2lDbg8IQLIsLafz7h5TMvygKh3/+aKg1iCbSd0uxZjICW83eCr8La5WtvvuEtuAQNtDzAAYKo1PmJyxyUt02KaS/moMi3+m/1FUexqEb4BdFJDCsea+SsdJc8NNTvdDBaUgPKY7fJ7fIrr5H5AYu+GO+qMJd/SS/grUHNax0Z/ZQ==; 24:M8r889553WPvoUrdVbUkThpKer0RsaWduF1aRrG2bPM0ZJrB+HMV6OeqKEk5NxrpHQYBX32uFMqH2tRTB62UQlTobWWnQdow3bgweUQ/v1A= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BLUPR03MB471; 7:byMFugzJ0Uqz/VvXMchAajnv+CpqryMmCy9ORTlUaGuKIwSDpIKND/rsA/HwV2bmLrTOjmzi2YZ6Jf1bDwz1MXE0KZAC1xrIEJnOIpqnI7yoMQ6toPCmlL29WKp8/bVUD6Y4mvwvQxI66AZV+qxEJrlim8rmMcXmYjFvar65RmF5kiYuYbm/vwJ3t2StPwoL/Rb/SB8JGLDWRNfxSG1knM425KmEO9gxoFx277RDWtHfCCgOJA/IVqZKaNbsbhiULDj3jIYx9zQeYjdsxmgLaDDfcl7+5cTlRoxrsv3tY6P/PgqSLohjN7lBoRQNYDPRzABlAcd9wgxSIUsAppwKmGlsdFJqDfikuwho7QBbr26qQ1aFstdEElcEungwWj/TuinQCAF90H2W2vC1S87uzc8Bxgf/joeFV8SFmWGxfHB/kfb88ubjDn1rgsq5nM7R/Pqw/vcl25LvqD+4gfEM/CQirUBWd5kVf2q0M+aiEYC02oOwwbHFfNIz3zj8idgZFMZIZN/J2Dp1JKsD7JauEXvDKmwShssn7Csdb9uPKUxqIG2LayrxiiP7Amn1MqjeVdLT3r7BW8NxcKrRldR6kKf+A4fwXOXLIM5tAOUvYRfxZo6Yt7a+PdrDMRPCeU8jA8/OZr4l7ouzoLnT2BaVihosZ6y0fv3Iw1NpO5oIKREl/IBI5ToDf5FHC/Y78UU8X0KYnYygxtKx8Ok1F8Oal4YECpJS9fh1Ci5uWlB7v+6WayOxD4dMG/uzpIaGVvJHsLPa9T2JB5i4nd29ZFvbMVA6BvRKEff9sLEK0mC6TGY= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jul 2017 14:36:42.2257 (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.158.2]; Helo=[az84smr01.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BLUPR03MB471 Subject: [dpdk-dev] [PATCH v2 36/40] net/dpaa: add support for packet type parsing 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: Tue, 04 Jul 2017 14:36:53 -0000 Add support for parsing the packet type and L2/L3 checksum offload capability information. Signed-off-by: Hemant Agrawal Signed-off-by: Shreyansh Jain --- doc/guides/nics/features/dpaa.ini | 2 + drivers/net/dpaa/dpaa_ethdev.c | 26 ++++++ drivers/net/dpaa/dpaa_rxtx.c | 116 +++++++++++++++++++++++++ drivers/net/dpaa/dpaa_rxtx.h | 174 ++++++++++++++++++++++++++++++++++++++ 4 files changed, 318 insertions(+) diff --git a/doc/guides/nics/features/dpaa.ini b/doc/guides/nics/features/dpaa.ini index 1ba6b11..2ef1b56 100644 --- a/doc/guides/nics/features/dpaa.ini +++ b/doc/guides/nics/features/dpaa.ini @@ -11,7 +11,9 @@ MTU update = Y Promiscuous mode = Y Allmulticast mode = Y Unicast MAC filter = Y +RSS hash = Y Flow control = Y +Packet type parsing = Y Basic stats = Y ARMv8 = Y Usage doc = Y diff --git a/drivers/net/dpaa/dpaa_ethdev.c b/drivers/net/dpaa/dpaa_ethdev.c index 108f397..ee9e1be 100644 --- a/drivers/net/dpaa/dpaa_ethdev.c +++ b/drivers/net/dpaa/dpaa_ethdev.c @@ -111,6 +111,27 @@ dpaa_eth_dev_configure(struct rte_eth_dev *dev __rte_unused) return 0; } +static const uint32_t * +dpaa_supported_ptypes_get(struct rte_eth_dev *dev) +{ + static const uint32_t ptypes[] = { + /*todo -= add more types */ + RTE_PTYPE_L2_ETHER, + RTE_PTYPE_L3_IPV4, + RTE_PTYPE_L3_IPV4_EXT, + RTE_PTYPE_L3_IPV6, + RTE_PTYPE_L3_IPV6_EXT, + RTE_PTYPE_L4_TCP, + RTE_PTYPE_L4_UDP, + RTE_PTYPE_L4_SCTP + }; + + PMD_INIT_FUNC_TRACE(); + + if (dev->rx_pkt_burst == dpaa_eth_queue_rx) + return ptypes; + return NULL; +} static int dpaa_eth_dev_start(struct rte_eth_dev *dev) { @@ -160,6 +181,10 @@ static void dpaa_eth_dev_info(struct rte_eth_dev *dev, dev_info->flow_type_rss_offloads = DPAA_RSS_OFFLOAD_ALL; dev_info->speed_capa = (ETH_LINK_SPEED_1G | ETH_LINK_SPEED_10G); + dev_info->rx_offload_capa = + (DEV_RX_OFFLOAD_IPV4_CKSUM | + DEV_RX_OFFLOAD_UDP_CKSUM | + DEV_RX_OFFLOAD_TCP_CKSUM); } static int dpaa_eth_link_update(struct rte_eth_dev *dev, @@ -465,6 +490,7 @@ static struct eth_dev_ops dpaa_devops = { .dev_stop = dpaa_eth_dev_stop, .dev_close = dpaa_eth_dev_close, .dev_infos_get = dpaa_eth_dev_info, + .dev_supported_ptypes_get = dpaa_supported_ptypes_get, .rx_queue_setup = dpaa_eth_rx_queue_setup, .tx_queue_setup = dpaa_eth_tx_queue_setup, diff --git a/drivers/net/dpaa/dpaa_rxtx.c b/drivers/net/dpaa/dpaa_rxtx.c index 3226614..e091cd8 100644 --- a/drivers/net/dpaa/dpaa_rxtx.c +++ b/drivers/net/dpaa/dpaa_rxtx.c @@ -85,6 +85,121 @@ (_fd)->bpid = _bpid; \ } while (0) +static inline void dpaa_slow_parsing(struct rte_mbuf *m __rte_unused, + uint64_t prs __rte_unused) +{ + DPAA_RX_LOG(DEBUG, "Slow parsing"); + /*TBD:XXX: to be implemented*/ +} + +static inline void dpaa_eth_packet_info(struct rte_mbuf *m, + uint64_t fd_virt_addr) +{ + struct annotations_t *annot = GET_ANNOTATIONS(fd_virt_addr); + uint64_t prs = *((uint64_t *)(&annot->parse)) & DPAA_PARSE_MASK; + + DPAA_RX_LOG(DEBUG, " Parsing mbuf: %p with annotations: %p", m, annot); + + switch (prs) { + case DPAA_PKT_TYPE_NONE: + m->packet_type = 0; + break; + case DPAA_PKT_TYPE_ETHER: + m->packet_type = RTE_PTYPE_L2_ETHER; + break; + case DPAA_PKT_TYPE_IPV4: + m->packet_type = RTE_PTYPE_L2_ETHER | + RTE_PTYPE_L3_IPV4; + break; + case DPAA_PKT_TYPE_IPV6: + m->packet_type = RTE_PTYPE_L2_ETHER | + RTE_PTYPE_L3_IPV6; + break; + case DPAA_PKT_TYPE_IPV4_FRAG: + case DPAA_PKT_TYPE_IPV4_FRAG_UDP: + case DPAA_PKT_TYPE_IPV4_FRAG_TCP: + case DPAA_PKT_TYPE_IPV4_FRAG_SCTP: + m->packet_type = RTE_PTYPE_L2_ETHER | + RTE_PTYPE_L3_IPV4 | RTE_PTYPE_L4_FRAG; + break; + case DPAA_PKT_TYPE_IPV6_FRAG: + case DPAA_PKT_TYPE_IPV6_FRAG_UDP: + case DPAA_PKT_TYPE_IPV6_FRAG_TCP: + case DPAA_PKT_TYPE_IPV6_FRAG_SCTP: + m->packet_type = RTE_PTYPE_L2_ETHER | + RTE_PTYPE_L3_IPV6 | RTE_PTYPE_L4_FRAG; + break; + case DPAA_PKT_TYPE_IPV4_EXT: + m->packet_type = RTE_PTYPE_L2_ETHER | + RTE_PTYPE_L3_IPV4_EXT; + break; + case DPAA_PKT_TYPE_IPV6_EXT: + m->packet_type = RTE_PTYPE_L2_ETHER | + RTE_PTYPE_L3_IPV6_EXT; + break; + case DPAA_PKT_TYPE_IPV4_TCP: + m->packet_type = RTE_PTYPE_L2_ETHER | + RTE_PTYPE_L3_IPV4 | RTE_PTYPE_L4_TCP; + break; + case DPAA_PKT_TYPE_IPV6_TCP: + m->packet_type = RTE_PTYPE_L2_ETHER | + RTE_PTYPE_L3_IPV6 | RTE_PTYPE_L4_TCP; + break; + case DPAA_PKT_TYPE_IPV4_UDP: + m->packet_type = RTE_PTYPE_L2_ETHER | + RTE_PTYPE_L3_IPV4 | RTE_PTYPE_L4_UDP; + break; + case DPAA_PKT_TYPE_IPV6_UDP: + m->packet_type = RTE_PTYPE_L2_ETHER | + RTE_PTYPE_L3_IPV6 | RTE_PTYPE_L4_UDP; + break; + case DPAA_PKT_TYPE_IPV4_EXT_UDP: + m->packet_type = RTE_PTYPE_L2_ETHER | + RTE_PTYPE_L3_IPV4_EXT | RTE_PTYPE_L4_UDP; + break; + case DPAA_PKT_TYPE_IPV6_EXT_UDP: + m->packet_type = RTE_PTYPE_L2_ETHER | + RTE_PTYPE_L3_IPV6_EXT | RTE_PTYPE_L4_UDP; + break; + case DPAA_PKT_TYPE_IPV4_EXT_TCP: + m->packet_type = RTE_PTYPE_L2_ETHER | + RTE_PTYPE_L3_IPV4_EXT | RTE_PTYPE_L4_TCP; + break; + case DPAA_PKT_TYPE_IPV6_EXT_TCP: + m->packet_type = RTE_PTYPE_L2_ETHER | + RTE_PTYPE_L3_IPV6_EXT | RTE_PTYPE_L4_TCP; + break; + case DPAA_PKT_TYPE_IPV4_SCTP: + m->packet_type = RTE_PTYPE_L2_ETHER | + RTE_PTYPE_L3_IPV4 | RTE_PTYPE_L4_SCTP; + break; + case DPAA_PKT_TYPE_IPV6_SCTP: + m->packet_type = RTE_PTYPE_L2_ETHER | + RTE_PTYPE_L3_IPV6 | RTE_PTYPE_L4_SCTP; + break; + /* More switch cases can be added */ + default: + dpaa_slow_parsing(m, prs); + } + + m->tx_offload = annot->parse.ip_off[0]; + m->tx_offload |= (annot->parse.l4_off - annot->parse.ip_off[0]) + << DPAA_PKT_L3_LEN_SHIFT; + + /* Set the hash values */ + m->hash.rss = (uint32_t)(rte_be_to_cpu_64(annot->hash)); + m->ol_flags = PKT_RX_RSS_HASH; + /* All packets with Bad checksum are dropped by interface (and + * corresponding notification issued to RX error queues). + */ + m->ol_flags |= PKT_RX_IP_CKSUM_GOOD; + + /* Check if Vlan is present */ + if (prs & DPAA_PARSE_VLAN_MASK) + m->ol_flags |= PKT_RX_VLAN_PKT; + /* Packet received without stripping the vlan */ +} + static inline struct rte_mbuf *dpaa_eth_fd_to_mbuf(struct qm_fd *fd, uint32_t ifid) { @@ -117,6 +232,7 @@ static inline struct rte_mbuf *dpaa_eth_fd_to_mbuf(struct qm_fd *fd, mbuf->ol_flags = 0; mbuf->next = NULL; rte_mbuf_refcnt_set(mbuf, 1); + dpaa_eth_packet_info(mbuf, (uint64_t)mbuf->buf_addr); return mbuf; } diff --git a/drivers/net/dpaa/dpaa_rxtx.h b/drivers/net/dpaa/dpaa_rxtx.h index 09f1aa4..f688934 100644 --- a/drivers/net/dpaa/dpaa_rxtx.h +++ b/drivers/net/dpaa/dpaa_rxtx.h @@ -44,6 +44,7 @@ #define DPAA_MAX_DEQUEUE_NUM_FRAMES 63 /**