From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM01-SN1-obe.outbound.protection.outlook.com (mail-sn1nam01on0088.outbound.protection.outlook.com [104.47.32.88]) by dpdk.org (Postfix) with ESMTP id D06902C8 for ; Tue, 4 Jul 2017 13:21:11 +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=1B8LPRLWgv1gp3XGSuZp9TV7Yrnv1W8xe6N0yXEKcJI=; b=F+0mLYZjh7qvl+Ktarja/M+fR9Jufod6S7Zn8rHzcyl85ikOYhjxEKO5Ca931yfHupTkBpEebaDn/U5opbl6JZs6hw4XsllC+ZAWLw5umBjufyXgf8vmvhC9oCnslIprM21IDpMjhuDKZtfw1YNVCfXz7jqf1azX0pPf3T7m05Q= Authentication-Results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=caviumnetworks.com; Received: from [192.168.1.101] (106.209.135.7) by CY4PR07MB3093.namprd07.prod.outlook.com (10.172.115.7) 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 11:21:06 +0000 To: Thomas Monjalon References: <20170608110513.22548-1-santosh.shukla@caviumnetworks.com> <1695601.K0fVzJ8uRQ@xps> Cc: dev@dpdk.org, bruce.richardson@intel.com, jerin.jacob@caviumnetworks.com, hemant.agrawal@nxp.com, shreyansh.jain@nxp.com, gaetan.rivet@6wind.com, jblunck@infradead.org, olivier.matz@6wind.com, jianbo.liu@linaro.org, anatoly.burakov@intel.com, sergio.gonzalez.monroy@intel.com From: santosh Message-ID: <1dd075af-5695-a8f7-3e5e-87b9fa6b2d65@caviumnetworks.com> Date: Tue, 4 Jul 2017 16:50:56 +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: <1695601.K0fVzJ8uRQ@xps> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit X-Originating-IP: [106.209.135.7] X-ClientProxiedBy: MA1PR01CA0081.INDPRD01.PROD.OUTLOOK.COM (10.174.56.21) To CY4PR07MB3093.namprd07.prod.outlook.com (10.172.115.7) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 2a23fef3-2ebb-4480-0228-08d4c2cec5d1 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:CY4PR07MB3093; X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3093; 3:yvtOsuhzPZV4rPVC55iKuL5bcVnvY0sz5Hlql60PauYm99dQCAHy4FPAMTUcmJw5QMBHIQsBhj0oKBjYis648ev+4Yib0IpkXtUmZarQkW7qT9CAaju2a4bhT1UHZE3lTiyBte+LKDTpiSUV1kFSQbK9yAdbnuDPXmYTxAs7X69VB4ImoASPeJ1S15sU0cjQoTYHCCnMq0/ZNFEXOqJZcboGyk6D3fvG+HuBPacsFRaqZLtE1fWVxk77Y+YtJeGNSh7u1dMeY+X/TFppev/Xg7UVXLQCHs2h4ZXtrGOqSap0RruhgM/yPa6/WfvxhEjdlGiSv1TmBrqGN6sYL4eLcefoVq702LDsGFCceYbf+o3AcXCsiiOKXjRytrVd6D0lLxheK78yYSDIiY0bcFhyc+NFcZ+lzYHC/ydxj5RQv95ZcwQvXJjHFQr9agfZruMJikcnfPllghVRchGGSrK7wOn5lN17VP1BW7bn+GyKjmOxUZrHASTRGGoLOZjFprNPI8/KY1tadDEROi6Qz1+I1k3SsorVEsk2Io0kdV0tlWHX359slPMD2y8V03yXUENlwWoEbI3Og7tJltwuVloGC0HEgXfUOU542MNHAAA9pMMurOcEgSg2rfXS8wd5iW5XGwOJu59IbBYV9IV8/vCM7ya0vTz7XsEfl9DN8LFRZuXrIxgvbTjJcih3hfEP+fzymYx38/cU1pTF1h7mNQm0XnQGf4UNlUagvxyqav2Dr/dG0e9iEO8cLtx10tgC3Ckz X-MS-TrafficTypeDiagnostic: CY4PR07MB3093: X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3093; 25:M/ygLeIslg0x9nOYRSV5SAKavnpA+vikVZfk+F45Q/CVoR/nCpMCSrWXa14KuesRgCooNHN3jW1KvUXV8NfnwJOKPx6MzxMEW1ftooG1n8b1zAzdfayoOY+GuYdubAHZVudsEIwyhNBC49si25SQkhe4tI78JuRE0wLN16r9i2MMCRfJ4K1V+WU6Z5A5wKcbzTIWnjetHCz/Uf3YfULoId8I8f75QBo4nMGshCY56vORMui1jwbALLVFNUj0cPNsvC0DImEelkzhgmnWWLTZIGMXvS9zjC8NRUm2mtk9sNpJCjFqSbJEteBMvwnu2s3AJIIwu2kNt8plKsoUthntK3ev6IpcQzGj9tw0lT2/6MJJ/W5cmpfyPlQcpJlxlLUXfOduRwXx27QGNeAi3kSPvZgKtpqICPefHvzgBGU6Oqv3otIcnrJdryaL6nyHsZlyUSyRqBW1us9IOIJorQllENlyMOocYDdvlgPdA2mjOV/VfBXZggtCMpH9z5yuy9I9KDkK0M9rtsSLQUarhAu2BZRyi8XWlMA0tPQAs6CQv+AqfF0LSvvBv606mwUYmTJjcLFrxPKEtSx0aIp4MHM1YzcDdWi9BR+W2Ev5bctbRpiCwm43QhrW3326FstKC/U6KFq9C5A4qHolYfpgbxYCPTDw6r+6K5OhI+kXFefZYFUzR5L5FCKi7SkxWa0NDcqeKzOLoPY3YP+ZU+lhk6roi3gouw29yih99HZimOJEARCG8J3CLrPvcp/83E8otouGBmL+/tW74V1BVgaBoJOis3ksDxsV6lGX5Q8T90Ai7F643OEn5wkSmXj4+AzpBUe1YfwvQ4eKsXDhg2vTZpFfVO2XNjWC1wlnZXoaa19A2JF9TDRPowtzt8dNf2CIIvQH0NpKfAD2WLaO8kKZUHrvLP82pR9Sgf3m+4dvxVrqIJk= X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3093; 31:03Wca/nsSNY455T1DjqMqJV7NrZvKna8lLZc75M3BPGP462JLQQG3N4xi4EMw5sbxY/5cSRye54+SwXDbV7OPbQ4JzBoM+EY4VabasbZo0jzz1++8ygEiJk2/57iQD9scOktLQTEMIEUJLZrs1DnC9+jntEpE1YoFbYjd7t+mfbIxfQAe5bF4OExFiPy4GGZX8PQgDAamnbnUY4zVK0SOnKQ0pAfduq0+emTiShUgUGBjWcQHVVlBSa2zJ1tByBrtJKG7EeVlOO98kWPo/05mZdLBUS+5TBkMti35crsyHw/whJV9axMg3MEjdOMXGzKcmT1dEWT0RCNOzkOk1pEUBs6uFygG+TjEKFGiOUxvo/+7B62+WjVUnPxerQgifpOodsb/kYTJTAwGdvQoMzUJzeKJTy4VVsyRIUCbs0KoYvI22yx4dmQuQecLfScSSUh0uK5nrNr53MWZaaEQJ4tkws5S7xcvJKlNmcFyQWxvT0u/SjCRbTsy3PiFc3F14Hpgri5MrSQDOY7eQ19QhUnmJKU6kt6rBNhN9wIATB1FS/kap4raC2GGjoPWBA1JqwUsYoZsKDShXpeLhlhGnQ/xlik2Pnm2nbmNDw2ltqrL41Q86DvnQO8JqvauY8BBo2PV50AUH5XH2OnDDg8Tyc+A7VuM4IyRxvaodHCM7OAsag= X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3093; 20:i10hrXc2F5/Juj91onubeUkZkdWVwcx/pIYvPDSucfdw2rGCEwTM0Gi7QzPMCfEjM0udaS80pMGR1AmbYIumebJfiuGH0WC3X6JlGulPqLZS3f62HN2qMIDbcGvTIPisaIeRk0WtwWatAzc1xY5dBbjIzK5iOaUW4g1JlRn60VeiK6nDUw/alv4MkDpXxSNdq1rdLeCFcEnXg9HE1sq9LASfVhMdbXahsWozG3FTNF0AS2TXtNu27x9x625FRYNoxR/TR50fpTImyzEkFr3PJg3NUGbONLCWyO/ub5s6VajV85vZht0eMK0hG3XHb5sy7V0a0OxwoHc5Od3s8KOtBq2QOtCcYugIxbA6+wAPKp8IrRPJVu6m16Z6iw8Ki3pgzvJGiiC9wmFXyPcLoYwD5Ym5KW7tXoF9Pc1XH0KdHKepg45iHbjbDVwtHALOSH0Mp29L4azgaEKsakz/mhEfZDU/cV9DTseDJzkl3Fa8rsY1eLtiiHvpE+/eMkMxwEVW17f1Nrnki0etMa536eyJi/O56GDRvhMGShn0VmNKw5YzsD0CEvwAh9CKBb00p39C79v/2NdNfYXt7bWcACZVQW4eYpvexYbF9/6gerUIlHU= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(180628864354917)(133145235818549)(236129657087228)(148574349560750); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(93006095)(100000703101)(100105400095)(3002001)(10201501046)(6041248)(20161123555025)(20161123562025)(20161123564025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(20161123558100)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:CY4PR07MB3093; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:CY4PR07MB3093; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1; CY4PR07MB3093; 4:qDjpsJedHnFe2eMD64Zrs7nsE7PLEfGHrG8Pjn?= =?Windows-1252?Q?nn+SXwEAThzYP5UjW2EjrrfwqnNaiXotPNJp4A1tVmVOIgSCxC1xQLyY?= =?Windows-1252?Q?nkMzzh981Ni+nVfhTh8Hq+1CI2eLDCyP7kWx4PkN6aNshXgtNKnka1a/?= =?Windows-1252?Q?7QByNzfKiJHiV3agfghpRNq2wt+8Vo5AB0tYt9dz7MVi8p5RLnVzDVZM?= =?Windows-1252?Q?pVEqjwBbMsxfrGN3WPvfCqd81bGC6ZNciTgYd+7fcgtRkAQBMHbwjnTT?= =?Windows-1252?Q?Er+oiaVfag5HQ2zAyuN8HHmzzCC8wwxjTr5uYLGiaiIgNggyDydqP9LZ?= =?Windows-1252?Q?T+l3fLMMW8C7Amfr9AGadLXNAuA9rJPb3G8AqtxA5V3YclP1t0w0Ksha?= =?Windows-1252?Q?mM8ea4aNOA08bfENuevH7x6K1nKs6M6QYmrgHLxKczTDP0wyDgrkbRWZ?= =?Windows-1252?Q?1BvbM5JBjKIynANYAo9yx5CRjV/orpMx1dvbHndlk2M6xfVPg1t7Q2Al?= =?Windows-1252?Q?YPBYD0Imo0B0bF1gM6KTYUokvBH7LtHW2l1V+f69YsGm09o7I7wQ1vEX?= =?Windows-1252?Q?Sr+5dNd6soVTjf0o2/YaEGzcF2KypLOTv2NaveYZdJOx8i4PDYB73dNY?= =?Windows-1252?Q?JhzwhzLpJXPdm8+bwfsmCoCgqlJiWLVxlIUqRvr4VRLfvzkA/KeWjImw?= =?Windows-1252?Q?zNmyaEELX8fVhdt9iKE4qfyMTVLvP78aGFSxZoYuZfJ2BKP9LKyBn8Ux?= =?Windows-1252?Q?+pWLIfbm1IDgwEPT5S1DdwGdMS7wQgsTZ+sys86ZIjdWDMOvmVasd4X1?= =?Windows-1252?Q?4LFoqSTuwOJWw/gIb4zXBEZ9YjDBrU1mpkqSGUO7StZ4ojb52cM0agEc?= =?Windows-1252?Q?hkUnfqRBIUjOcDjQ3tY3136n+nyL8Waa95t3G4kT75b2HGpz340JUqF2?= =?Windows-1252?Q?fcIwpzULB5xVOPUzHANx93TdfltQxXiq+pLCRyo3YkadR27PYZMppoKB?= =?Windows-1252?Q?lbApOwjiAQf6hM3ZiZQDZ1H2YdlrnNyq/hGoxsDDPWO3CgWLafcJ7wZE?= =?Windows-1252?Q?LG/1NYO2X+oTPmC+7IMhZC9zxAT/IhEpXSZXX1r94g7y4vhy50b/vQ0G?= =?Windows-1252?Q?ZLNPzstBdYDI/17FQLdkVo6i64sjqijyc3m33a7qugMZ3UKqJG6f72xY?= =?Windows-1252?Q?OKrNPoG3TmJb7L1Rv4qULKk2dot15XLNyJE/52jPVtIAx5pg3tZwXKOc?= =?Windows-1252?Q?OTUJ9DN4bm3Jc7S2slj32vAQfN8GK1FRiwiqWiAXjcYGkMc3ZUnomqZV?= =?Windows-1252?Q?84jKAVaNT1cU6qitUzJw3u4iaaK+OfP/3gPA0IxpnoJG0lJgg/8pgNXM?= =?Windows-1252?Q?PVsyY8w9ol?= X-Forefront-PRVS: 0358535363 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6049001)(6009001)(39850400002)(39400400002)(39840400002)(39410400002)(39450400003)(57704003)(24454002)(377454003)(4326008)(2950100002)(38730400002)(229853002)(42186005)(90366009)(8656002)(6486002)(6306002)(86152003)(966005)(117156002)(77096006)(33646002)(53936002)(25786009)(6116002)(3846002)(31686004)(2906002)(478600001)(47776003)(42882006)(65956001)(4001350100001)(6666003)(66066001)(6916009)(65826007)(7736002)(31696002)(81166006)(53376002)(110136004)(305945005)(83506001)(189998001)(5009440100003)(5660300001)(8676002)(23746002)(72206003)(50986999)(54356999)(76176999)(230700001)(7416002)(50466002)(561944003)(36756003); DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR07MB3093; H:[192.168.1.101]; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1; CY4PR07MB3093; 23:yZehYr7QFJLHhKgKg0FtzOx/NXKw3HwBZ8Gog?= =?Windows-1252?Q?wPZNwWKXZlY4RAiQpfh0/Da1PKQiGDKIJj/SuTR0wzbhf2y+8g7DBO7o?= =?Windows-1252?Q?nfX9vhuSozDjgyrSS1HBAhV326RDSeIf1xx6sYNx1goNKexhmrX7CChj?= =?Windows-1252?Q?dFKzUoxVpb/h6MrW894C3z0lfQjYoO++XaxinDADh2TdcBisqwiafigk?= =?Windows-1252?Q?ciMQZkqNwVouKwXDwJCsLwe7hgdy7ifQLiuoWIwrBd6KNQnbuT0Kenai?= =?Windows-1252?Q?BRKW91HDHSIt1BHFJUSOeSxtfOvKFxYwI8WKmN6WhE3POOp8JhoEeaBY?= =?Windows-1252?Q?aQjbjpqyTzsO7XkonVE1DSmwVLsbYXFPbI02+4+aTXf68ofMWd/G8zd+?= =?Windows-1252?Q?941rBd+r666SSDgSbSKnvRr4AXZbsnDouUe0joWigSncFpNkbVacGjQf?= =?Windows-1252?Q?r2deNk0pbchHtKlFJuftQQDrWJ4qNRzPxPu25lgf8kHDuwvLpeAr7Qnc?= =?Windows-1252?Q?9VRacpdxjeK1/SgP88+5qlkM0QXEm+ISp/iPLAdwlzFCMXBwH9bBj8J2?= =?Windows-1252?Q?KbHG+qWbuYdCyavCjWNMgH3zKdFDTvvBfpoIN5zJvI0p5h0iYiGb3r2a?= =?Windows-1252?Q?vVZc9fxeUWA/rx1YZ8Nc2/QI8g7tSoSkfEbFZTRCQObUeU0SmOoFIfl0?= =?Windows-1252?Q?QE1yIaa2AE81EpPGg73maTBJ04Tfw1YnOzRpP6b7WMp7kN0uyQprp+X/?= =?Windows-1252?Q?+0IK5CfEVGWFpNhC+7Zcy7530qHwvY9IE+lcwHorQTMqeCxO6g2ffRAO?= =?Windows-1252?Q?Nzga9e0is+sPlVE2ElsliyQdW64F7bt6IB7SV06bhmBkRUEcqrWuEd5V?= =?Windows-1252?Q?Saw9uvDHfCwCDWJxSeWj8vaZAyOLhFqN0aBAwdI3mmBEpHhnlfsqMiyw?= =?Windows-1252?Q?Nif2eLgzpveEt9j9FMYpZe45L6dymyKPlUZ7cU7cXXKND6jIY1cnmjMF?= =?Windows-1252?Q?tvUDrmoXpbJ5LuSQtkVl+pcDgsaUeCKv2SRuKGQ/PT/oBno7NgjD3Bo2?= =?Windows-1252?Q?rWtm9FC6HvxyCMfMGccbBJzIq68hTxlWILXXXXa0Dj0Zt61MuEcHJlS/?= =?Windows-1252?Q?3XQZNpzjdGMHMrsZ4zwEyVe7cTkChcTqChH6C4i7HrwQtWB/o0lZcgtb?= =?Windows-1252?Q?C3gQhniqcD02ehpzUwJooTJpxD3Gi0sbCuTYP8ltpMcn0g+CJV2ErpZ+?= =?Windows-1252?Q?nlXCNzchgopAgc3w/MIWlnb7x6aQv1pgWFAdTF1ygJKbaidKsWoQ1HzO?= =?Windows-1252?Q?RDJb4ipBJlZWMiK5+2LUHPNHBvpIYl2uX6gjmUuL9adVGspIsQWHawDB?= =?Windows-1252?Q?gdUDNxusND+Ihkq73p6A4LeW8aKDl2dlzj4go/dsVqyYXeRmi5SJYj3f?= =?Windows-1252?Q?B4kEemucpE5rg0RcOGdAn6Ra7Xrt7vVD9gDX2OAMzhVZs+G5vnmcjG9q?= =?Windows-1252?Q?2WTjksIvrCyEWglzqt49y5nwej22JOvS+cUgkLdEuGJuyQjac+nazpPD?= =?Windows-1252?Q?8t7StInwG+KSqryLwCv+E+mND+ZxQJp4MJ7yrAAqPbFMjICXu9sea+Fd?= =?Windows-1252?B?UT09?= X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1; CY4PR07MB3093; 6:A4yUjSsg7hjiYLucK871vuRnopFtHOdokv2uz8?= =?Windows-1252?Q?N0bAiMzT28bcLIvGtPOo2DEwS+7skMbBhE3H1IghwyiJOewOIzYWUIAU?= =?Windows-1252?Q?W3k0tih77jgJAjYIkOiQcpY1WKwQhk8FctvDcOS1G52mwpxXJ1qmNp4B?= =?Windows-1252?Q?E3OyIL16D67WGf+ZtJTHCIS6co5yQeBR6Fb9n6Mns9EOOxo+1km/Cbgt?= =?Windows-1252?Q?rtLQYam4x44N0SQD4478FaioV29Iho/nAWSESZQYl4MP0IgIUCkJJjhD?= =?Windows-1252?Q?UU0tchha99bBiTnLFra8TJaK46dYPGxW6+4D6JbLw0GjHlr72UWBHNx+?= =?Windows-1252?Q?u0TgA6ZtRnsCt1Qs8GSv9K036rmN5/QV4zpuxLyfiMH8npFRT6+ulYf9?= =?Windows-1252?Q?rfO9zqE+G5KFwLACYI/Xe/sXt1TLz0oISczOpGY4HXcrisoZW0maaJsV?= =?Windows-1252?Q?Cy8SdIa4GSsnO0zIxrbgbAI6AO1fMBTqoOwYwjBFZSWUNyOUkaSL9Loa?= =?Windows-1252?Q?hsYmK8vlHbubtDyOJrRKp38A1r792/S8M3w2k3sz7ragrwBQrAJQitHJ?= =?Windows-1252?Q?QABzs6k/BWiD/VLOUhXQ+jyJ6z3gdFwuFsYN7QX4EccCy9+lX8yaSscp?= =?Windows-1252?Q?HKelq9ZajtqN1HMhEJANAvjEfQDUrTa1cpW1g+6v+Woy3UmELPe+XP1L?= =?Windows-1252?Q?JdObAUFfiOZbWTrfRqoacW2iL4KzepumB1ikJeyLmK68MvoKKqqyqthx?= =?Windows-1252?Q?fklUgAwLNjXIJQaY06kLon3ivYe0f3ekw73ZivDyiKIdD8sn2ICl02eg?= =?Windows-1252?Q?yneYiUl5LN+1gOQmkTGWh5+LkohBVEZ3V24MAokd1U6iqAj48LPn7x7g?= =?Windows-1252?Q?QIws22VYgj9S1L7pz7oUj+L1il+FcUYCXQxlZCr0tZYKGAKwsyfGPmEv?= =?Windows-1252?Q?TNuHIy12VoMW2gXh1r45PIlKggO+FLTlzfmJ06DviaKCvpCAXZ5BJB/t?= =?Windows-1252?Q?+8QklY/Hrip7ixYxGIqufD5ZEVbSvj7BCr7XsvWvD7EOkvJWfjpWe9xN?= =?Windows-1252?Q?1ZjXIucTUbKyk=3D?= X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3093; 5:P2XSKxBtFQHk6r/nnKBrhI8/wQLpoaWa9sQkv8ykKabFNbzWAJ63rfo9RzAVd8pMcQ1rwIsoV3oecSbEgfWWFeFCAwtyqe5G5WLgD1i++A9VsklFGFn3861HABCumdgkp+dTwLMinIsM7U1voapndByscIFnohXcpkTz8Y4o5QyOSYjm+RZCJ716hZYW8HXB3VgbISD16ocIDgVFiKxIsxm4065aJOUJP+tx+8dNgbW8a2/RY6GtCkHQvdIOuEjaa6V3PaXz93bXNVdY2HzCKPbDDlcScrM2+aQzMuOVD98DOZnw/COhfBo7h4ENiUdWYtgvLPSkjh8lOJotmH6L8zIeWd6h9zrxhN8FtghWHDr2TjE6k7lm/NTE2Ab29J9PfqOFDAC4RWYMHTAjR60z7nHtg30KkhTTF9UNmanAIryk7EvsoIQYZPWj5yPmZxrZN/zqiILksxLdT/KR5fKD/LL2sI1qes98zFY8Nj90XGK994av7e2F/vK3xgP8kWO6; 24:ZT8ID6bTZv9kvla46UKkk+VEccPo2Q2pY3FOJPY/o2oAet7b4JgMi7xexcv353FAUC6w2u5WDgja6AnOxP0ikPEsGK9iZEQNKEnkKKEQe4s= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3093; 7:xMqzFZ0zrINitO9UPv0KSohTlVFOTikOIJSV/RWbfxJlt6eTvcwOZEOimlYWKyU+cpb8XtjJ+uKCNId5Js3QUyYJaukNHaZ74hOoA3E85yQHvacfLlNf7aS2kuHhmrQmUbUAe4xxiCwCS8Gt7f+vC9LmT2cy0SUJ1HWvqzitSG79/LRiiZI+TCB6KcI7RgIQ4G9p4m5KFcmUG85WdGaoTOE9ejIjik6GVWB7S+IAHlL0Uo4D6qr+JWrxI2snlR+RIePf+0nFK0DPbb2vwzqoF9hkBOdPvMtuojQc9UUSjJIhQIe1Yd8bGAHKpuA3F9XmEBwy5eGvVnvgJVasWvyuVqGv1qC2/U0jHm2yasCnNxcTHzyJvVYCHz8uf6QjG+JeKPSIpQpc5bZTyjkMZBjZQ8Jf2PsficspB/uU09Ynm6a1t2tjgwtk5dJoGI8ekFYlmwOj41qGNkR2Xqr0PAGDa2vpOJXYDpQyESQ0gOjiJb3KKSacEkVBPFgvX3NdXSGUhzMJks5HQYZ/TK83MJCM0gVTonuPOd0Vfoylrif3LOwWPL1a80EflolGzBQtAaeHka4Bfw5NAlLBdMVnWDEn6x2WpVAq01/xNLaB8dVYcl70Bti1EsRo4Q5usP/xhaEts/uyiId8dK4pjmIOGV4HPT6/m+i29ToVcdCwkLCF24E2+soM7wIWFWgCWYY8xl4wpOvns1ac0FLuSAC8+Ad5LJ9SUG4eKOHOQc0UfW4GubHtYdZnzbx+pq1MQVVhJVuAhD/yEok9uz77YWwc/CoiSG7lhCcWkVCW0/+Mn7IhQnc= X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Jul 2017 11:21:06.4411 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR07MB3093 Subject: Re: [dpdk-dev] [PATCH 00/10] Infrastructure to detect iova mapping on the bus 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 11:21:12 -0000 On Tuesday 04 July 2017 03:40 PM, Thomas Monjalon wrote: > Hi Santosh, > Let's try to make this proposal clearer in order to have some reviews. > > 08/06/2017 13:05, Santosh Shukla: >> Q) Why do we need such infrastructure? >> >> A) Some NPU hardware like OCTEONTX follows push model to get the packet >> from the pktio device. Where packet allocation and freeing done >> by the HW. Since HW can operate only on IOVA with help of SMMU/IOMMU, > Some readers may not know IOVA: IO Virtual address. > Some explanations: > https://www.kernel.org/doc/Documentation/Intel-IOMMU.txt > http://vfio.blogspot.fr/2014/08/iommu-groups-inside-and-out.html > > It must be said that SMMU is equivalent to IOMMU for ARM: > https://developer.arm.com/products/system-ip/system-controllers/system-memory-management-unit > >> when packet receives from the Ethernet device, it is the IOVA address >> (which is PA in existing scheme). > You mean that we are currently using only Physical Address (PA)? Yes. DPDK default approach is iova=pa. Refer [1], latest example [2]. [1] http://dpdk.org/browse/dpdk/tree/lib/librte_eal/linuxapp/eal/eal_vfio.c#n709 [2] http://dpdk.org/browse/dpdk/tree/drivers/bus/fslmc/fslmc_vfio.c#n231 >> Mapping IOVA as PA is expensive on those HW, where every packet >> needs to be converted to VA from PA/IOVA. > Please, could you explain how and where addresses are converted currently? HW(iommu/smmu) does. VFIO case for example: user could program vfio(s) dma_map.iova as _pa or _va. And below api does address translation in dpdk: rte_mem_virt2phy rte_malloc_virt2phy rte_mempool_virt2phy. > >> This patchset proposes the method to autodetect the preferred >> IOVA mode for a device. Summary of IOVA scheme: >> - If all the devices are iommu capable and support IOMMU >> capable driver then selects IOVA_VA. >> - If any of the devices are non-iommu then use default IOVA >> scheme ie. IOVA_PA. >> - If no device found then IOVA scheme would be >> IOVA_DC (Don't care). > I think you should better describe these modes and how they behave. Aren't they self explanatory? meaning 0) If I program my dma device (of-course, iommu-backed-dma-device) as iova = va, then expect dma address (iova) a _va. 1) If I program my dma device (noiommu, e.g. vfio-noiommu or igb_uio case) as iova=pa, then expect _pa. 2) If I program my dma device (+iommu-backed) as iova = pa then expect dma address as _pa. above described approach tested and works for both x86 and arm64. The default scheme for iova mapping is iova=pa. And framework allows user to explicitly override any scheme via --iova-mode=<>. Thanks. >> To achieve that, two global APIs introduced: >> - rte_bus_get_iommu_class >> - rte_pci_get_iommu_class >> >> Return values for those APIs are: >> enum rte_iova_mod { >> RTE_IOVA_DC, /* Don't care */ >> RTE_IOVA_PA, >> RTE_IOVA_VA >> } >> >> Those are the bus policy for selecting IOVA mode. In case user >> want to override bus IOVA mapping then added an EAL option >> "--iova-mode=". User to pass string format 'pa' --> IOVA_PA, >> 'va' --> IOVA_VA. >> >> To support new eal option, adding global API: >> - rte_eal_iova_mode >> >> Patch Summary: >> 2) 1st - 2th patch: Adds infrastructure in linuxapp and bsdapp >> layer. >> 1) 3rd patch: Introduces global bus api named rte_bus_get_iommu_class. >> 3) 4th patch: Add new eal option called --iova-mode=. >> 4) 5th - 6th patch: Logic to detect iova scheme. >> 5) 9th patch: Check IOVA mode before programing vfio dma_map.iova. >> Default scheme is IOVA_PA. >> 6) 10th-12th patch: Check for IOVA_VA mode in below APIs >> - rte_mem_virt2phy >> - rte_mempool_virt2phy >> - rte_malloc_virt2phy >> If set then return paddr=vaddr, else return value from default >> implementation.