From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <Santosh.Shukla@cavium.com>
Received: from NAM03-CO1-obe.outbound.protection.outlook.com
 (mail-co1nam03on0040.outbound.protection.outlook.com [104.47.40.40])
 by dpdk.org (Postfix) with ESMTP id CA40A2BAA
 for <dev@dpdk.org>; Thu, 13 Jul 2017 20:25:41 +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=FpOTbFo+Jlafft9eCG6nJNDTH0+csvzIlfldHZLDNh8=;
 b=idaAHbRFcGG0kYewY84JeDdO38eeMzhs+rGkwYbewa7nSiPH+ODK1vf/N9DdXMlsiyNgQirLFG+MZvOJR8WLyusWu2o42y5yQ+6FON1GHHe/oK0HcE3Gp/HnSceSaMscC1eSGJSJBCnRzvVjzfFfHAgUvvJyhTAHnyBBLxcdvtg=
Authentication-Results: 6wind.com; dkim=none (message not signed)
 header.d=none;6wind.com; dmarc=none action=none
 header.from=caviumnetworks.com;
Received: from [10.89.1.17] (14.140.2.178) by
 CY4PR07MB3094.namprd07.prod.outlook.com (10.172.115.8) with Microsoft SMTP
 Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id
 15.1.1240.13; Thu, 13 Jul 2017 18:25:35 +0000
To: Hemant Agrawal <hemant.agrawal@nxp.com>, thomas@monjalon.net, dev@dpdk.org
References: <20170710114235.18970-1-santosh.shukla@caviumnetworks.com>
 <20170711061631.5018-1-santosh.shukla@caviumnetworks.com>
 <20170711061631.5018-8-santosh.shukla@caviumnetworks.com>
 <84703290-1800-1f0c-8a48-bc2b60eb7839@nxp.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 <santosh.shukla@caviumnetworks.com>
Message-ID: <00d16b14-0bf7-6352-eb78-488ee3ffc16e@caviumnetworks.com>
Date: Thu, 13 Jul 2017 23:55:22 +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: <84703290-1800-1f0c-8a48-bc2b60eb7839@nxp.com>
Content-Type: text/plain; charset=windows-1252
Content-Transfer-Encoding: 7bit
X-Originating-IP: [14.140.2.178]
X-ClientProxiedBy: SG2PR06CA0019.apcprd06.prod.outlook.com (10.163.105.29) To
 CY4PR07MB3094.namprd07.prod.outlook.com (10.172.115.8)
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: 8e62b02c-1c47-4f15-9cf8-08d4ca1c900d
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:CY4PR07MB3094; 
X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3094;
 3:4Dufn3ByBj8NUcCkBMrHP81iHh/cNUgpB1dhU23SlgeknYFL3GNXQy3zTr7FWNGfWPzEjS6ar0RdgR3ZgOmQKrt8tmZtkY3yH2QFDVXAz7zuYGlKV1gKlSzT8fR9ZYCoH/V3vUxgv43x1Jb3Tbfv7QZAqKEbDyY/dCz86bavlC7+/XJYkeMmtlagmfxOGyg1SbuBarRl1q7dQiLICgG8vQ/N3OwftsMmrB6V8NtyXCODD4PUKBZmGTavcA9cq7Yu6VCUBSmmEPb4L7SMMaUJnlE5jyp0OCt7OSBwsp7pcxbxvtHDwcfgnz6oNDRkofmtFtIvMXUdY+879n53kBhB54UVztpVwsrSL9NkXMkL4NtgQu2GaotXTy3ab6lsQP6gfi/sjRjJI1MN2HqlpkC+4TNQJP8GkF5v6eIq4kSRALjfyIGbSGAegQT1DGQR2ogtBEZFAvvM0f+BqXkhus2iPxHHNlFxFkUuYUelj9I9w43k5aPQf9CwZGVlNyj2MuQ25tWXJgcmTYc5gAsLPng5oXscspMGgjTxGuL5BQDMXOgNfuBvo8NvQhCbv1fqyxdnyKZ75rOWHTtuPwSK9MNG25WVzbYcN8G0y/YsfoHTkqf3dFOS6DDpm0I7gkG5pqILgn13T8RRxe4w3ARl3D0U87UnCanmKLn/BYcb9WMchmm7O86bHNLsJiAlr7+YdmdhrPaDy7dfi3yU0plPvcjzkIXZKuyAgTvkSCFRxlSu+W4=
