From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM02-BL2-obe.outbound.protection.outlook.com (mail-bl2nam02on0085.outbound.protection.outlook.com [104.47.38.85]) by dpdk.org (Postfix) with ESMTP id 4C46F3253 for ; Tue, 18 Jul 2017 12:55:36 +0200 (CEST) Received: from BN3PR03CA0113.namprd03.prod.outlook.com (10.174.66.31) by BY2PR0301MB2117.namprd03.prod.outlook.com (10.163.197.146) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1261.13; Tue, 18 Jul 2017 10:55:34 +0000 Received: from BL2FFO11FD011.protection.gbl (2a01:111:f400:7c09::189) by BN3PR03CA0113.outlook.office365.com (2603:10b6:400:4::31) 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; Tue, 18 Jul 2017 10:55:33 +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 BL2FFO11FD011.mail.protection.outlook.com (10.173.161.17) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.1240.9 via Frontend Transport; Tue, 18 Jul 2017 10:55:33 +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 v6IAtM65032200; Tue, 18 Jul 2017 03:55:28 -0700 To: Santosh Shukla , , References: <20170711061631.5018-1-santosh.shukla@caviumnetworks.com> <20170718055950.10208-1-santosh.shukla@caviumnetworks.com> <20170718055950.10208-6-santosh.shukla@caviumnetworks.com> CC: , , , , , , , , From: Hemant Agrawal Message-ID: <12f596f3-b5c2-46e4-63e3-85e7a9ec75f1@nxp.com> Date: Tue, 18 Jul 2017 16:25:21 +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: <20170718055950.10208-6-santosh.shukla@caviumnetworks.com> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-EOPAttributedMessage: 0 X-Matching-Connectors: 131448489333589465; (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)(39410400002)(39850400002)(39380400002)(39400400002)(39450400003)(39840400002)(2980300002)(1110001)(1109001)(339900001)(199003)(24454002)(377454003)(189002)(9170700003)(305945005)(120886001)(54356999)(76176999)(626005)(7126002)(7246003)(5890100001)(5660300001)(2950100002)(83506001)(65806001)(47776003)(53546010)(8676002)(6246003)(77096006)(65826007)(8656003)(189998001)(356003)(229853002)(106466001)(4326008)(69596002)(85426001)(33646002)(6666003)(105606002)(86362001)(31696002)(64126003)(23746002)(2906002)(36756003)(966005)(50466002)(4001350100001)(230700001)(104016004)(498600001)(54906002)(6306002)(65956001)(31686004)(81166006)(50986999)(38730400002)(7416002)(53936002)(8936002)(2201001); DIR:OUT; SFP:1101; SCL:1; SRVR:BY2PR0301MB2117; H:az84smr01.freescale.net; FPR:; SPF:Fail; MLV:ovrnspm; A:1; MX:1; PTR:InfoDomainNonexistent; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BL2FFO11FD011; 1:5EFNNgGTkh0CTlENyYVax9lq05RC1OBx4u7Qpw0sET/ijB7TpbIbnbjYLolvJjBTfyYznjVQWf3spIMYfSjVaezoTIn9hrOVIyTQt/GZLdXtm43hnwit6JnNDphvJxdkEBjAHWchuMR/+bdvPSxf/MfuhmvD6J+XMM7oiZhBr0T90GbrjOLLtFf82vHBqUkp2d0vYB9qlECoxtgV1pbJVaxkAwsgag1k993KLdJIrUrFR7bSLV2vEHJcqNCEF174HNcOwc967TdOGlv8voTzMi94AKsYmDfM0rxNd/8abS14lptum/2x5/wKvRcEiuZE12oI5zoZuhONKTLkXMmhi4jzceav3oKTTRd8uW4UTEBlV504DRCwP9nJ3uLniwAtsA6uaDDbLx5dRv416LzjANX7hshF0TQSZCrnvA4cYWJiSNtLc8z9CMLVJ5YCrRujt6qJUrIzYGY5bHCzRsJ7iaKGkstrCDrua/belnZK3dZ3TTxUpAxxGVPQEE1mWvmWZ7u0RcpdHF5G+2UibQaxS4+iaHtkHY7BQETrCHU3IShJIhKDZ4X89sr2dpBgjd7jeCtEhfCuCVUfADJqYSeiP7FmGc/WRKNUR0FSg8y9E058z0zUTPcYQBsYmpyeGir2p3IJZ9s3IJRvl5pWfHZEOFFRG8bfsvzb0uFY/kl3IJIFzxrsPPLIFty/2oNNv8VDgFkBAO3AzT/0EMZA+iMUM9cb2nmmGsakODCFcmo296RCHyYhUNrOYB27/dgtYZBGBnahAljQYzFE3dKD660gy4D1XyFynfsuw/RMWARMvjquTIzH7Ha85kZgpWBsU3nLRs+Gb2v3QAD3jyllwvIqHERevxaYIamp+/fK/sQfQxWRc07Om9UvKxex9zWsW4k6A86sQU+VTVZbA00dMopGTIRVl7wO2tvz+roYhSvTsGc= X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ed3af6e7-1dc5-4672-2478-08d4cdcb8372 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:BY2PR0301MB2117; X-Microsoft-Exchange-Diagnostics: 1; BY2PR0301MB2117; 3:X/Ae9YFcPkmNIEVMXAaOqmqLqsz0uuXjtnhDd0sVsfxJYVhUNRKxJhMJSwjYPZmbJ3x9QNwOl4cPdxSXkbfSnz+6BMvaG4yi6NIygiy7UD+Fn+YZ1cry8LV4KjxMr0HSovSJFWmxm1EPh9ai1Qnyoktw+Lodk6Ih8Km6N4zrTEcTlcr5J9+7zzFo+i2KH0fq9bPMlDtmwdkCGl08XaoMcTYmTAZCVuACM/bGm0TeGb5g9l/NzkaDqY79BV4KfOzm6pK1rbMKQJvSSTyHuMIecFvVD2+LIy7V3bsanzFmTV7cmj80Pllmt/dLxWyo1cfVBBB+trtP1vJNH8cBomy3FG+I65hJRiPWm0DVx0Be+/mEl+u84ujYIpL1N7bflJPgKgYQ8EHtzFZWG66a9SzV1Xb57zGhK/IItNicn4LNPgvbc9O1fFc7GEHIak7CYMkvqKjGAels7pDaejQO/f3JUSd7qC+TAbGFUJ071KmqFeedPZqDq1ha4bm0JRauinF28AJNxPDNx1xF65lLrzM9HW2S+FOlAfEk0H+1J4AHvEIhXuxuTpBrbAaD/ZhNCRFNgFcTR6GiJEC0XfSzOkOmieclfeUrCRN+pLrEFD4cxYxwTm8WcyT9HV/UrL8uhrdV+onULGtMFBJloxakH0AHybWJzNt3w9FZMpqe19hz0XM0YzIbdAF5qf4feLrCq7GVCP6tleoPR+/7G3Sqby9GSES/VKtAwx8w0EpFcUEgZoKA//0LQ0eommmDER9HNrgPbF+34slX5wwid55oWSj79aquZUMjCSzIru8KhJOorukM1YrJlc9MR6+/tz7kMnrcae3pE1MmJW2IXx85xnVHbd58DvMiciTB+pXLDeT05crzFlQtyUDOCA1uwEoq5Z6P X-MS-TrafficTypeDiagnostic: BY2PR0301MB2117: X-Microsoft-Exchange-Diagnostics: 1; BY2PR0301MB2117; 25:LWa7uyaqdH9CNLx7RYGYx5NEzY8XFh6PHgri3Bi3gIzkBBasUUQT6FW0TOqJ4cM38Mz4+wwfA3ZYwW1/7AXzC2wbfcLMw3Qb6M8C/8jVRZk6tEOriOoc9KGVZgwuPYMhxXQTGOyfm8CPmUn1w2RPPAzQ2Cbj2L+6l070qNKY1q0l5gprGqJ4r2YfpXbY7CIceJ+oQRWEJCVjSMqR7KFVOEC0aPSe4rcWfjB1ef22jYJijnwFM/3RCxR85N2XlkMA2BJVGnRTXvCRN+H9vHe2B1a8NN3yqlDCJpho8eUC7qZWyvOSpjqXY3sIzWBs/HxaKu0NjRE4mptOX/TSIBMf6qTnasbjvSYDBIOrOHVJa0gFu5gv8PAkqy9YwunTmT8XMsAp6Mgbz8sju7H7e9ArMatHj3PAGB4pqpF2ZNPiVKMCVzl79qiHMms8y98YLgYpZK8Foj9LYwXYPJzkPsW9uZvg1QB3rdB6C2F0aowHOqhuJa6JdxhkQTWQhfuvgmFpPg4K+jx/78aHtdwAxpMcaP/aH/AnrOIzGCjS+BCnkcq/h5IyQenCa6qcVHgKjvpxE2yGMvfYXTlk8H0niWrpd+TOP0Jpflatu13PWiwiFAok3wD4gd4Nk1iP6LDijDkJmv8ZO+8uQmlyT27TVLE/VIW5tEZkfi7ap6jKPWriVz9fX6Wez3Goozv1CdpA+8i65H2LNcRw7aGHr1g8OQr0fDc3pCIZYH0KaW+NCzSyIG5PBDnQEdfNDkCkHeEfru0rmEtqPd1OjAnzU4T6u7YILezNJqwcUYb1X0pXKG0rCKZTBjazawBxM0zG04jAKBuSvLE7OBflC+vMpYupV/b13Oalia/eOWnrVDdFjQ0h5bqXshq0MTO5ok+RCry5JG0ptnKTutbyjbcU8ckgythlBsfrQ/DTln9VKQ8Pw6vbm+c= X-Microsoft-Exchange-Diagnostics: 1; BY2PR0301MB2117; 31:12wlB1AHFiPQyNozMGAhOT6VydWVeOYdLgLCnD8SZYCHiZn/D5NXNXfXwsGyPBav32FmuGGQobuySjSNLFIpuKrgvgbolsGahZ8Q8m+PCtEu01bHstfHk43RlMo2j0BMDmr4P/+Ew2fujfkx5R8Cy5r9Q3Lq7RdYkutEgl+9Fqm1MKTlj1OAMoUEBuGadarxUTwETItYAl9riX+vVPBWE13vVdBeELalciWOd/260r1oNIgySgSg9Jllb8cLyKMAixRsG1Korp1QqKFrIN8G60Ij6sgRsEy9sdXThwqy5p1LGZtcXtJbp4maxve0gZU30w98qRXDkSZ2JJfpDdzjtvVWWlBO96Bq31PTX4aDqEuNZOJSRrfeJ1S8DSR4n1kvw8vS9Bs3WnZfAR6dqvd3nzgxk4bKjktQv94n6o/iKiwGSFdf8YhcBRgUmOqy7K8wDjUOZBdkJC3H+wYSyd/VJ1Fut04bcagkRv7B9Wsj0DlQ9P4icqijLm+/dA83dBAeGe/Oh1Z547KQ5/RahaVrZSKk7oMmJUC35nJfQsZIQG+EdsI2uUjyPrFFtfDkfYGpnPgDz35BJves/5vQ7dfclO8i9NVDAse4b5QOx+8/iOAaseXcVqmMV7wMIJPchSIzMbODaw9V8dLliUR9pfQ5t6LZK1PPAqoDoZ32EzhZREIsXhHCb8rQSOARjnj4Vy3wDEHzZ4fTK+lSFnyhLQAiQw== X-Exchange-Antispam-Report-Test: UriScan:(236129657087228)(185117386973197)(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)(13016025)(8121501046)(5005006)(2017060910075)(13018025)(3002001)(10201501046)(93006095)(93001095)(100000703101)(100105400095)(6055026)(6096035)(20161123563025)(20161123561025)(20161123556025)(20161123565025)(20161123559100)(201703131430075)(201703131433075)(201703131441075)(201703131448075)(201703161259150)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:BY2PR0301MB2117; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(400006)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:BY2PR0301MB2117; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1; BY2PR0301MB2117; 4:MllACacDHJ0f8GTE0a8zTWlZuc2QBlVQdJh+?= =?Windows-1252?Q?nzAp8rZ4tA2MRrfneGFMxR7K1ZxAcm/hwfoB9g9klXVnwR/iRipFthPw?= =?Windows-1252?Q?SzbZC27wMpoGOgIsaPK8+9IRk4ESczpDa8a+lKQD1TTyQQRcbFdVX6L0?= =?Windows-1252?Q?RJOI/VB1H/cgPjf/QiTnchLdVD7taCg17gqp2Qt4wnhLi7++9SXiniBj?= =?Windows-1252?Q?FUinFKbaFsdNh+CCCG+35gAqQXUMZ0qAP59KsX4MVSwOqEGOioej2hyy?= =?Windows-1252?Q?Urwi8TFL6QTCPFIih3tA6mkoWdTYlRFfMIQjnOHJZ0NAmKwKXyzU8gUV?= =?Windows-1252?Q?yqbFXyvg7YzwwaZ2+mE7WK/ikEOk7ZHnyi9XyYvi9taq2LVoFyXb/8wq?= =?Windows-1252?Q?SdDT6hldWO+XT86Xk36vL6uDRS6wKIXN/jpI1/tTHYA6L71S6y0IOHkA?= =?Windows-1252?Q?FbpfJlq8fpwQfy9FvldrGdHB25pp5hlACa7VeXBAs52zGm+v7LLr1bzN?= =?Windows-1252?Q?zVDcoBA5twxhwy5SiUrd3xG39nEpmlcnJZyPH5Q3jMwG6I9Q2YnTsvqG?= =?Windows-1252?Q?h2Xvf+P/SifZq/1iFXzW0nuWgyTVLDHOSjljfgQ2MRsbtMj8ZASVRFfC?= =?Windows-1252?Q?0C464nY57To38ytwDIvDpea8q55LKOfWr7wO+LXNvUo/CRjOQL9/jdQ/?= =?Windows-1252?Q?YElyO0fiT6dZPrNJkzhhYSbUNmMMjdBiEg+RYsrpFJyX4uQvyCPEOQh+?= =?Windows-1252?Q?ZSXdk3N+/XxXQreZ4C5Wg41ZcJelo208c1PxA8i6T5GwZrdRLYPZKW6/?= =?Windows-1252?Q?kamqYrrvaySkNzoNffvwZfiMQshHWCBSP/6bTJ7921ez4q6cHSFmO4Cz?= =?Windows-1252?Q?fpnpe0TMQ8f0Sj1PQA1qGRrDDSkigay2iQCab3WG5j/9tEJ0+njAytie?= =?Windows-1252?Q?ZY4+gbomxiS18HOtVMYsc+YLuDWZHr8fwh4OU/j9fVfLZSromaq67xWV?= =?Windows-1252?Q?9R6G2rBX9X/bWcy0iEB+k13jXu3iRg8qEa3LuGQ2BNDopBHWJ2SB0MFO?= =?Windows-1252?Q?HpowJRjGwWEDOk/CohMAD82OzPgopcQbetSzJzxYQrkqxyBOPZIzHm6G?= =?Windows-1252?Q?mYRVj8uqpRl+KkCqVQGtD6T7qsJU6uRAgDxIUfN8JtF1Bg/NmNxflJxm?= =?Windows-1252?Q?bML88PFPVsk6BJksAzjRgOEJYdL8CkH7RgIa/2gnGTCQkIDeN0NSD6Fe?= =?Windows-1252?Q?XsI4suSSAfhTLzJh1xxJ2kuX9HY92/m8KktqSuoqlkrZuSSvHGEUVh9n?= =?Windows-1252?Q?cGtHXQrFduF5uvbF/JoAkBei0gl7uhtgqya9ZvmIXjojUrqX+Cu95zDR?= =?Windows-1252?Q?DuaJNKXAYAQSy78tzkQg8LXfKvR7oe1yRpnDUb+a4RQrYnDWv2DCrzQL?= =?Windows-1252?Q?LP9TocdfCkHMpg9MjfFDvTEiW0RXnDARDXLuiYclwG8nIlFZfGs/mIHt?= =?Windows-1252?Q?0U6IyXG/abu0LGkbeHo3C+/0LNXy?= X-Forefront-PRVS: 037291602B X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1; BY2PR0301MB2117; 23:4LiC6/hfVve1leHSToZKCCkGNxFa7BaCp94?= =?Windows-1252?Q?bqkxykWJaZGllZxchvbSag6inF+L50ao8QYqSoe+fSoTWsUs1dAmcE9M?= =?Windows-1252?Q?d9ZybbpyMvbSIBpx1S8Qy4gupzU3RFTpjt5jkx6szRelZUUaHi2Pvkys?= =?Windows-1252?Q?CfN6pvrcN1WZMmtIzI0mJIAihmaquy1nVKWxMVSS1Nix9Z4mykMN9Esq?= =?Windows-1252?Q?0RxdS0RwcaVLJlffv5ovDXeY3w7tKQcihVOsiXARblTeh5vjb5l0D+Ij?= =?Windows-1252?Q?AkToSD4JcXBEmx46fBadLtjuhi6MIy2myHioIDL3G8OJDM2+MYwzFLTQ?= =?Windows-1252?Q?R70a9j/Msxgd8Ipn7BWNgb41dmvDv3TYiYKfqQKdgo2JUBmc4tBl/FB2?= =?Windows-1252?Q?0N35Gzug2uwNmdAZ+ob1f9MNxztxePGHuP3dWJCdGl0hbM0GKKNQgQSe?= =?Windows-1252?Q?TLNET/OLqqwc+yhcI3z1bTYjl3Q7Phxpx2EfG7eAMMWtUTf2S4PgqPaL?= =?Windows-1252?Q?WPe4Suno13hvWAIy3i64mPeFvmYUUtZWPyOExS0yd3LmSgHKqr9tQplr?= =?Windows-1252?Q?S0dkhZTNqFyx+v2u4EfttQbBGzlnHT3IYry7qLQ8nWNo25LssGvart+c?= =?Windows-1252?Q?wbyaeJ+253gEh8PCnW1p5RdSyxP5VIJgYlgjrAoDh1SAX7VZLa19GP8S?= =?Windows-1252?Q?T9MquW00v4tJ032b3nw/SqQSLrD5ujadAyIdb2x/3A8djtUuwx8ItjLz?= =?Windows-1252?Q?HN9NXfZKezkqHcbfDmiKJFp6FdFGyIHVytoI+SRRJUrpyMKkfLh9wWN7?= =?Windows-1252?Q?09BpjidgSA104A09FdtUdNuNJvLAzoHd1159gaZ7vdu+/as5supAnlLz?= =?Windows-1252?Q?V9KYEuGzGJhrJynkFWoeNQSNcxDxz6Epd6NFM1M5zaZUKAr5w9rTfT41?= =?Windows-1252?Q?BzLyWc7cE0C8yHfETulH8jN62NUPbsKLKzFeA59tJl5HRHnA/tjbbNOn?= =?Windows-1252?Q?AEmizbGKsvYV9atO2lvSjBApVmXuETU0TtwlguG+yQHpJRPEjVhUu7Ad?= =?Windows-1252?Q?2lmLHY1tHqZffEfNaDa11T+709enHNHtSgcDpg1qROFXiyffzY6qixfB?= =?Windows-1252?Q?Tal+9ZQaGCRd7b6tvXTPOv9emNgZeHZfCayg2QrKK9RZujYudtuwZAbO?= =?Windows-1252?Q?O9t92tQtUZmwfXCMhrhBko7WaIWVcmE2ft7rbq7+/FRyzvQ3vLZRxl7H?= =?Windows-1252?Q?Pp2zrTmlz64nOES7twf1nWGzSLcm2f7l0g0XEz7J2OhrDeORpd2IPUlT?= =?Windows-1252?Q?zp1RNOfTtZeB/2a05oS29AA9JzqSKv+8+RvH2ScgwJ9aEaHw+ejAy8Mf?= =?Windows-1252?Q?HfS3lqyD1KBeIGlD2Z0X5qLjRMOm3ma/fT2UWnPmrh2ppkCBulGzztDR?= =?Windows-1252?Q?0FSIyRHn0yJgBumDBmhEjIh6HkIJz5pXbDqkSoUqplU33LDOmj825iQ1?= =?Windows-1252?Q?QaU+zpiZ7mYidUEbwHf7GUb2FsQgOUAwX7cK6PuQNOwN5D9zdSXSFu8S?= =?Windows-1252?Q?QlbaGiuF9WF2csvm7SQ7AgATlNK1ZE+hdVuALmAx5yz+mE6oRvObq0Gp?= =?Windows-1252?Q?MbOHYAleG1ytu50//iN6MDb78s5blhWPQDEq69YWltE3vOBTRjEbMBuA?= =?Windows-1252?Q?/fHBvtS5EVeZeUEBJA23m4S3YAochWpAo083jyHLNmPwf3gck3RWrzKe?= =?Windows-1252?Q?4XnfTVtFPtaV0plIIXzR/PbizCnJYTqFq9i6E7NdeoAmmaf6g971nAbL?= =?Windows-1252?Q?pI5AK?= X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1; BY2PR0301MB2117; 6:fS6c9KQLg+zH6ce/2bSqyH+HkO9YdRMK89HH?= =?Windows-1252?Q?VRcbzdiJfcrifrpSGS965B/MVwpdBKn4S/4c64Uiupe2OYgXbuSZ62WH?= =?Windows-1252?Q?dGQtwdghUcQdyHMwlVijjGMJVp7xu2CLYQPrGziw/QxCyLU3gMgWyThL?= =?Windows-1252?Q?+bgyVFkvyrv3Y08u9dq3BwrljG1tQezq4JxNFiJV4P80GwjdZaQl6cG+?= =?Windows-1252?Q?2tSH72ZVpKnZmgmZ4fSwrnjC5AS3b7W9K/3wVzYyABQnni7uuLn8veYc?= =?Windows-1252?Q?OPbo9ifAgHCjPFxnv6as8KWqDOlfj1Cg6s2ty3civBIHKWCvm+lYxp6q?= =?Windows-1252?Q?eW/PD8U52652NibD9xZocNySMMvSWrm41ei9dxVBdiYh2zGwCaLkVPXd?= =?Windows-1252?Q?m3CMhHmeo+S3chsLF0F/OfI6OIb7EKajNuFJmY2cz2ywdTgp1+e3dJWp?= =?Windows-1252?Q?oawXRk+8LvBrrKsz75TliKcHJeizyEJsPDRrY27/7AFRsbuxSus2a8rJ?= =?Windows-1252?Q?VvWKnE047aXHsB/PWWz/3lQSoDQpADYionZBq4b9f4zzc9UB3KnI+9Bu?= =?Windows-1252?Q?p7w/yQyg+b769r4AAg7x7WvguLsNwcy+TZmguZFoSJbGJvlJq27+8jTR?= =?Windows-1252?Q?mMO5K9EZcEo1J2gZKVvBCUwEXsDLKUwL1NuN1Nf03vzvKMXExDCO6kfm?= =?Windows-1252?Q?H3H+fXvSeCrrh6k8OVlqrK9oHcLiOkC/jQm75mzA/iTI5OvGbYbjJeME?= =?Windows-1252?Q?I4MohQf8xsPsZAXJb3oeJpQJQWkSj/sTf7I6zIB+vywn9/KPkdE6bDv9?= =?Windows-1252?Q?iR71U406HIcRUx8rikrg+2OQU2gSNAtGXqIy1gdV5qZnz6cNzSbYPv3r?= =?Windows-1252?Q?RBHa17IT/5xvUgsNVoQTRyNRIHX+YGd4fdl3SSilB0YvnJY2OCuVkYY7?= =?Windows-1252?Q?KaWJ7XhYS9/xf9gDMtY7bBi1SV2JEkTVSbpKX1xAo6yXWICR/riG6M32?= =?Windows-1252?Q?XYY0WDgOPd0e4KREza8rC3Im2EXy17KpJZhn7SwYBKHbTFsIaD/6ruza?= =?Windows-1252?Q?0xt7SmD18ElFRYc=3D?= X-Microsoft-Exchange-Diagnostics: 1; BY2PR0301MB2117; 5:ofADWPpBaXMZAbfraaFL9t6QbC7+ItsqIJiVaE+34ZFgRWpv3iVHE40ntFy1tWrq16hIorvGhW1XWVRjnzhYGVv7kTq19POk+XzBdsPS+b2Bfi8aUdrrcQuCA3FmsmUdQUQlRhVn83IXBzLsfvFE4i1yeHzICMQVNdBMGQEwo26nB6G5CqnCiTbKSrX+0nARJgp8HV3UDG72R/9jIkKIW2pSi/IVL8/7nVguoT648Qvvi159rqGDVM0/Q435q9fGSh3hfnmVx4DNfSTvDSTeIfWFbMW0AEPQyvSKbJMSlxMSMb55NArgsdqMA2qjMe4FFYeLCoCoGRUE8852ivkaeN96cnhXX3tS5VZtNsyN6KOTE06LL3jHovOnWrF4MCBlBsuSUtEFNC6tS5ey4JAdgatCPcORo9h6QmJqimiEVfaqDmJ4ieQlo3dVBU9ex+ZKTienD7d+pl4gwySaLrMa/HDHRZXVpga/X1YSqBOI9IkOWqRp0aNVfKmD8KlzfDh84NAcP8FO9BLHHYjhC0B2RQ==; 24:oAqN8axZUT8rZ3UAxA11ZY4Iye1ty0sKzVVzn3fy7LioFAGDRWUj7KsXTWN8dSaZU9vzdfB6Xxa7ISxB9DaZOt3be9fNVE3ZM9B5WtfR2Q8= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BY2PR0301MB2117; 7:v/KfnBfEEDKMsJuNUCOytFv60FyJNNFeGi8yY4O9sdTjAMBPnZInH2tOVpjbA7BDVNvhR/1BNItsCtswepFVcY8VmrCb5O+XoitcJ7SvaKg265K0qEralL1afNKnQv4wwievbg6DqJczpM90PyiH7KxIYNijBQ54XmFz7bi5ocphgt4MusL1VRqaxWd0x+ys1JhjRsSGyXvsgvFbZ3eN2C9RLccfvxf5DkGFZxyJ2A3ovNlmKZqaB4e/+jZFI7hhFiSSa+03OHe1LTeU2xyj9l6GhwqiOJKqbPBejCYiLwvh1XQsYGk5D0uSCyzwcO13eWCki+2p0NCYGPYXh9VSrC0QG+BAViRGhvX1xTarVQcEm0/19GOSgp7mgrxLFTsUTYiLxq+D+P3c0oDGJ4KkH1YKRcNpEafv4OczRlDkqlIQBIDFTKdclrFH4cXzS8S8Ji6qNJR3hAmFFLfCaRjLuWX4BcPhTFnOtNFbyy5PWsG8DsHw2VBWkxaHNrZCVyMD3SXk36KwnhjG9mJ5xUe0H9CaTfmuvPb4eDdD7jWCFiLlwl1Mte0kqPAxFyIQvBeTaz6MlIN8esSWKmn7E75q5/o2IKbzT5SbJqEp79C8aadYsxdqiebIUCpPxC9RNUuNPxpg+TCMzYCwL/WTVw4a8AY9jEHUw48evHcSU4tDX4CknP6X6YCqTU/FgaHOJrK3ETfUq93r8PbA3A31YDgdkZlXwPtzLDLWWhKrFLOI4Ont09qoO/T1UZGgdp6mHakR5mnmq0VzIzYFavSe1jNNfoIwsouvR8JXzFvOXFXzD3g= X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Jul 2017 10:55:33.0469 (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: BY2PR0301MB2117 Subject: Re: [dpdk-dev] [PATCH v4 05/12] 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: Tue, 18 Jul 2017 10:55:36 -0000 On 7/18/2017 11:29 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. If no device bound then return with RTE_IOVA_DC mapping mode, > else goto 1). > 1. Look for device attached to vfio kdrv and has .drv_flag set > to RTE_PCI_DRV_IOVA_AS_VA. > 2. Look for any device attached to UIO class of driver. > 3. Check for vfio-noiommu mode enabled. > > If 2) & 3) is false and 1) is true then select > mapping scheme as RTE_IOVA_VA. Otherwise use default > mapping scheme (RTE_IOVA_PA). > > Signed-off-by: Santosh Shukla > Signed-off-by: Jerin Jacob > --- > v3 --> v4 : > - Reworded WARNING message (suggested by Maxime) > - Added pci_device_is_bound func to check for no device case > (suggested by Hemant). > - Added ifdef vfio_present. > > 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 | 95 +++++++++++++++++++++++++ > 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, 119 insertions(+) > > diff --git a/lib/librte_eal/linuxapp/eal/eal_pci.c b/lib/librte_eal/linuxapp/eal/eal_pci.c > index 7d9e1a99b..ecd946250 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,100 @@ rte_pci_scan(void) > return -1; > } > > +/* > + * Is pci device bound to any kdrv > + */ > +static inline int > +pci_device_is_bound(void) > +{ > + struct rte_pci_device *dev = NULL; > + int ret = 0; > + > + FOREACH_DEVICE_ON_PCIBUS(dev) { > + if (dev->kdrv == RTE_KDRV_UNKNOWN || > + dev->kdrv == RTE_KDRV_NONE) { > + continue; > + } else { > + ret = 1; > + break; > + } > + } > + return ret; > +} > + > +/* > + * 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_IOVA_AS_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_bound; > + bool is_vfio_noiommu_enabled = true; > + bool has_iova_va; > + bool is_bound_uio; > + > + is_bound = pci_device_is_bound(); > + if (!is_bound) > + return RTE_IOVA_DC; > + > + has_iova_va = pci_device_has_iova_va(); > + is_bound_uio = pci_device_bound_uio(); > +#ifdef VFIO_PRESENT > + is_vfio_noiommu_enabled = vfio_noiommu_is_enabled() == 1 ? 1 : 0; > +#endif > + > + if (has_iova_va && !is_bound_uio && !is_vfio_noiommu_enabled) > + return RTE_IOVA_VA; > + > + if (has_iova_va) { > + RTE_LOG(WARNING, EAL, "Some devices want iova as va but pa will be used because.. "); > + if (is_vfio_noiommu_enabled) > + RTE_LOG(WARNING, EAL, "vfio-noiommu mode configured\n"); > + if (is_bound_uio) > + RTE_LOG(WARNING, EAL, "few device bound 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 a69bbb599..5dd40f948 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; > > Acked-by: Hemant Agrawal