From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM01-SN1-obe.outbound.protection.outlook.com (mail-sn1nam01on0083.outbound.protection.outlook.com [104.47.32.83]) by dpdk.org (Postfix) with ESMTP id B44DE7CB0 for ; Fri, 14 Jul 2017 09:56:10 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=IqMWhVRHCAtxB0ZAzQclKdVAIbnoegMBdXvFxGM29X4=; b=OOlqaVdFs65xHnPEzjA5an3zV6n9Z+WuANBCspmwsZthRy9z4f8IFN3mN1qtBjh+OMOqk7o5jBLfP2Drrs8/4SSIp0sM4t6lplqaSb3mvE7JjYxmjHwcyhOf/oQ9GitgcaXEvVwqqcYeXWOqh7QkyukGCl1D+kz47hQJwBs5Lrc= Authentication-Results: 6wind.com; dkim=none (message not signed) header.d=none;6wind.com; dmarc=none action=none header.from=caviumnetworks.com; Received: from [192.168.1.100] (223.180.9.21) by DM5PR07MB3098.namprd07.prod.outlook.com (10.172.85.8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1261.13; Fri, 14 Jul 2017 07:56:04 +0000 To: Hemant Agrawal , thomas@monjalon.net, dev@dpdk.org References: <20170710114235.18970-1-santosh.shukla@caviumnetworks.com> <20170711061631.5018-1-santosh.shukla@caviumnetworks.com> <20170711061631.5018-5-santosh.shukla@caviumnetworks.com> Cc: bruce.richardson@intel.com, jerin.jacob@caviumnetworks.com, shreyansh.jain@nxp.com, gaetan.rivet@6wind.com, sergio.gonzalez.monroy@intel.com, anatoly.burakov@intel.com, stephen@networkplumber.org, maxime.coquelin@redhat.com, olivier.matz@6wind.com From: santosh Message-ID: <29242bd6-993d-44a3-f71f-64228004edf1@caviumnetworks.com> Date: Fri, 14 Jul 2017 13:25:51 +0530 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.5.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Originating-IP: [223.180.9.21] X-ClientProxiedBy: SG2PR04CA0130.apcprd04.prod.outlook.com (10.170.139.14) To DM5PR07MB3098.namprd07.prod.outlook.com (10.172.85.8) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 157e2cf6-8a73-4557-5aaa-08d4ca8dc9b0 X-Microsoft-Antispam: UriScan:; BCL:0; PCL:0; RULEID:(300000500095)(300135000095)(300000501095)(300135300095)(22001)(300000502095)(300135100095)(300000503095)(300135400095)(201703131423075)(201703031133081)(300000504095)(300135200095)(300000505095)(300135600095)(300000506095)(300135500095); SRVR:DM5PR07MB3098; X-Microsoft-Exchange-Diagnostics: 1; DM5PR07MB3098; 3:kR5EO4lHN0vXlsVyIAHpiOHcnBB5E76/qGa/zmpYuLCoawUBhISdomJPCNdy0T6lWfztqUjna7ns3UB90Nmgm/FZ82Juei4ATv3bTnsxp3cUuhKcHbMGwZTupLO6ONiACMYxzSJbWkmJ5gB8M3aGh+vz/9HqxIdkd6BRWgQSrHKscqoYkEpEwIm5sNyKgYse1KgYfamyAFybN2JPqH3xOQaXDHDynsNiqsHNDAZhg9D1dVc5Fb9kmi6k1ZtULsejPbRFQEwRu4O/JYn1Y8AGNhWv7yWsO3VUibzbOCOt3NILTHei6WmkPF6RukZlx5/j336XaSBiv0nam6YG7fC2mEWOLLVr9Ky2Zm/zQOB07UM1A/SQ8hWuG/SlZWaj8lUwhTFXyQ4Znxq6CjPCdnOwS/UdWHLcTK7V82fcAGp7p7aFbSAh5s5qPFf8xl3Rw8ica3jO9yp1UAWvlv0HrGLIIkgPPbySPANr6YiH2l1R3OzbfIOgldWOK89CKeGEVKiPqljOQx8lPLDrEbGjtb4qweTaynkU59esYYwsgCmAGI4vgq23hX1X2ALDKdz1uOWluClnEWtIVpRGHGtRrJa2Off5oDBuPrFBETHIb+883FDjNKNQd6nzNtLp1ovktjMXvECQ+BXS2h7ZrOlqwOUDoyDsY4/jFiUBiUvzbOODsZPRnhc9UkSKjGXPPLew5+P9zk7TjlhNlDsOW3N9HG7r69O/m+pua4IWr6C1BSS92n8= X-MS-TrafficTypeDiagnostic: DM5PR07MB3098: X-Microsoft-Exchange-Diagnostics: 1; DM5PR07MB3098; 25:Gjls7y1lDf2UAB1i96ww0sXfPaxiw59IrxuofFB6CAJ904yxk0ypwgjBmC+OZ02OylvzC/MCS4HW74zu8uF6HijBkjhPWdVCrAD3oWMDiyMyjYONOXwUXPEvv60Z1a/5r0q0nCG4k3KgLr7LOmZxQS5tVvEd5IsqIXAtw6eqvGfBB2aJxUp52oSVciLMMsR3Vp7JWxa7GUorSJFqmPDVY6rkH+KVXpwE/1GzbNmgpZZsYKm/D6Rdb+CATRtCKSsgfxf7kiWANp0vY3CpkV2xE89UA+82nERh2d7j1/dxAooDqi17q6BwD7Py5Ki0s5zOXoIUuZ14DXvu8zN+YUlYa9X+xoBhUtTAGKON51Z/McRP6DWNoXiGk1fD+JVw8iQogbceWDKYxyreyF/CN5dviZSekSZjgkIgeNF7iTU1HJqMlFq30kuORkc1/Fua++JsEDzY6TN+Sbuj1+onDsFiwCh/LqRnWuLwmGsE17eCbQ4yYjS27VniHvyravuGhNn+rzGPdIxpTe1Gm52DM80ovEAICyeeflk1UFtypS7F3NHbILjFaGhteoZ7u/NTEFlRBNhIVAprRXbMIo5Ls5wfTX5yGQnJURMCy30aGNR4XCs7sBrr8fT2nMs2gMi2Yzx7mDaczHZW2jmUhvDk5UZ2+iH6WXwBmCwTrpCNppoIt+sI90OmEa+TEd5HNuUHa9iRqwhMJT6F+0s4aUsLYUyGIsYv80Hz9nwkM3TVv3qFy7YDE5ZA1LKImzQyXliSrtzk7cZT52I4JxcJTtZDfvoSXcEQTfZyAXFx3ErVAGCrtNjhdW5Ly7o7baHoFjE4U1QnLNekMR6EHsWHUlrGdl8rundR6Rdv7FGyoJykxksug7PAz/poHZB6eLW0x1LcM0hZ/TSaUK+1TDsDVHc/eyoYiGCWVEd/wYXJ86mafwJFukE= X-Microsoft-Exchange-Diagnostics: 1; DM5PR07MB3098; 31:CUYroThsYAmBo8DxhRC79awPNU1YHGklhYhRz5EEH7NAOI+G8eRjMSv9X0yeDJhMxvb+fen0jieg1lk81JVIi9HkHO4WGCv+9VVLxZ5L5EMMa+Ojwc5j7ABAap4lufpezhBs625Er2SVu8lzK2P/S51JV+Jy5Pr4mX3D1wIHRZcx9aY1+0YVp3jd82dDQ9wCf2sb6rfBxwzW8QObkKUVIATu/eXYZcy/LMfgSS313W+y07zTsynKh/VROSoPt2qvbXUGxKbaaGhJaONNHkCRDQSA2pTJ9Qj8990dxl2+A1lMO9HKjvrE3fdz89px9iee7XCXuYd/VX+IGOhqRAXYFle6yE//doRVMOIaqPHfsEN9/OlfrfB70YKzjfqKV53eky9p1KHfJQObifN5321N/VzbBEdBO/D+C5KZsRrnpov41zY/s+Hfy1esJs3O2osc2FLF/yZ47vPxvWyu343Ei96K3VNFSIC6U6qkVLdpLcqXbysykk9H0jiwnwTlXDoaNLvDnGklmo7kl5ToLOwbHVVyp0t9O0g+JalweJ+BQLOW3oDZS8//30/a1TZa+lQwCiqDQF1pZ9BcAQWNk5AkWQ0iMPMez2ftPYp5VppcNzmJfSA+etA4EX/vG9tSTlYJ9LrSswtuKjl6sM7GZ35Ynyr3MY2322MZDrnlkJXrR64= X-Microsoft-Exchange-Diagnostics: 1; DM5PR07MB3098; 20:odfoh+w7sWfbe7FWM5zI4W3JvSs1vxzeUscj/PwiwA/6/xj62svOmVvllXOmJl2L3BmJRl2Kb7BXeDau6Y3cqHMPEsDhbbUz3JpQklAFoeCb8QMAO+aTODz3eOv5LRloSBcKhmbvKi1uuSmsqedgeEnhsrAqGZ7rxDSHkqd5SLB6mnvNvbFObGdP0cvmDM8q32wsTB2Bg7MTqnPqTEudXmuV0+jovxMDigVlqjaQOlkQdh/c2aCMNzAQ44VHX1fToh4p4LI0LBYzpVwuGJ7zNlBnlA3od1rv6Qs3NUGFSNpqQRqCJVYFvTb38mjphdn2Eptq/ZxRS8H/NIBdiYZhSpdUNMBeaJa/L6CQvH6d5qMQzVuNFU79amgNM8GA/6gnYy2L6/Uf9Ebt588njv+dUUhbPmxxUifGgr1z91tr+kdiEnGn+pnX2N/brzmx378KZl+zSQWcEMZKh0Hpy8I223VkZU4GBUMQjkAjmdDX6ejp6+R4+JmyX6sA5yEKcEHhyXjcgmYMQmL+/aV6cyCeGLM1eQx7WZt+tTN65Y1mQX0qjqZhRv8I2lcdFVwmIV55jeqGWe5EvyvofjH18BoUlXlm/MlvVP6uF7h1VxSJGao= 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)(6040450)(601004)(2401047)(5005006)(8121501046)(2017060910075)(100000703101)(100105400095)(93006095)(10201501046)(3002001)(6041248)(20161123555025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123564025)(20161123562025)(20161123560025)(20161123558100)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:DM5PR07MB3098; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:DM5PR07MB3098; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1; DM5PR07MB3098; 4:Zv0HoGPapyqcQrMPSJk5us/ZkTOsb6JXOJLbwh?= =?Windows-1252?Q?07xOtMY8ow4n/v+oMTTpPpv4uIm+ztlW+gPfunaQ4CzqjYOdkHi/UhUp?= =?Windows-1252?Q?Pn1u6yXfJHnghmYnJzUtdY9fdDc/HrQgUbhexGG2na8WoT98wX/W9R9C?= =?Windows-1252?Q?7L2f2IDc6OkfbfENy7BhEISD6lMn2s3T+h4b7NU8ru7YzlIkaKr5Vjgc?= =?Windows-1252?Q?m7LYy3Iz8Ee1QFacUaMDiYaqO8b2LdqIH/GiswDCsOPqXL2WzSWuMz9u?= =?Windows-1252?Q?gO0auW+RnYl0JAEaRk3mn9Ug1mJw1xtt6JOYJY/afgjjrHfFIdgt5yG7?= =?Windows-1252?Q?BICZRxq2XGg2/5d8d0fZxruPzOYqSwNdnfW/InqX5Mw6EMzSwBg4ZeFQ?= =?Windows-1252?Q?/ZnOvndXN0FbLDYLct0y0T8S85M3aACcL0g7yxK7wYjU1J+uC1Z4B4DU?= =?Windows-1252?Q?W3noN7Th5h41LuBtkuuvSGADctwh+FTZzog2LoU74QGVvg4C/nGEkDal?= =?Windows-1252?Q?PGbQBK8y1PSINPhAcFfSW4gMyJ11woVnblZN0ilnmpYYsSnH0ApSxsOC?= =?Windows-1252?Q?tboKFPNdv3o4bheQadBroRNa4Y7EmYpF8dOcAYV9tje8cspLiz+Q2+N8?= =?Windows-1252?Q?XUXnrsObFetULOlsXnO2Eo2p5r103YMeML6pEX2qRxvsBJ6hSRb8mIeh?= =?Windows-1252?Q?qsIBrpk9SUsUSLfrBPmz6j7dAIz3Xi9Gleg78WeD22v2K8W4NOgYAQWA?= =?Windows-1252?Q?INt+E4Y/L4jqeno4GEbuu89IyLFV9WU12rA4jx6nBbUORnXtJ3d7xnkt?= =?Windows-1252?Q?soOQwtoTKAZZ+jnmtNlilkY5KKgy63DAoH1fjiiQDIcZVpqniim7+WBH?= =?Windows-1252?Q?aWwTcljwvpIGgEVxUCUjz/MyxJVfTBuBXbGCnSspRbk/3MPon5oS/BNd?= =?Windows-1252?Q?lbxIovRAzQ2pcww0TySm9QacGq/gJVLJMtPbEueND/g47zOZ35cADvqB?= =?Windows-1252?Q?x+C84mrGlmI3GFYVwnKJmbPwfQpBgaVm9f2cOIbcBtLUMHsvCSwC4nse?= =?Windows-1252?Q?pV5iJfQk2r/ka9BigtnFVX+FBl+huloaiQ9jjsGuyo2qJJWjnu7bK0pR?= =?Windows-1252?Q?1M1FNlzD20wKH5tNBLEVAbpu6yFHXoGwMJhPc8yMgQGKIZIK9xRHw/sy?= =?Windows-1252?Q?5l9bOLao7xVpns1Bryh6sDVx4sQaQG2Ya+2Lm/UlAbQsKdeSBXT4L/+9?= =?Windows-1252?Q?fSKU1NXYSQOhFqAaMmBUtdgUJ4rw57FIlhoHqIx35isOtLRV1zcLaTA1?= =?Windows-1252?Q?6+p8mFSI6bzFgPgu45gPB/iM4P66R8jxvFYJc4SBpHFPfkN/z8j2Jx/c?= =?Windows-1252?Q?gGgJ6m5Y/K?= X-Forefront-PRVS: 0368E78B5B X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(7370300001)(6009001)(6049001)(39860400002)(39840400002)(39450400003)(39850400002)(39400400002)(39410400002)(377454003)(24454002)(33646002)(6306002)(5890100001)(8676002)(7416002)(7736002)(966005)(81166006)(83506001)(72206003)(23746002)(305945005)(93886004)(47776003)(8656002)(66066001)(86152003)(2906002)(36756003)(5660300001)(31696002)(64126003)(7350300001)(53546010)(189998001)(478600001)(50466002)(65826007)(50986999)(54356999)(4326008)(42186005)(76176999)(31686004)(110136004)(38730400002)(53936002)(6666003)(42882006)(4001350100001)(6246003)(2950100002)(229853002)(25786009)(77096006)(6486002)(3846002)(117156002)(6116002)(230700001); DIR:OUT; SFP:1101; SCL:1; SRVR:DM5PR07MB3098; H:[192.168.1.100]; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1; DM5PR07MB3098; 23:cUhyzpdoEBn4V01hloW7CgICaSbhtFK37NhS3?= =?Windows-1252?Q?i05aB02V/oivjETONRxFiKV31iyHfgRelTumpFkQOerq7fy3RA2dLcLz?= =?Windows-1252?Q?33rGd5Vq87/wm4cJLhdOycwtxeGga7t19BgEjZzeONDjm5FOuWPW84/W?= =?Windows-1252?Q?73QKMsnzwaOy45Wkmb4DoVapCpzSmAwic60s2DZ/D2+wbO4dL5xRz7Cn?= =?Windows-1252?Q?wUx/YqPX5fueibnRkYjDd+BJHsIN7HC9S6McA43IJap3FeI6KA+tD2S4?= =?Windows-1252?Q?w4wFaUXPUputQN+WQ8a/XMk31FLhS4JqtqekAqdmUPgbIFLVuEbhXbZN?= =?Windows-1252?Q?gMUhqUj9/RMMlub9R/QtchC/f/M0bEozUUxnZfhRzAK3CrwjgiYa8EsJ?= =?Windows-1252?Q?LMrPDhxcT5226VIZTIzxUHSGLLkOIC5bcQPqrXZePU+fuoMqNlmrljUq?= =?Windows-1252?Q?ki+GmSxdXaiut2fuomm3IzN+e5qrdybTD0td+BFZ1UkqWM3f/ROEzLx8?= =?Windows-1252?Q?dapSZqQT+fmxc9YltJGA/qNza3ZFVhPvfGZgAJMJo6wntHzAMrConKv/?= =?Windows-1252?Q?coVkPDoKGaWIZJEz722UvsiVheqvBm2OkUnaD6mxnYMJzG3fws1w3I2K?= =?Windows-1252?Q?2CttIjvzpXlx+iMlOztauZdzLX5hm24tSUDRxtXLbGyrPt4LcKU0WKhh?= =?Windows-1252?Q?+U29tgbhZu9lrGjeODk6tz5NMJLdEXW+poV/1zciquGkk1ECULCHHjET?= =?Windows-1252?Q?mD7XYvN2R4vz/+PM2JHPTmveJA+GEhKv7sIBeQ+VyA/VUMv7fHjZeTiJ?= =?Windows-1252?Q?qJaamjxlRzXANKq8t3eOEB6Qjz/DSIJxwQdIj7gxxkdP5eNpKFNK6N87?= =?Windows-1252?Q?KvYwMJ7Obn+e9FJVd6Fo+qQo/nbzvEqsOWXhYNyePd5rTi1tgwo7wuoh?= =?Windows-1252?Q?9+35joAsZwjcu0xVkUKz4FXwzGmwXcRuDMuxkZqz+OIN3NM60iVAfAim?= =?Windows-1252?Q?aOEXkfF+mx8ID1PAs/k8yIuraV96i+qUIshiaqb4hWOj6ExzBdGruoD0?= =?Windows-1252?Q?7fhNUsotTZTZ/SnCUtVsP7m9D72937SEU85ZUUPlv3ppld/TFs5JzW9B?= =?Windows-1252?Q?3mzS5AOK0L7Tvm5reImxhnK1GFVTHK1CKKAdF72+syTYXcYXzW0TqWZn?= =?Windows-1252?Q?TvdmXxipyxfqCTeagYBwmVmKt8hWq7oelsSol0PL5TyLWvXAtSwdodyl?= =?Windows-1252?Q?KjJz3poDKlKtxAlGJAluqvHy9I2tjxRcr6d2NVPxFYROXU/itY95odte?= =?Windows-1252?Q?/1IDUE0LlHLxDDZXXG/l1mlQtztLukS0Y84cqjZFMJNtB9llC/Fab+wB?= =?Windows-1252?Q?MvcNizCx4vIQXyBWaPdryV5EfWbRCnWawRYdZrqvXw6NwpyRAusn3mMz?= =?Windows-1252?Q?I9tTs0j4JN6rMKYNJbeBMQYH6Fa/oXAHApqDYgF64J3DD4tsR6gX25ti?= =?Windows-1252?Q?d8V5SDpcFl6B2KS6wrsTz4zKTHodFrEWCqaHw40QJRwbfnitS4S0XjI9?= =?Windows-1252?Q?cVG7zJNbYykOq2SULqct1LXN7hb1Kwa9ReH7IUCGMIMl6dUeZ6O0Bxsa?= =?Windows-1252?Q?uSd6iICOol1QLD39jnt6GI=3D?= X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1; DM5PR07MB3098; 6:7ASW+qBs8zqV7n7FSY4K6yP5T9i24JQEynWUzA?= =?Windows-1252?Q?fhMc2fRSF65gyWqO3mxrX7cHE8y7MXB3fo3f858WxifQa5p349iZ4Nbv?= =?Windows-1252?Q?KE4w5OiP/PGNPESVjXvwP11LNNK7aQ6QTBvTZAySYhOaxNLGtiYjnPiE?= =?Windows-1252?Q?dQYcdINUid317q99V930RwgdadBaiUOOB2AcIBzJSUiroqJWa3BL42a3?= =?Windows-1252?Q?c6fIRFlPq39WMH+Na0tS+r/gaKu2U5+9tbN4rwnxwJT/UmYofLPjXfI7?= =?Windows-1252?Q?NrzcGmJVOvWBndvudI0gYVfCmmUqDLgZtKsTuvhfjIiTIYL30CE0XaXC?= =?Windows-1252?Q?Nc3w6H2Wite/0kDsDz0j1MZfI+yw2PnAbUiAwhAasNXPESFJuxqvMn41?= =?Windows-1252?Q?rATl0UmVtArAnEPmM2uIAHMVtUdycuBhVhpS2u+L2cypgui2N27JYjy7?= =?Windows-1252?Q?lodQ+kZfBrNJObnGTWz314LuzcIWifi/iuFPIsYouw96DRmAE4+RJIu8?= =?Windows-1252?Q?ZaDaKtq66z95A3OVvcY8pOS7JbVKOJ/gRIS0GZDWddFWQSgcAc9X9L8Y?= =?Windows-1252?Q?kET3f9VI2tKQ3JxmOBjNOc1oFC/b/DCnk3rHhG+8h1k9GGUeiMnJCkEv?= =?Windows-1252?Q?y9A15YDJEXHCdurfkiach5FLgxZyzfpqBQWeGHl3ICsgDRgBV1iO/KBn?= =?Windows-1252?Q?Q1bUjHw8J5oqzhH6G40/SasNPK6pLkDl7DJOxWkmZj/Zt6XhTsrKehbF?= =?Windows-1252?Q?YExM16m5cfQS57GSeNxoC9rKNUzuiPiVh2VHnJCMQqZZlh13em7DHPMo?= =?Windows-1252?Q?asjer2zgv0YehwvMlMazWJPwuAydI9W+AmoEjKxKZdknsSDi7nZpClav?= =?Windows-1252?Q?At9aWcsvnA2rZZtcm4oaZKnXFG8wg1UPovjndSagKTJBT48INe7a6KAo?= =?Windows-1252?Q?/e7yynFidX/FXe0GsVbB++llm9exEPn6+geKrwIGz3hI9gigPcqGcp7t?= =?Windows-1252?Q?EHYid1HDDxNQL0hvx1FN/iwzsFu+PvSm86Jrh1lZy8sPkueBNpR7Cd0h?= =?Windows-1252?Q?EBte5+hl/aZSk=3D?= X-Microsoft-Exchange-Diagnostics: 1; DM5PR07MB3098; 5:OiFBIaXo+JXe78QRVojwwQGC4PjQGtEAdzApzPGLvT5hd8N0efvoGTQiY3onHTvH9YwGanlhQAEkJDYXkU+P9y+0Omyysow96PSJgXciMuYBpLB+e0y3P6G33eI25Yxar+Zg/sjPshM5D8be9s1qhBHPkzt/ItKNJxg+frFdnPaP5jgJFDM/H+lMbDBFqLqCwDv9lBKtFd/0qTvzLepkquX0o1EiDMbfSUBa+F1bnhl5Cl67hhdDhsFnN+11CL2fxd8wEpWrioVJMniGoAvh3sQ7Y7ecXIqAYbRnEnuyjlbXrEYukgIi6xGEf6ouoPJRvO5PkSsABEzCsS+mHwpbMMsXZr2WLtQBEt0N9mxDYSNhBIf03//YEvfRpmKMrUPGHHZd0yhliFamUJXTj70+7kjtuirzrmIufA/FWo/A5XfkNeyu75rJg0Gzuw3CTI29HesnGsulUu7c/9XtY/aOyBjzqrTOsyJ64hvPHWn7EvMEbCD0guJqpsNRHrQpdcer; 24:dwyEiHj0diykF/2zbFAJG8dkpclMvmIvCm9nVa+p/eKmcYuhBMPdIDeLAJzbekT7pUN7tV+jE8i+VieAeAjfmJpxQ75EYdEzwNvacJdAf50= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; DM5PR07MB3098; 7:i7lAU0kdKO2G8YFrcLeerDa4sgPJ5HK2AsAMpAKobm93DCp/z8bZOfSV2GQ1wSQIPLHciS8pUlpuPaQI44hperSk2yIrETw8t8zm736cm6bdzybev+6DySC0XlPGHwrZWQd7ViJc2ZCSrCvijZnE/YknXjG4pD6vRA5n4auQ4PV7GkJp9H2MiNBwME7I6vd9g/nXh8Gi8ur6oOlX+SgmljrdiRh8XXgLFjflyAo9F3XhCMagZdb+lxbpYr7jLxwIBYhZFCGIRpVsIEu4LFg1D3xbOWUs763NohvdPsdB3NQnK+9RlzT8VzKFXsXiEI3i+wGenoms2umgWHeytKT9p2lTnAvcdJbnP5piMc9xYFfcevFfROxU0SMQn4WfikP2KnpYUxxbt9QAeosU1YzsYmicryi+wN+JsFO3qdRViBNoU3O7Cqg6zPXq1KrnsFnN3g/iYkz9xDgKDGCTNnO1oxoCuGKJGpY4H256NeUVt1awC0g3cTifTYFlhSMATxQ4h4Zs/49KvHZ1n64Ok4QnZEwiclowTmNsdcYnkAnaFGRUEoFPGvedY5cH4gGSLxwYfAAPF87Usp6rq+zxeE0uejghBbjgw6T90vGBkVRZUIx7wJFMn0ZXz954HtyMZj3FfyfwYvQF7AJM23YY3dvd+o+PF18ZFg4Dzk8gyuVZxXNkepwH1xu9cvmXEgZY/I6mb1vAieuPdw26d34u1ZV6oUHCR8Lw74+hH2TlahVAdJqyTDb59pOuc0M4PWfcs+NXDlVXRuKvNINbpyF0XJaUH0p+36S0Hz3Xdr3UCJgZNp4= X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jul 2017 07:56:04.8121 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR07MB3098 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 07:56:11 -0000 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? 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? >> + 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; >> >> > >