X-MS-TrafficTypeDiagnostic: CY4PR07MB3094:
X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3094;
 25:XXcsmCk6EWz7S3BV9ogwswbSvcWxLr4fLcbJ3Mr/4wZLMCt49dYwnw6pc4G2JzLf1nB6Y3ZM4qSjy6U4wiuKfVVRjY7WxcLY/+0ziGZgO2kzJMjcXSrKh/nUYNlX8/PhETkCc8nBysEv9B4Qapm5zxlraFjAxJ5Y91EUloS4vIGjbF75hN9KbFTX/iIa5nzJgJf1octWEaF2KedjTcIiOWIrIP8DLRe9ElJElTP96cL1a+GZV1LJk1KafIBdgpbDeGAwxhsasuk1+ik3mDotIH/Tkv1GCfxiqqlKWnZEK0GYbm9JNQLC01BVO4AdsvoCwkwlNjPPwoWEn60BTxmpUUr+7p9BptKxekeE5nmMQCEVIspj//hXXXx4y5RfljT+l6MbimJkgorAIshv/eQ5Q36H6/i8Z8SULLhpDRs+miPuBiWxiWNg9rEHl/sVorikGigiPd3UC3hyP9x/poOzu8BM/jgMDVzAphdNRK6I8SYl5e+p4qqNtz/VWow57o8VPvXWUv02zrpKjSxs4eZxAmvcoxyyQJEXZn3HMjIBrssFFtB6H7NusKvQM2AiSOaPbnT76jHELJFh/7gzBHYbd4eM+AddE9LhpjYgLuBSPYvhlZc268UCxyrWfvC5NUteT7ksdny+GKnZOMrHui7cq4fpj/+DA6mp/0LAUS7EZxSmwAjzR1u5szdwFgJzOqMPuuofGezdJmrfSWrGeqlWRPIfF9zh9fNqCWSQ7lov3o6iKxBEZYhbFZuejVsFmezOsiM2vnHiu5RlaxIyGvLGUvgnJFt+dXw/rCfdlIFmAlijzLasBcYi2OKptvwypAXCe/Os6mTVnWlvwGnXjhh/jre2ylZaZXa/yJduUPUN1hsxUgabcC8HZeDLmdQD+5a0v5cnhD5p++f1JkGZc8b9W/wr8IBXf4wWBiB7MPijhD0=
X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3094;
 31:ffYJ4uWZbR+M/iD/YWbTbOqA+MM4SrfdE6J7/PkI+asAtryVWHaBO8oFUnWIEjUjkAdBkIV1NwEDYbiLHbQr+ARs96JDZn8+rHK6FlovMIm3TAhl30md14OcN8XzjlIJKqOwhnNq5/0UqfdWBFYohBJ8myJi6OD4ReKq16cZvQyQHQkkdy/10xMIMQSxMDuwdImVOPMUFx3g1ZTJVEspI3n19UccoEsd99Hr3EJGAmdZQ9Lcb/qUk6FIFiqiT2vVpfNSkyseSR3rH3XFgCeJ3LEZ0ejF+0aySTLd5zEJgVpUj02Cmw9Gt38zEaG+jGqCUzlyCXA6Xs3uYZ01kGMh19faXB3ytqzr6Z1xjsjGtz6NdaAOTv5fC2LWA1+YulAaVKRGYHX5A9tFtBAzPJFTdB5TfPRxh4+ZmZF01Q+db2xyQ8MpqEkw0g+CmtxVr8Rbq3QWVOva7Omzv561+hNOr2Tq2N6ghtdrLYgHfqIYtYcub+GspGj/l/VBr8UKeULFKBYvOGgKRILJDcI+DJHJyxkGH+iysX6EqcqJ8q7yRNponyLb3DTAEcZtErWVpMU6wehCR0ST02csadULeERH9/HR3HGo1/5mg0YW+onSYM83idogtGG6dVRQhAN+HdceUrJy0ATKElFw0WpjLzzdYu9R+/F5bWo5+ueglSRpbx0=
