From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM01-SN1-obe.outbound.protection.outlook.com (mail-sn1nam01on0074.outbound.protection.outlook.com [104.47.32.74]) by dpdk.org (Postfix) with ESMTP id 402B55699 for ; Fri, 14 Jul 2017 10:06:15 +0200 (CEST) Received: from CY4PR03CA0076.namprd03.prod.outlook.com (10.171.242.145) by BY2PR03MB475.namprd03.prod.outlook.com (10.141.141.150) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1240.13; Fri, 14 Jul 2017 08:06:14 +0000 Received: from BL2FFO11FD042.protection.gbl (2a01:111:f400:7c09::184) by CY4PR03CA0076.outlook.office365.com (2603:10b6:910:4d::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1261.13 via Frontend Transport; Fri, 14 Jul 2017 08:06:13 +0000 Authentication-Results: spf=fail (sender IP is 192.88.158.2) smtp.mailfrom=nxp.com; caviumnetworks.com; dkim=none (message not signed) header.d=none; caviumnetworks.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 BL2FFO11FD042.mail.protection.outlook.com (10.173.161.138) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.1240.9 via Frontend Transport; Fri, 14 Jul 2017 08:06:13 +0000 Received: from [127.0.0.1] (B10814-12.ap.freescale.net [10.232.133.65]) by az84smr01.freescale.net (8.14.3/8.14.0) with ESMTP id v6E862ll021851; Fri, 14 Jul 2017 01:06:08 -0700 To: santosh , , References: <20170710114235.18970-1-santosh.shukla@caviumnetworks.com> <20170711061631.5018-1-santosh.shukla@caviumnetworks.com> <20170711061631.5018-5-santosh.shukla@caviumnetworks.com> <29242bd6-993d-44a3-f71f-64228004edf1@caviumnetworks.com> CC: , , , , , , , , From: Hemant Agrawal Message-ID: Date: Fri, 14 Jul 2017 13:36:02 +0530 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.8.0 MIME-Version: 1.0 In-Reply-To: <29242bd6-993d-44a3-f71f-64228004edf1@caviumnetworks.com> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-EOPAttributedMessage: 0 X-Matching-Connectors: 131444931734001269; (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)(39860400002)(39450400003)(39380400002)(39400400002)(39840400002)(39850400002)(39410400002)(2980300002)(1109001)(1110001)(339900001)(377454003)(199003)(189002)(24454002)(9170700003)(106466001)(105606002)(31696002)(498600001)(31686004)(47776003)(2906002)(38730400002)(6306002)(33646002)(8656002)(54906002)(8936002)(120886001)(4001350100001)(64126003)(2950100002)(2201001)(68736007)(77096006)(229853002)(7416002)(86362001)(6666003)(5890100001)(83506001)(50466002)(7126002)(53546010)(7246003)(65826007)(966005)(5660300001)(54356999)(356003)(23746002)(230700001)(65956001)(8676002)(65806001)(36756003)(85426001)(76176999)(189998001)(81166006)(6246003)(53936002)(626005)(93886004)(104016004)(305945005)(50986999)(4326008); DIR:OUT; SFP:1101; SCL:1; SRVR:BY2PR03MB475; H:az84smr01.freescale.net; FPR:; SPF:Fail; MLV:ovrnspm; A:1; MX:1; PTR:InfoDomainNonexistent; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2FFO11FD042; 1:rp7kaGivgs6Gv8EFYL22kK3M6ZZYtQshulyd3vu33AaLrty8aR+zjw9b4MAmAyX8mJRFLR92r9USxPirKmPu1AAPxyvu1Gw6Hk56A4FXzcUxraLN31CDA/FQ8OrOLsv9lNFk9Yp2sY2U/Q8RoXnousBpChyHR/ky4d1Ap75wOMN0IuEZh15jugSSqvgfX7vIizCpxcB+zcRc70PT7kDG1i+eFiWhunwIZJHTgtQuY+bf3B3sASvy5BxWMRXddB1fCri5L4abL5g4wZGAFUQW/E4Rm1faLpn/8QkGqL2hJ3hbZrecoQKUJmE1JTqJ/ObvoAEMiVNNUkxG4cojPaC5YHA18ivSadivj+q2zy+SBQA7IjQcim6xZu6w0fVDmdt6Mcijd6NQbyFBWOteavOceVQ9tez3jf5Pkc60x+UErU751e2wwPKWE48uMeYAKzhTEmqT3G/0ob4AG+cur9PbhieYroTDr58aizQ7rWfPPVrPB2rqF/IvzHyxo2loHkOKlSyWvLvxzTbmNJ9Luc3oKqn3D2byRFBsMwLhLPyPK0Aq/MOhXuiHAH7Xf3+uw6xUkWCiuxlCeOUhdpSGKinZdlWGcQNgMwm0Ay0s353AwmHZ1WRBJjtVHq2bLwEKFcd91Uo4xfTm1ktJFCry2fyMpbUhlF0zNsowc8cJf43Y6fGNMd4Is4UVVpwSqJt/ygwVBpdPBURhFiC3QyD0kvUatxtBBzXubKRVx56prVC/JZ9gtync/LCATilm+itrUlEjEe+5PH03fvjXGcKXue+J/CZ/+yk3SOWFXUhIcltuJWau0B4n+k7QITCUTxC+wCnDu7ekBCoYaW2bB5qTEiITusv6K0ZmhDHrVoIGFS35LLv2p1abwhtOTtfFcaFmszn64AejcAgKJ4iWr9jqaarPVWrK1Sf5Cx/ExRQ1Vkh2dsU= X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 281c7a04-27f1-41ca-7514-08d4ca8f31fc 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:BY2PR03MB475; X-Microsoft-Exchange-Diagnostics: 1; BY2PR03MB475; 3:nHJWg2988h89DyUy0z5amLKkP0ol4FP1roTyR5S9U9/9t6DxEmhd+XIgqazpO6kM+HXdB/YNxxTNykiv3mRvHEqqMQydHOIfnXd9pP6oOWt1Sd7OqgGvglMKkqdtg/fd5FJqPD8wCHZaKJfG+ty4Xpz7T87jqeYvBuwFOjco9kRnBN6lKVsNNO26WicfhWSPBnCwrCGSW3l7+Stqs3HW6cX97KJTZnWEzHWoiRlRE2DdOFinTHLpEk8q3pe9qdAmoqyF/HsIMBRMfP71jwl2KjRIm4R75/rmbURigIjTt+FLwxZWI9NIBxd60RH/URtaePBVXkqf6bT+2rGpmYpmM5MzvdN/8LqPC1/sZa1bVdXIUsRPzxuheY+P5W3KHtYl9C3xzb5oZCe/kVaQmxYqTUqNaxBCK07M7aN9bCreXq+2gsHu+MhWuTF7Q5jtPBHFRlXfbkkdsOeRm1+flsn4q0Ogq9AIghisM0XsjdkB1cIzeEb0eg78Y0LB1hVx2DNl+uZdZruZ0EVKihfSo8yZE8RYUUsehZnfOtUD5LtVyKFGL33sMfNk3ixFxZJciT0PAWIsFlhrGMBF6WNNe8i6cyyquA1OSIzh1a0cX1lqh+VlQFsvhdYacEFTdgOXjq12k8y1U4ytzOfXsFJVT1cu/HLJomQRm67zONWOcg87kMVew8vIudxF+dP6cY/xG+ycb7qXjJANfyPnu1X5OqE0k74DLOKxGQsoHXmsUlQLfxnC8TenRfn8vG0GETu5wul871X34YNx1ghz10+8oB8YEDj9Vl3iWr0aophbpchUKdwi5Bh/+5nGDxk9qsSfpoeXQ5S+AL/NI0L5XGH9ct+U67YciAeRftZ/NlhcLXHdN54= X-MS-TrafficTypeDiagnostic: BY2PR03MB475: X-Microsoft-Exchange-Diagnostics: 1; BY2PR03MB475; 25:lt86zOBnLBDAOw619I0HYzdwYmsXAavXtg0TJV1i4quxhEXYsikMDfi68TjDYbxqPdZ43baM2tTQnueovNi7IjvQlOkG9JD5yCHOQRQCxMND+pOhg6lZtZ0vnCPiMfjO5OHQdHnRfAYQTYrKmepQZsjAkm+aXIPCYTf14OmngLZFsQ/UpkXy+Ogc2dLY611fjyrcD5dhhSrwZ9Clnyr1rORJ0rZjjRP4teb7oTZnFl5r5YzlXpuM5TC3RBG8ULC2DXptT3vhRS39m7yoZBXj2Tw6DB/s/IRwxoaVb33DeqEc9JjdRCnqcGzYxHqQMmLqxw6C4rn4gMw0emDEqK+vZ7MKpc5NXfZGVm4y+caSuqqZl57YTLhVDl7MGkZ3XRF0j7GhNX5eTc8+OaUUdlIR0hYVTySlARfSSlj8TqbtPMMrTjbgtY6+PyVFIjCOSMxVAIUEvvVXFO4aVrC5rP0y9DJCA+olHyeE7JSNW2vJ8G4ILEHmrIVNZZQL10Z0bZT5/oWgDzgYIU3Irqj/1kcsEUadyDtnGvDk5sxFtjOGf2UPcpevm9zkevfYkAY4d/Tr6XZtGI4XneidEmXDOl7dz06Q1LlRenXrt1kohMqypC8aJMejsYUXEOgVwIDHxNJGwViMFP+7b2Gy0V10OcdOPXiDWyTOzjIoJGdBLGATNAud5GaJVYonu4WTp00jWjKiQCMsJ0nbj3hVIGLMGJIftgaGOlH7gptsDL3LUVa/RaKhnLwAh90BSTK1oq4+jso/oHAbvyRcy9/g/v8vk0xuNgij0LXsqgL8xTdbqnh8sJN9LG8o64TZ3+6G9MaCoPQvsoKgblihW+FlbfqdhGUdll3kj2sQ9g5vYAcU/LTaGsoK3TATiM3fsi1YL6jt2Df4Y3B6VMvMXCN4/n6mTzVjo4SaImjVFu7RS4nDxkwH9Jg= X-Microsoft-Exchange-Diagnostics: 1; BY2PR03MB475; 31:81V84GtkYLE1IQaWz1rA5uVTh+9CEQ+sftpmpQcJ9RKpbRDgjSdlMo9zJHkOPas+lFF0sSSOoQE/0983CXdWrXAwGS/zaJfnnLzzTJbXXRLcS1AkYTLhtQMFKrQU2qAeAl4ptH83KXZqFq/OqRmFkefjVOxpO/xHNOyetvkZymwiug8T288DPZvT3C/8947jgKIjz1OmCFyGVKIutWyNPuKHrg4jKBvR+n8P1zbQ5pHGh1V+xYrZhLWcWBOP5JHlsY+VzaI1gEj4Hd0Or7FbOZBGLvkLYLkCz3DCgXjpIiwySA+4CsxQ7QJFMD7+pb+uH/cz7YgevM10pkRqdT1C8oeoCDMSjd9f/GQAnQqi3SwT/Pu8D0RM4RHyjiGe8fj7zv1V7qCl44DlOrMnAVJHKoCWsrPVO91mriay2wcO0cO+JBnb/Rv8MQ3xJIzyAgEFmBeAx4CnyrJwiIc650aPSJcITEzCC+xjqfpIruN+U1aGAKqHDE6pJUrWCJGOHO+cTvVjgJhBtHiDZzbDgyMfJLDmtP09lud9GsDqZCAOMWt+vohNv04IIBoCemk32gZwXFLnMV5ZX+7ELQafBnmHE6euv4dbus1sGyhGbJ/TCn5oOkxchklUCAx+mHyM277YHF5+WGYh8PrtF/i2pT/mxIwQ/lLva+q9+9Y2v1GI4NWhTuH41JgZRHFTmifFWHmIcECa7gffQ/D60ah9Wb0euQ== X-Exchange-Antispam-Report-Test: UriScan:(236129657087228)(278021516957215)(247924648384137); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6095135)(601004)(2401047)(5005006)(13016025)(8121501046)(13018025)(2017060910075)(93006095)(93001095)(100000703101)(100105400095)(3002001)(10201501046)(6055026)(6096035)(20161123556025)(20161123559100)(20161123565025)(20161123561025)(20161123563025)(201703131430075)(201703131433075)(201703131441075)(201703131448075)(201703161259150)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:BY2PR03MB475; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(400006)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:BY2PR03MB475; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1; BY2PR03MB475; 4:kAts4WcWTQFc7DYw/5KbUwQA4Kiwy2z7IVl3JWK?= =?Windows-1252?Q?ZUnuin4AC9sABn4mHKyseFcPBXzSPrLbx/rj+U+lROxekP5K9qUkkrP9?= =?Windows-1252?Q?6jZETeX/K5mbqWxFeRBWPx9WVNjUV4ygi9M3OwyeOy0PDk+Qk3iiDk+z?= =?Windows-1252?Q?ZI74cHKozDXQpaYs58lPw8dsOu6PZ1r7cSdfs914C9JYIRudXk63Bqhm?= =?Windows-1252?Q?rEEZE5Llfl4sXNS9+TfWo2hEwX37Pz1rxTHd5S+rzh8zWwDAYi2xV/u2?= =?Windows-1252?Q?szxBI621SfYkHy3zIIWbJq46xwwpFfR2yjWm2AxnUHAZyVSfvZS75K7B?= =?Windows-1252?Q?oMaVU78WHzY96/CW/+hznrRzpVCten2qmjW1zxXJ2Mp5GL49PqUQgitA?= =?Windows-1252?Q?bWxGsfbO1b3qCMlEvdxggNQ04MuMLJD0JyyCIeA9YNlt5E12vbZTuirB?= =?Windows-1252?Q?qQk657xV0c2ocWaTONU8zea8BlyBslgNtRzGVHL3eBl4XGr3MxRJhXKM?= =?Windows-1252?Q?OfQacFHRdPuSclFP2iizfW/ErZ7E8l6uIlBdKQQTC5oPM4cNlSxJ4Xzl?= =?Windows-1252?Q?yeD4lXW+A1SuTZypz7lv/G9CLmL/G8SlfrJ8DlOaFw6gafMMYqESY9Ua?= =?Windows-1252?Q?HSjMp4uiNcg2cI6gLBuDimxpdnp3QvFQsSqSHTOlrPCNX6v7ojd/9ISV?= =?Windows-1252?Q?6xvOT5rZQ6uf4JhTdDbMhjVpvKfpphz4Y39YELhOWR6bIJKoMQ0zfYGk?= =?Windows-1252?Q?wBkvXodBC9pFGaUhUQxeWA+nfaYvHaEPQS2DqgiVLDSVs4K9DRiCTlRR?= =?Windows-1252?Q?M3aBwfCy7K1cDqkf//Q0PILksd0eBwFnZDgXB1JHo0Zxg78qKtdncF3R?= =?Windows-1252?Q?U79U56d+UTGG7CzfWwWeo8sBkmpuc6clmYZZoC6RvdUnu3BAN/uCvH3s?= =?Windows-1252?Q?iFNu3z60HAThBGECvx613HmZQl8gq8qkBmYhZGYiAo+WO/WWyfFsAE6/?= =?Windows-1252?Q?v4F2AbQH3RLJyVu7yfexG4o4W/+rt0VsvR68pqgiK6HEQynkOOvYWLLf?= =?Windows-1252?Q?DEGCxqxN6Xu1T3Zn0R6VrUyPey5yHjE9sy8lioq32Nip7cgXxVwfcb0S?= =?Windows-1252?Q?gPpRnsjoWhEghe8SHYMKZCKj2KnsBZ9imon5yiJkuq0JjDCzU6DLmg9w?= =?Windows-1252?Q?ZiUgXjxDznzokwX1c8EMb/mB2ASBzA+ShxiFy3J1QWev/8aK17sF71p+?= =?Windows-1252?Q?rESIq3+7fjaO448nbvkbsJG6czRySis0fo5NZZmXKnRjFDDbOmNPJIcF?= =?Windows-1252?Q?zdRMjOMIqbyZFNg2O03CL488x4FdOBQLgyASaHgmt+n+DkHbVIuwWmgP?= =?Windows-1252?Q?5+5m6gQG6lu6biClgN7UMCwyES7RzfHfPdMlba7EzrQRo68B/0DC1qnn?= =?Windows-1252?Q?p6eqsinf2wgdsZBwJEYFyyLMjwd3AenZgerYj/Q=3D=3D?= X-Forefront-PRVS: 0368E78B5B X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1; BY2PR03MB475; 23:NZ25Nh98aendlaG2U3aofxdfHFSKD//WM5gOrg?= =?Windows-1252?Q?+LF+5HQ97GMKS7TTuXCqzz3PY/TYS/sSw0QXKVLzT+4eX3qqTKbx59Qs?= =?Windows-1252?Q?eRnYRIOVcCgkVBwSlUvA1br48XfRkyUH9F3CZqquzMwKf9IAX5NMGRl3?= =?Windows-1252?Q?YoxbKmnT4XURafobQ5Q4olGmPAalSWtcLBOPmhjUq3maNbijgeEbo3S8?= =?Windows-1252?Q?UNsfYwXRrOUTsvUNShiU5343stPUDdK4pHkGaCCTWuBAx+tFgkzV6wyf?= =?Windows-1252?Q?g50gVa44h6nqgS2zqyOpwIUv8lgPDgYzY0HJSWPiK0CLKUBaJAGr8nhJ?= =?Windows-1252?Q?B8m6CYEzXg8j4HPslucA9/LBlTig78ZtmoVFlxNGsI4Xv17G+rxit9zi?= =?Windows-1252?Q?1gU1gPAouRgaUajZPdzyhx41sJ9osZ+wmZFkkiwszNoLkC5nkvrfIny7?= =?Windows-1252?Q?CWWwAFs1LGkfC51zlNtGS8yn4xf7x2UrAGxaMMn+GOHlBJd7xE3yO5Qi?= =?Windows-1252?Q?0o3MSq/EgpFDhXwTKChXwVKDqv3cInGCuPK3zof+PaOENafk1I3KJK9X?= =?Windows-1252?Q?oGzx7Y1pHpVW8tls/kqB8WAw2adzkRAo/x/londKyE7Y1YV5+waGneJB?= =?Windows-1252?Q?T2ZIXsfedEM9vEKraqihqJ547BPvFVzoe/9jEZnAftq5OKksCA0AkqaB?= =?Windows-1252?Q?HuY14NOIWjfllL9oc57HhGdvT63wlVr1GbcjQPlobbGm8Clfom4ytHjO?= =?Windows-1252?Q?3oVUwH/X111v8oD4p2gC2G1DJk9SLZ4dhQKrk/EiExUvi29Tj9I/WIoa?= =?Windows-1252?Q?qzYMwryDuGiwpYD5mBTLbd/v/tht5XkioChDA5nvDWVa2o4fjCDvpBml?= =?Windows-1252?Q?R5F6k0+QsJnoL7MWMdBDI1GV0h38Kwv6Yi08MGdFk9bi0tAOGlvOadr+?= =?Windows-1252?Q?yn/upa2rlo5wSYe6RPQqYemBvhxIjdiXClRJTM01mSQrj1Eh/DATm7+6?= =?Windows-1252?Q?xcg22e/4eqvTHYgqslyXguvDhEk4J5jGYrzPdUrBMB2lg6AZa9Ztbz8b?= =?Windows-1252?Q?+S84Q0CPvez3viHIFpNzY2m1/Vx51x6sI9jLwiCmRjlQwGSv1m+ZSLj5?= =?Windows-1252?Q?gV9xJZEAiMuoJnnPqnKzQ5hDFL1nJbEu5A/+8Zdd3DajTaAzSDsZ2HZX?= =?Windows-1252?Q?ULfqyADTBTDMGlo7nFdKASCTIupPQuJW+b20XeCAe+B4YEtQuHUeIh2Q?= =?Windows-1252?Q?4RGgvhIO1zGM5nFdjVdbFym6SLEWfYUuchcATnb1Y6Pdv4oW8zfvvUWa?= =?Windows-1252?Q?ak4X8tcU23F+2i14JL0MPEwxYe3w2AdTGssSVFn6eNtm75LSMJaiqm3N?= =?Windows-1252?Q?r2MSLui/N/WJrFj6vkewGy4CN8M+Jeg//GOpqplhU/AqZBzP6HX3rq+K?= =?Windows-1252?Q?WCp4XUghGZWagtp/8sZ1sgnnwMeIkiCb1+vjRkSSpbgZEa9+oNUlIbnu?= =?Windows-1252?Q?k/yYbzQNmjSvyPyFs+fCI/i08XBq4CijNyYtnnpHpQxu/5g/yKoClK69?= =?Windows-1252?Q?SxFfhceMqTj7g/twJ55Xb83LDkvV7BvbHWhqQdJRfq1R9WQo4NUo4Iik?= =?Windows-1252?Q?pG7HB4FYASDN9MS2wCkviEZJa4yzzrp+ukh0yAs57oOl6K7+6f84eH9I?= =?Windows-1252?Q?+kwjuWt0a48UTZqrN4yjQgVFKbWHlJ4OSzLxbPtQe71XOR9GomJejMii?= =?Windows-1252?Q?/VB0lLp5C4j27ROll8SRr0vHiduYANi7n6g/EFh6/dK0cjq0tLaYQeqP?= =?Windows-1252?Q?+VMbohcOaEI+ViAUS0wr19yA=3D=3D?= X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1; BY2PR03MB475; 6:LrcWa+mB22nfUpkoli7fU7aSgprScSgrqYA3Tmg?= =?Windows-1252?Q?4IcgzYoI3Fcdxh61V2IagtT1XTKIWXxsSlVjLbI5He4G1f1LSHUhF49V?= =?Windows-1252?Q?2uDC7bb0Efod7x2xSlbjfAam7ocht4fWLkOXa8L4OGlO3IvxeI7ondF4?= =?Windows-1252?Q?ql2oc7VdOWGjU1A6N3maHWcyXFxkNdIteEgkm8zeRCugETjK1wOW3i4T?= =?Windows-1252?Q?buPUCU/+VC2AgZVGX5pWER9gEwxuY83wd+I4EbrpENIe3vOj0DaLuRn8?= =?Windows-1252?Q?t+7ojpf5OypKFkkOqBScW+wbffn1hCeeeKgzsO3gFpra+8kUed8LYaNi?= =?Windows-1252?Q?Z4JWsweWQwH9IXDnn8+U9bCcXFvBK6wBoJ7Bl0buX6d0nr4JnhqlFR+p?= =?Windows-1252?Q?qKbEbSMlftEPoEzsuLVa+dk4htGPoMdGZCCu8f+uY6Z735rJHLGU9d72?= =?Windows-1252?Q?ZC8k7gqID6CrEogxDBzu2bNeZYE8f8unClctBc6IJTBspd+AR7XZPvdq?= =?Windows-1252?Q?/twMuJU4dNTVrHx+B9aX4ySBxtMqcnc0YncPyB/i5Znzgww1oyb2x0AN?= =?Windows-1252?Q?SiWEdp0KyRKtYxL3Jo4VZCn7h/dhJeNCqLNJjciZfYi4TAhpfdja94A2?= =?Windows-1252?Q?FOUPtjyFTtFfFazvn9zNbWjuIx7n4WnHk4i/V3uH6OiQT4MXYpmRfUvm?= =?Windows-1252?Q?gPJYZj4g9HZ4w9KznIFNRWzOEQVrqpKwd+PXAobn5yW9MikaFHkfsvt9?= =?Windows-1252?Q?k4JJjdyzl/6HnrP2LwGsm848lQh//MPwZOmdQ/n30VihPc+KjyGxvIld?= =?Windows-1252?Q?xfXOsPqW1QEyG1M65EzUz6mUIDRwYhVH6s+ZxfMcNrb1HEvRAo1Qvd4a?= =?Windows-1252?Q?6QLmz5uWlQhdCcdesAS1JBi/zT6V5N1iPdmtDtz36QGMRKhereKbrThw?= =?Windows-1252?Q?J4SpiENp9w040WmlNB8DP8MkkWA6B1rF83zNJAg2enyGam9H1w3lsK2F?= =?Windows-1252?Q?skd3QL230YJ3+VPWhalLegJRC+3GldyIrM2W/PUuboDiPoA=3D=3D?= X-Microsoft-Exchange-Diagnostics: 1; BY2PR03MB475; 5:VwgG3qi25rDuTLVqw0TkZPnMtmoD61yDjV/xhXCLrHA9asxbsI6QfpQXueZYqqhhwM8LeO7UycXK4NR/ZOjkZZTiWYrDgxX3dpo7HOsdCRIJSlutSasl/VQezfQgqhmurxnGZ2tfYe3ZKlFkIVBqXiqxLxoFNYi572JJHkUby35keuzLZdLPJ9B/wRpgi55myQEjWO6TSKoD3hvqKVCsANli8lJ5+KaBff4i9UZgTX68UWRDMAHt6rOkPXZQlY2Og4hiKpQteaTidzol1YXlNG3649AOxDR10KCA3/MuFP19rqGYTmjcj8ay/bE9i0ygGhp2oVHiTJA4kje4PF4vizj5/VEGGWk7Nau7ZlQXFawHgJTOYH6xBdM6zEdOddLsA9ChXKeQr6E9FkJTBctd8XatISg43BGsm0jj+opfWA+NhxqkCz1SxGX1BuSmkXdTreybFpbywpjmtJpg3tvxK8po4rvq11s2zmAjIfzUoMIf5M0KwE4mpzTye2yfPfHtOFmiiFosJiY+OAsfPCTk6g==; 24:+UB/JO03X8zX1RV/0W7ZYnhhbH/s/vjA9rh8i3PNm/jsq7oMxtBF0TPTJsd7u6JUSYqHowaBQbBjJBJrPWAg8JMLgCZQe8Tdj8RRzaRHzvI= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BY2PR03MB475; 7:hpR0aVp4/JMQWKaZcTjserXBDz0qG8xNydDdf+6J4VKw19Fee8Dsm4MJNaTxJyz7v2IreRlSZ7LkNZDJ1cF1acAg1nknIEj9KpAJ9VtrQ+CXqnSE1zJez86OeG4YZ1P5+tdKWJPwMHaTeSlBrWWjG3tPvARAuHdiOkB9BtFQuR+8OlVFOIVOjPNP7Qf0wbSaAbMdhqfq55iSo2bitf0CCjUW5xE0AICi6wxfD0kpy4gY512q1t9qaLFdIeYWb/SnyWBETj+PbGErmAU+D5POgMmRR06WizTd5CkQ+yb5dTgbK7QhBiJBOH6wNjVRxtOGZ5fl7O+Ru2nT4fmiC8vt/MkLDFc1VBXqyC2r89isXUnUmulC/AZ4wvKNqZ1fQnRW34TEUredp0eGNi+seejaRI5wBQkPrRoxE8aigYzUXFu9o1oduy6ZZF9jlRkw3GbH6/wyqJfZ4nmZ8zMyGThN1s8fe63qSUEp9DdlmE/X8tJALjDKWFXn7h4IMjSaKhBCQXJKgmZdIMHgK3pE4d88oyIhezYdmyKpcKAZhqpbgRe5LdA5Anrb1AnoDeO9Ov/7B93KqrC5t/xLAzPX0yV7OWu7zJJDz3Ry+VR2j03FcMIjE2W2xjGq0gZju/iCU11U+GB9DPxawz08AZgir+0tK+o7PfiBvnUtFAENsRt7MhAccoTeY7ZWH3hlM98FrwV++GsDd7B4jCSyIfAh7y5/J2KCVf/KgTqVlUHXkQuek7XLsr8NsLfbR7n08Z3wi6naaoOp9JOYsEO9M7QLrI7I9VbqSWQJU91R4PnHjOsLlqc= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jul 2017 08:06:13.0413 (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: BY2PR03MB475 Subject: Re: [dpdk-dev] [PATCH v3 04/11] linuxapp/eal_pci: get iommu class 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, 14 Jul 2017 08:06:16 -0000 On 7/14/2017 1:25 PM, santosh wrote: > On Friday 14 July 2017 01:09 PM, Hemant Agrawal wrote: > >> On 7/11/2017 11:46 AM, Santosh Shukla wrote: >>> Get iommu class of PCI device on the bus and returns preferred iova >>> mapping mode for that bus. >>> >>> Algorithm for iova scheme selection for PCI bus: >>> 0. Look for device attached to vfio kdrv and has .drv_flag set >>> to RTE_PCI_DRV_NEED_IOVA_VA. >>> 1. Look for any device attached to UIO class of driver. >>> 2. Check for vfio-noiommu mode enabled. >>> >>> If 1) & 2) is false and 0) is true then select >>> mapping scheme as iova=va. Otherwise use default >>> mapping scheme (iova_pa). >>> >>> Signed-off-by: Santosh Shukla >>> Signed-off-by: Jerin Jacob >>> --- >>> v1 --> v2: >>> - Removed Linux version check in vfio_noiommu func. Refer [1]. >>> - Extending autodetction logic for _iommu_class. >>> Refer [2]. >>> >>> [1] https://www.mail-archive.com/dev@dpdk.org/msg70108.html >>> [2] https://www.mail-archive.com/dev@dpdk.org/msg70279.html >>> >>> lib/librte_eal/linuxapp/eal/eal_pci.c | 66 +++++++++++++++++++++++++ >>> lib/librte_eal/linuxapp/eal/eal_vfio.c | 19 +++++++ >>> lib/librte_eal/linuxapp/eal/eal_vfio.h | 4 ++ >>> lib/librte_eal/linuxapp/eal/rte_eal_version.map | 1 + >>> 4 files changed, 90 insertions(+) >>> >>> diff --git a/lib/librte_eal/linuxapp/eal/eal_pci.c b/lib/librte_eal/linuxapp/eal/eal_pci.c >>> index 7d9e1a99b..573caa000 100644 >>> --- a/lib/librte_eal/linuxapp/eal/eal_pci.c >>> +++ b/lib/librte_eal/linuxapp/eal/eal_pci.c >>> @@ -45,6 +45,7 @@ >>> #include "eal_filesystem.h" >>> #include "eal_private.h" >>> #include "eal_pci_init.h" >>> +#include "eal_vfio.h" >>> >>> /** >>> * @file >>> @@ -488,6 +489,71 @@ rte_pci_scan(void) >>> return -1; >>> } >>> >>> +/* >>> + * Any one of the device bound to uio >>> + */ >>> +static inline int >>> +pci_device_bound_uio(void) >>> +{ >>> + struct rte_pci_device *dev = NULL; >>> + >>> + FOREACH_DEVICE_ON_PCIBUS(dev) { >>> + if (dev->kdrv == RTE_KDRV_IGB_UIO || >>> + dev->kdrv == RTE_KDRV_UIO_GENERIC) { >>> + return 1; >>> + } >>> + } >>> + return 0; >>> +} >>> + >>> +/* >>> + * Any one of the device has iova as va >>> + */ >>> +static inline int >>> +pci_device_has_iova_va(void) >>> +{ >>> + struct rte_pci_device *dev = NULL; >>> + struct rte_pci_driver *drv = NULL; >>> + >>> + FOREACH_DRIVER_ON_PCIBUS(drv) { >>> + if (drv && drv->drv_flags & RTE_PCI_DRV_NEED_IOVA_VA) { >>> + FOREACH_DEVICE_ON_PCIBUS(dev) { >>> + if (dev->kdrv == RTE_KDRV_VFIO && >>> + rte_pci_match(drv, dev)) >>> + return 1; >>> + } >>> + } >>> + } >>> + return 0; >>> +} >>> + >>> +/* >>> + * Get iommu class of PCI devices on the bus. >>> + */ >>> +enum rte_iova_mode >>> +rte_pci_get_iommu_class(void) >>> +{ >>> + bool is_vfio_noiommu_enabled; >>> + bool has_iova_va; >>> + bool is_bound_uio; >>> + >>> + has_iova_va = pci_device_has_iova_va(); >>> + is_bound_uio = pci_device_bound_uio(); >>> + is_vfio_noiommu_enabled = vfio_noiommu_is_enabled() == 1 ? 1 : 0; >>> + >>> + if (has_iova_va && !is_bound_uio && !is_vfio_noiommu_enabled) >>> + return RTE_IOVA_VA; >>> + >> >> PCI is generally present in all platform including dpaa2. >> There may not be any device found or available for dpdk usages in such cases. The PCI bus will still return RTE_IOVA_PA, which will make the system mode as PA. >> > That's the expected behavior. And implementation makes sure > that PCI_bus return default mode aka _PA if no-pci device found. > > Isn't code taking care of same? > I have attached a PCI device to the board. But it is being managed by kernel only. EAL: PCI device 0000:01:00.0 on NUMA socket 0 EAL: probe driver: 8086:10d3 net_e1000_em EAL: Not managed by a supported kernel driver, skipped So, there are devices in the PCI list. But none of them is probed or being used by dpdk. > Let me walk through the code: > > has_iova_va = 0 (if no pci device then pci_device_has_iov_va() will return 0). > > And if (has_iova_va & ,,,) will fail therefore rte_pci_get_iommu_class() retuns RTE_IOVA_PA mode. > which is default mode. Right? > This will create issue for the 2nd bus, which is a VA bus. The combined mode will becomes '3', so the system mode will be PA. >>> + if (has_iova_va) { >>> + if (is_vfio_noiommu_enabled) >>> + RTE_LOG(WARNING, EAL, "vfio-noiommu mode configured\n"); >>> + if (is_bound_uio) >>> + RTE_LOG(WARNING, EAL, "Some device attached to UIO\n"); >>> + } >>> + >>> + return RTE_IOVA_PA; >>> +} >>> + >>> /* Read PCI config space. */ >>> int rte_pci_read_config(const struct rte_pci_device *device, >>> void *buf, size_t len, off_t offset) >>> diff --git a/lib/librte_eal/linuxapp/eal/eal_vfio.c b/lib/librte_eal/linuxapp/eal/eal_vfio.c >>> index 946df7e31..c8a97b7e7 100644 >>> --- a/lib/librte_eal/linuxapp/eal/eal_vfio.c >>> +++ b/lib/librte_eal/linuxapp/eal/eal_vfio.c >>> @@ -816,4 +816,23 @@ vfio_noiommu_dma_map(int __rte_unused vfio_container_fd) >>> return 0; >>> } >>> >>> +int >>> +vfio_noiommu_is_enabled(void) >>> +{ >>> + int fd, ret, cnt __rte_unused; >>> + char c; >>> + >>> + ret = -1; >>> + fd = open(VFIO_NOIOMMU_MODE, O_RDONLY); >>> + if (fd < 0) >>> + return -1; >>> + >>> + cnt = read(fd, &c, 1); >>> + if (c == 'Y') >>> + ret = 1; >>> + >>> + close(fd); >>> + return ret; >>> +} >>> + >>> #endif >>> diff --git a/lib/librte_eal/linuxapp/eal/eal_vfio.h b/lib/librte_eal/linuxapp/eal/eal_vfio.h >>> index 5ff63e5d7..26ea8e119 100644 >>> --- a/lib/librte_eal/linuxapp/eal/eal_vfio.h >>> +++ b/lib/librte_eal/linuxapp/eal/eal_vfio.h >>> @@ -150,6 +150,8 @@ struct vfio_config { >>> #define VFIO_NOIOMMU_GROUP_FMT "/dev/vfio/noiommu-%u" >>> #define VFIO_GET_REGION_ADDR(x) ((uint64_t) x << 40ULL) >>> #define VFIO_GET_REGION_IDX(x) (x >> 40) >>> +#define VFIO_NOIOMMU_MODE \ >>> + "/sys/module/vfio/parameters/enable_unsafe_noiommu_mode" >>> >>> /* DMA mapping function prototype. >>> * Takes VFIO container fd as a parameter. >>> @@ -210,6 +212,8 @@ int pci_vfio_is_enabled(void); >>> >>> int vfio_mp_sync_setup(void); >>> >>> +int vfio_noiommu_is_enabled(void); >>> + >>> #define SOCKET_REQ_CONTAINER 0x100 >>> #define SOCKET_REQ_GROUP 0x200 >>> #define SOCKET_CLR_GROUP 0x300 >>> diff --git a/lib/librte_eal/linuxapp/eal/rte_eal_version.map b/lib/librte_eal/linuxapp/eal/rte_eal_version.map >>> index c91dd44c4..044f89c7c 100644 >>> --- a/lib/librte_eal/linuxapp/eal/rte_eal_version.map >>> +++ b/lib/librte_eal/linuxapp/eal/rte_eal_version.map >>> @@ -206,6 +206,7 @@ DPDK_17.08 { >>> rte_bus_find_by_device; >>> rte_bus_find_by_name; >>> rte_pci_match; >>> + rte_pci_get_iommu_class; >>> >>> } DPDK_17.05; >>> >>> >> >> > >