X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3094;
 20:HSvdBrkH4icShQ6B1EFQ0lWxBZPgVn52vSoA9U2WUNqxSrV/IGNanatfy6rY+S3jLbYi+VouVORMHEGRU/2SUIblxo4s3Slrwf7mpalbjcQA9hIuYYFolS3yO1s/bp1/MhgYdS1+U1gu8DTXP2slnV/9MxTEf7HhtsslJ9RHv8UvW8VGslqHiykie+3MFRyC+grqc7p6Xdk9t9oHkmJU3zTfDuEpy7Wwg0Z5ewoG312O5twJCI5fqKro86jR8fPNEKW1bjk7gtpy3PMDLgg9Kydu/Ncv1MUoroTUALqMEDzAopcUz40MLsKFSAXIaV15eO5DclSUaZ3JEeYwUMQt+2MZ1DKQEr1dm9PHFEC+OPQq29E3ftWayo0atAnjOBoEWyvXn2yHQXT1uWjQK/z3RA8OHC6hII462w9L6JTOFclfMEspuBHgBr5lfDh9+hyq6yWUSpDqyIA+nAQ2IbuOzhnuiBiWUEMsDr9Rv/4IC/pZ7QuJvo7w8ptF8DdOl4Uj9DEx5CxxC+eZ5uV5Ypm93XA+JNIa0mseDjf8y7s1316MfAAEQyxf4kC7I6fIPRu35+Kbgz7maU3XV12uiGwebaxap6Wn6GJ90B70jXKljdI=
X-Exchange-Antispam-Report-Test: UriScan:(133145235818549)(236129657087228)(148574349560750)(167848164394848)(50300203121483)(17755550239193);
X-Microsoft-Antispam-PRVS: <CY4PR07MB309425D288DD140AA2794DE6EAAC0@CY4PR07MB3094.namprd07.prod.outlook.com>
X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0;
 RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(2017060910075)(5005006)(8121501046)(10201501046)(3002001)(93006095)(100000703101)(100105400095)(6041248)(20161123555025)(20161123560025)(20161123558100)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123564025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095);
 SRVR:CY4PR07MB3094; BCL:0; PCL:0;
 RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095);
 SRVR:CY4PR07MB3094; 
X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1; CY4PR07MB3094;
 4:QHLxiXTMlwrs+jiMQvi9qxeRzcm7X8z0w/KCU1?=
 =?Windows-1252?Q?WwIJhKF2nYbtf/RRgD8Fa8Lx1UgfWDBFb8+Ir+dyYrZOyznWqS6Nhzcw?=
 =?Windows-1252?Q?BkTwLwDR5d9WqoOOfPFTH/AVPyiNeo5ELgw6tMUY10aAlpI/xLYQPG3/?=
 =?Windows-1252?Q?37DnVO5Tg9MICGr4RDYChAYHJX1sE8Dqr6nK2Vtc6xskqfg1QdQrKAtc?=
 =?Windows-1252?Q?cLBb5P9Z8viHz6O3bv9qmvX7mqBAzS++TGePkHUhQeGlGs2INva35o5n?=
 =?Windows-1252?Q?selo9mOeIerZ1NcJ61KRV7fLX9TwRfTB0dayhXoOeiBd9TP8i0OBVU2F?=
 =?Windows-1252?Q?lGe7WdlopBDfcmvdOpJW7f21L5V+QOSRZaxyhteHO/0UK/gGudROlseN?=
 =?Windows-1252?Q?6xbdvERqqzfDYBlEMrK81Bk/FJfnc7W6guuoayy0M9wGpiAMLBe9Ja/6?=
 =?Windows-1252?Q?PnIZCgl7Ch4meCDxXiPEtL1tMA1h1/Q8G9s2/G9UzNuy9MI0gcKwN6go?=
 =?Windows-1252?Q?xJBwRvukRXWw/m+zGG2S7Bt5dE7zhAbt41IwwCqEh2Zsl6Qa/SXD80t9?=
 =?Windows-1252?Q?hm/x9azZaiaxaZ4T2Cu4RKs06WGVEnkAF9fFuLZqPFnvbCZOrCc9h9Pw?=
 =?Windows-1252?Q?UOdI69qJMxdjlr3E+eVMd5Dfv55/WAxAYV0TrQXFkdSkGsyrchPXKn1E?=
 =?Windows-1252?Q?I/Zks3yRU5B7NtWKiEo5HMRG+Ola/kCwJfBQAuKdP8tJUYY8LZOrOGAS?=
 =?Windows-1252?Q?qbqEgvvWfhTxzMVkeaY19AXl9KN6nfd0bGMnDE96OTxlURSDwO34aSJg?=
 =?Windows-1252?Q?j0/Pf6z8Vn/QO+7BKqMjBLbdy1EKn2cKnVzTYVNR1X/SSGBEOyFErzwH?=
 =?Windows-1252?Q?KWbjMmQ2B6Y+9hncr8QvrHfbTeik5sWDUeuv/56IrFgF7Waq84zJZLYs?=
 =?Windows-1252?Q?8GtSTpIvs7o/DEsiEYPVQN0tyR6Mq4OQEds04PVq40tQxI0Pw9oUwzqH?=
 =?Windows-1252?Q?Xhj//AhMhpUbA5XP7sGXWOAfnv2zRNV2KFiypwW/JkD2/MmHurpNle2B?=
 =?Windows-1252?Q?iKoccD+KQw/XvObDL0zYvU4/MrOdAr/InFGSGNdgt2PkvjbZxEkij6Xn?=
 =?Windows-1252?Q?Sh/l8MPm6W6Y3TXx/G1VePs5Vh+3Ln9zI2JEcy18vbURYQmkMWW83Cz3?=
 =?Windows-1252?Q?iyRoEKdMW8j2Ev2PweCjKEjtrzMH/RyfrzPnKrTWFsDTC6ZSYi5I390k?=
 =?Windows-1252?Q?Tjgm0/vQtf7pAh4wPKXJ0713ZfOZu0qUQ9eOrU1/hSMcJUt6iW+zdLg/?=
 =?Windows-1252?Q?b/JQilXtayelD4cGGaBuzvLD5rWgmluEW17PKAgzeeS6EB7u4toukhqN?=
 =?Windows-1252?Q?evzMYdzwpRYwlESnUH2aHpqIZ/Lo5wHwIhVos9znXA0C6aiOy8KPH6NJ?=
 =?Windows-1252?Q?2iJ1JzXBf53VwVIOnfL4x4hvh3smTIS83oCvAgf3uSv8rad/ZS3Og/9v?=
 =?Windows-1252?Q?INJWE=3D?=
X-Forefront-PRVS: 0367A50BB1
X-Forefront-Antispam-Report: SFV:NSPM;
 SFS:(10009020)(4630300001)(7370300001)(6009001)(6049001)(39860400002)(39840400002)(39450400003)(39400400002)(39850400002)(39410400002)(377454003)(24454002)(86152003)(7416002)(230700001)(65956001)(6116002)(23746002)(2906002)(229853002)(65806001)(6666003)(2950100002)(36756003)(4001350100001)(64126003)(5660300001)(42882006)(8656002)(77096006)(65826007)(90366009)(31696002)(7350300001)(189998001)(93886004)(6486002)(53546010)(83506001)(31686004)(7736002)(305945005)(3846002)(53936002)(33646002)(50466002)(110136004)(6246003)(68736007)(25786009)(81166006)(561944003)(4326008)(5009440100003)(72206003)(76176999)(478600001)(54356999)(8676002)(66066001)(47776003)(42186005)(38730400002)(50986999)(110426004);
 DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR07MB3094; H:[10.89.1.17]; FPR:; SPF:None;
 MLV:nov; PTR:InfoNoRecords; LANG:en; 
X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1; CY4PR07MB3094;
 23:e+VPy4LUYCWd1QryyjS5oyWumO5AqSY9uUUrp?=
 =?Windows-1252?Q?Xiww+4JOtgYB8ItzNEj7Vb6qrDZkyDfljRRkmGKkTDCmXctpG1aCEj1l?=
 =?Windows-1252?Q?r6grcjINTTTk3hEAKrU3Fpg9VFEq1kjH5mkp1NtF1Jmxbxqses+tsjDB?=
 =?Windows-1252?Q?laNAij7ku140SGdLx/QHyQ0/N+lpVBKOgBm+RW5B+cZE4aqW4MjTN/26?=
 =?Windows-1252?Q?mKt+OaMaE2A66m0WItmgQB/NXkVxGFVJQGs5Qd5qesCf37W+EjKL8at9?=
 =?Windows-1252?Q?7E8I1RImEkB9Sq3voRwBliGO4F6D3pGzfTdNTllN/qb0vwnb5d8mVXok?=
 =?Windows-1252?Q?locoDSoWbOrzl3OPtGgLc0s7R/6QkHNqQQUbKqSHeWXD9n3CZ8rKwK7n?=
 =?Windows-1252?Q?DGB9xDidRhY+KOryWANZZbhi4y4zEllKUXAmUmWSOlbtAoqQfH4DEmW9?=
 =?Windows-1252?Q?jObTcsur5J/R8YHzpzKZ7I6vQLNDixY+QsiJCAYQmzG9yjQztvlGwKKM?=
 =?Windows-1252?Q?9CxjkHu9wwl2lRrBm2u4I26jWL2ld6f3QjUGfX+b2yQZxxrFGOumig2S?=
 =?Windows-1252?Q?a100dk7ugJ0lmJH3wxH55J/T7YY/OTia4jJZAlx/b9eBGjIlVDzHiTv/?=
 =?Windows-1252?Q?CSijwTreuiV3MjuFY6EZA1eWXlS4DH/y9abdOELSicYaem7FWYLaMG4t?=
 =?Windows-1252?Q?vCaFbzeWfEE5FlmmrzdLa/DAkXphCB8FennyoOub1yJU/mdaNTRhmNEW?=
 =?Windows-1252?Q?TUB76yZQeoBKe7hKpz9yea16UONZ2G/UgRF/3f8IPHwMg1DAjelzYDef?=
 =?Windows-1252?Q?z9hAa97BsRwVZFhk5rqKpy0BATLTVoRvf/xodHu76jTWajTd7NmnLkKo?=
 =?Windows-1252?Q?vACu0kfSJZTcUdbIYBk3UAslnjJ4gQa2luU/0CPYsj3pR1AU/ZZ9JGLe?=
 =?Windows-1252?Q?hhRoVrTqhnDZGyWINSL6oO88g4lCEEnhnAYOzY7h3zXE2o+H9vsvZXXy?=
 =?Windows-1252?Q?lbtuqwTYg+oHnh8d/QTq/tedSXVRyRXBlaGTEWZ2wDgriPQBKIOxIDeP?=
 =?Windows-1252?Q?cENV7rRaZOyXc2VR0/r2lvbwls4xvGMHDbHmxAjGlubZh6OwrrGUDPy2?=
 =?Windows-1252?Q?KxzUmkowxj5C8G/U/kTNE7pWXFbhkr5MEMFdiJyOsvjWzmpWK7L0rQNR?=
 =?Windows-1252?Q?OSxqCB6TAI51u/KsjDnStQ2EDtM7xh1dlIZekMvD6iaSrCLLHnJU0fVt?=
 =?Windows-1252?Q?Kly/ZShrIL0uVnIguTNC0JQT2a3i1/5SG+bx79lWNtCg6/cksFCMS0w0?=
 =?Windows-1252?Q?lgabW5xRV2hZRwp0JpnyPr5ZvSRWknTlNI6g9MQFxSYus1mGQYNtwrvv?=
 =?Windows-1252?Q?CV9+rDSuiGoFAdh+Y9Us9fhUoPuYDvVOwdvcA206WhGnPlqparuNbodx?=
 =?Windows-1252?Q?a93hf6St0HtrcE89TkLZ0WDziGcX6+QCxt2iJdsAYXtZzbfvipnI8P+9?=
 =?Windows-1252?Q?x0kD430N6ux718pO134uXIdKHeN4pUMAM8viteO6QDCbTW4u/2O9PPlS?=
 =?Windows-1252?Q?sFS+lYrFHG4B27eTqeIhG4YNmfGVXqEZiSztGsZRhyOxU5lRrCySXxZN?=
 =?Windows-1252?Q?vJ/L1CH7S1qBsXop2X+wQJuKmtbdos0ueh4JqifUJBC0ORsRmE79q1DM?=
 =?Windows-1252?Q?akH05S5OP4R5czuvoI48Wcpx3uzQgVAjwXjrNeQm4BxFZT5CN9I?=
X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1; CY4PR07MB3094;
 6:edojjwASf60NDgzBWMmQsymC4f8gBpug4u0Ydv?=
 =?Windows-1252?Q?3bC2OhYqYMn15Ihq0CZllLwWy5I/D58tGAOK2F9RvxJqW1GufmCPV/pb?=
 =?Windows-1252?Q?SH2jGzrPHXuNP+H4KBeK9MHdyaMVoBq1HoHm0rw7lhhZYVq7objWQqqL?=
 =?Windows-1252?Q?BlmIsQien/NQPIVABOCM6CSYIMJ7isnkutsb9tXBkkRv+6IvNWRvnqf+?=
 =?Windows-1252?Q?wekL24C8GeRPp34m5DVGj+FndmVjrjcmNmvHAzySUC4Yjgd8IAedSpoN?=
 =?Windows-1252?Q?bpfjuc07SI9aYX6fTtpbmHVQXapetICAeZ3XagiaR1lCg9qTUBRfL66D?=
 =?Windows-1252?Q?0InwKINvmII2X6dBPOtcR4BvHTl0151dQCWWGiTmH6fmkSZViFEx7gGp?=
 =?Windows-1252?Q?YXgFK1jIYFyMx//UMtEKe5x3do8wh8X6J93Rp6568ZoT4MBeaCPwu1M/?=
 =?Windows-1252?Q?O6EVoIza7b36t15ed8y3Kf2ns+dwwtN0RiBj9qulrflSEz9jhyP6EKtT?=
 =?Windows-1252?Q?3hpnMuTMxHyauTpjQup46JlAmL94LBT68aUX++i4JwD+4X/263HGyXUs?=
 =?Windows-1252?Q?M85agrCj2Xf1cW+qEg2xjf6TXX03zr/s4hhuUSMlPJXGiMJ60Isy/Q2r?=
 =?Windows-1252?Q?lpqB/12rgYmEax9I4MXqfuPCyFtoXMUHQR8J+VonFPEi0vTNz/XljdM7?=
 =?Windows-1252?Q?e3Asqb4ATTfINxX+Gaay/2u7NlCmGQKL2mhiDUzBmY+BljzWjrAv2rm8?=
 =?Windows-1252?Q?skL6vdrtVWQXYEFxjv1STut+5I/9B4HwBvKE/rqQLMDHZAR0z52HeJQQ?=
 =?Windows-1252?Q?sbc6yCWg9ng9yd7qlQ3siLGJSA4cV7b/GkUrtUksUstiaRtV9kPNVkr1?=
 =?Windows-1252?Q?3mfZ9/t9B8Q/uA+HoaoZ/K5cMU3nh5zr8y3qo4+fXMuLkBcbn32BYsst?=
 =?Windows-1252?Q?JkcsYyZvuRzV8/PZrDh4IxMwQXhr+3rvy6qIGaDcSvvoqjLjtOq0zIIK?=
 =?Windows-1252?Q?qCpQxXQNVgKAHdYZ/LXM0Hubt2NVtLEakNO6/F2pygaz8Gi2+zjWxgWw?=
 =?Windows-1252?Q?zkxmToBqnn1+0=3D?=
X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3094;
 5:5MT+vlLapHAxt22IJoPflp1BZMGMx9+YifxhPFVw6vsYc00gaK4mpx1x0ci/mw92teAJ7dc6HBV0RQ/CzrQQ1qZkubbId8tBmbHxkF5yVfVMWOybMg0KPtbGVMXcUBG/Krt9Me1xyUSr+Tr6z9RRb4bRKLt4gd+P+HpQz+nqm+KPqVsTz9ZWRQQWZADpH+Ud90j3PR1IFdD/XQO1xd5075xvtyp8h4ENbbwuqrty5rXTmckG5U2rXkA15MiiXA3F5Tw64JhkIvvhsJ2D9CgNupnXYqaRsETMEIa3YdFN6V/4BOw0/HfWbJ4YlTjry1BnxzYVRMljY4AbEP3ezBIhu+UegfZv9vX80wgiHnR6VV5coeenz5DzIXtc18Q6uLth/v5ChgfbHTy8Cve46mDxhVXjfdf7Vk/hs/ob0F/emVtEKpy+/HuWGnDipWjMLcGbWAOdRnebZNXWXhzW0iHuhNlpvJ7fy+NVffGGqlBnar5GWUuA9mP6hCh3xhFJPkvU;
 24:eM0sy7inddzlelXdDtWyGBPtrVsq3vtX+sHGI56HvkIufZpaXFcXvpjHZMzaIYmyWIdmrS4N/6icEN2CNFKABWWEOPb7EUJaFU8lxfzDY4M=
SpamDiagnosticOutput: 1:99
SpamDiagnosticMetadata: NSPM
X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3094;
 7:yGPTy4WfMxBxCVNZdrMCC/kFXDTcE+65jolDG4/pPXEtwkyVgePQgEEaaXi6Wia229cVzjWCEWGisj9y1+J/kT4nE7NeBggHBS9ghF5XRcQgvNCf/pmtX1gni3ojfJ+bCD1/E0uL5D4rKYnUvmQ64wS1t3kvsyI9PbA5+6DDFz4+uc3vhcslaBCtWFwSD+IC0zY20giOxejTyu6KSfalG6tVFaOChti2EwjF08NymsfEKzpuaM6M/o9rr17ItG+0p9+3iyyBowBZKFh1VP4tTped1tNdkJKnVokklQq/97uuDSQh4x8Ek92RFY1abrGHQu28SawL/9emQ6iWpv6umfeOMmBwhpJgzHFyNBgEAAtCJSm2nICav1sX/E5xmmcwMytRBIQyK2ZxEolzJWwN3JcdwRdRG1nyf2X/6fuFljowQ05vSk5fdOmJwSblewvzZ39DBE0FrO1ChDidkiyDNoi73ZminJsu336elBxacykRY4c6KpaeBJqLab8kCuHqOxXDiJ5aNSEBIPzPJBa0BZdTBFcU8/P3cFyDDc5mhF8Qb4iP5pjiWQCi0kvfmNMjfTrIwMj/60XeI0WlEILyqfa3fpMTcJVvl0TWVGzCvrMnCBCZK0xODqp0Q1JGKokOmLLH6w8pKu/BnQaudTSkWTHmDeMELL3npbgLUbndeQHYKjMwWvJpjPdDeQpQoWEjswuAVAOFsn77mjKyTKmfRPnIiPN6sdPxMqwCK0ug92p+ZsQCgzOd/IOcAnp8432PEop/ta4srwYqPKq12KO6S8TghqzBh8diI+9oGgXLDgc=
X-OriginatorOrg: caviumnetworks.com
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jul 2017 18:25:35.0105 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR07MB3094
Subject: Re: [dpdk-dev] [PATCH v3 07/11] linuxapp/eal: auto detect iova mode
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <http://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <http://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Thu, 13 Jul 2017 18:25:42 -0000

On Thursday 13 July 2017 04:59 PM, Hemant Agrawal wrote:

> On 7/11/2017 11:46 AM, Santosh Shukla wrote:
>> - Moving late bus scanning to up..just after eal_parsing.
>> - Auto detect iova mapping mode, based on the result of
>>   rte_bus_scan_iommu_class.
>>
>> Signed-off-by: Santosh Shukla <santosh.shukla@caviumnetworks.com>
>> Signed-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
>> ---
>>  lib/librte_eal/linuxapp/eal/eal.c | 16 ++++++++++------
>>  1 file changed, 10 insertions(+), 6 deletions(-)
>>
>> diff --git a/lib/librte_eal/linuxapp/eal/eal.c b/lib/librte_eal/linuxapp/eal/eal.c
>> index 2546b55e4..7b4dd70de 100644
>> --- a/lib/librte_eal/linuxapp/eal/eal.c
>> +++ b/lib/librte_eal/linuxapp/eal/eal.c
>> @@ -799,6 +799,16 @@ rte_eal_init(int argc, char **argv)
>>          return -1;
>>      }
>>
>> +    if (rte_bus_scan()) {
>> +        rte_eal_init_alert("Cannot scan the buses for devices\n");
>> +        rte_errno = ENODEV;
>> +        return -1;
>> +    }
>> +
>
> The original place of the bus scan was with the following factors:
> 1. The bus scan requires the VFIO to be enabled atleast in dpaa2 case.
> (VFIO code still need cleanup to be support non-pci cleanly). I tried moving it before bus_scan, this helped in bus scanning.
>
bus_scan should do scanning, device enumeration, detecting devices and 
interface that device bound to, that interface could be VFIO, UIO, UIO_GENERIC etc..

PCI bus scanning (in eal/) strictly comply to what I mentioned above, thus
aut-detection works gracefully.

However fslmc_bus 'scan' doesn't do device scanning, instead It call vfio dependent
code which ideally should fall in 'resource mapping' category,. ideally should
happen at bus probe time.

Example: 
rte_fslmc_bus_scan()
	--> fslmc_vfio_setup_group
	--> fslmc_vfio_process_group

So it is doing _setup_ inside scan ops, which in PCI(/vfio-pci) case happens 
at probe time (`vfio_setup_device`).

In order to benefit iova auto-detection infrastructure: fslmc bus should
do to two things:

0) fslmc bus scan should look at /sys/bus/platform/drivers/vfio-platform/*
and find out that devices bind to vfio-platform or not, if yes then update kdrv
entry mentioning interface type example VFIO. That-way flsmc bus gets capability to
inform rte_bus about IOMMU capable interface. Right now, existing implementation
don't have means to inform rte_bus about his devices like pci_bus has!.

1) defer the vfio_seup from scan to bus->probe().

 

> 2. During SCAN, the bus may allocate memory to devices or for it's own usages.  rte_malloc or mempool is required in cases to support multi-process environment. (e.g. dpaa2 create dpbp or dpio device memory using the rte_malloc call).
>
If bus scanning adheres to device detection or enumeration then rte_malloc/mempool

not required, Example eal/pci bus scanning.


And in fslmc bus case: if vfio_setup deferred at bus->probe time then
bus->scan won't have memory dependency.

> Since none of the other rte library (mempool, memzone, tailq) is available at this point, it will create significant restriction on the bus scan.
>
> We will prefer if you can re-introduce the "iova_mode" and allow the application choose, which mode it want to run.
>
> This auto-detect logic may not work for many buses and it is going
> to create serious restrictions on the bus_scan code.
>
fslmc is only bus besides PCI. Auto-detection works gracefully for PCI-bus.
Can you give a try to said proposal?

Ideally vfio-platform code should sit into eal/vfio like eal/vfio-pci is.
Otherwise it will keep creating problems for new generic framework like we're
discussing one.

if said proposal doesn't work for you then I will re-introduce iova-mode as
eal arg, that will override iova mapping mode. But IMHO, eal arg should be
intermediate solution. Once vfio-platform code properly re-factored and merged,
We should remove those eal iova-mode args.

>> +    /* autodetect the iova mapping mode (default is iova_pa) */
>> +    if (rte_bus_get_iommu_class() == RTE_IOVA_VA)
>> +        rte_eal_get_configuration()->iova_mode = RTE_IOVA_VA;
>> +
>>      if (internal_config.no_hugetlbfs == 0 &&
>>              internal_config.process_type != RTE_PROC_SECONDARY &&
>>              internal_config.xen_dom0_support == 0 &&
>> @@ -896,12 +906,6 @@ rte_eal_init(int argc, char **argv)
>>          return -1;
>>      }
>>
>> -    if (rte_bus_scan()) {
>> -        rte_eal_init_alert("Cannot scan the buses for devices\n");
>> -        rte_errno = ENODEV;
>> -        return -1;
>> -    }
>> -
>>      RTE_LCORE_FOREACH_SLAVE(i) {
>>
>>          /*
>>
>
>