From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM01-BY2-obe.outbound.protection.outlook.com (mail-by2nam01on0080.outbound.protection.outlook.com [104.47.34.80]) by dpdk.org (Postfix) with ESMTP id F1E6025E5 for ; Fri, 14 Jul 2017 10:30:51 +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=gIHvGEt39RldW9/1y3tE77I6RrRcSiP6QkACIGBqeKE=; b=ajeL+Ef2+zDb0lm/fhLNDgsPe0i8fDnCQe+QBUMMkt1KrYPIorPync5wxKGsOjdcSwZsbEUA98yI2zJ1wZouzZyr6qREzRXkrifOdd03vU8t+OWc8d80tJUuBMdFfgjIVPzYX3D/pw90r8b2uEOH5x+1TiqoLhFc3lMDRhVBtu0= 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 BN6PR07MB3092.namprd07.prod.outlook.com (10.172.105.10) 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 08:30:43 +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-6-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: Date: Fri, 14 Jul 2017 14:00:28 +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: BM1PR01CA0091.INDPRD01.PROD.OUTLOOK.COM (10.174.208.159) To BN6PR07MB3092.namprd07.prod.outlook.com (10.172.105.10) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: e413c0c9-f5e1-4b90-0006-08d4ca92a041 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:BN6PR07MB3092; X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3092; 3:dCYlsSFVT2Uv6jPmQrXp/4nr9j5UXbQs5aah2RXIUq76xeRKsnajoXkv74pYcORIq0Kgz3iATJwqg89x76jS4hzT1PzpiLbxJugOJ32er2FezeALeY3zrlyLhZ14AyHOtmEbrsvaHjMPkFZnYO2SxRKdlqEE8CerGfsmHJptrGDqLGM8BuXBOlcxKmugyo5tAWdIXNFAMJVTWyEGszYKoBBOBQ0N6RRMTwYe4NmDwH7y33uYhoTJ8m/BprRsN2HT3imQg3XDNtx5ulKh0NBRq4C3Tgh2NP7XsxqWUNHGq18bQu9HPmI2BXzXyl5V7DEt38uyJcKnkO7UslTv34+GGrR7oRCBtxBw6yh3a17odx/t+Cybf9TVSBhT5TN37mooFU+t5JqBkSkk4Kg7NGXNFQYbVqZyhyL8l6ZMWJPT3nxThAH5Vf4Slz8aG4YizsTeluPn/8b0cof5qCG7U/Jy2XF5eGk/mQ1SrQLXRmyABle53AKLxqOrzpQL9g/sTnV1n+IT57V7SISZS/fTvt8CUeNmDveBqHZeggQGr/8ZB+LB1V1HBjRzQPQwZm9prLCYF5ePTZ6vxN6FrYVZ3ECr1IkObseRj8pY8Koq/CUwM3LweDUEyw5K+yEv60RmLEjBzhxCw0rZ2B5GkPPD3qtcFwkJ4CgDqgt/pCnzj+AQ6O/nxIxoeNge1X+kUXhDm4d5Qmz8ekxr6DZ+pCqLbFPd9EZcri8qEEIfu9vLVA5ap4s= X-MS-TrafficTypeDiagnostic: BN6PR07MB3092: X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3092; 25:7eNpeIkOn3+ctKfbdRkE29A21RCFI79rlxcWgl6LlMTE6LQa/EtYiJDs189Wr8WjeA2Ltva/nlUqwifWBiy7oNd9MFjTf0AShdFWtOFcONSNczccsxeRobfB0pqiItkfpUJzYqZiIZoyO2XbRQiuhG/6zFmUDzH5k//FC/20qJjxP8mQ8fjBJ8JygHFF/BTdZqgnpj0nMqWUHBjvdaJRqKuDCLaiIo1iGkagclHyYHUQpNpv3uorMMUwHHBUMXlg/++Xx86S7XZfrQuBPsPwfYsVhyE94wNgcwnIpjrAo3O2n2jnHKlXEq1Lh3O6Xam/wmfCMumWOMiP4NhTD2j1FptqrT5gV3V94ZmjeoeuNdPEq2L6AdVqNskyJXvbpzfrhqsORIj379TaDEQb9Kc/n+FTooDX9cO5nM4+GazY/FTM0m+2w3UlFXhogBJGgRgFW6H+x02aLFSofeoRY2R8TaIIN9YXZuSSM/HFU88Led+mXL137bZOdS8bWRVoQBzJPAZIiNG4eGeiGnOus3jBC1hc/CupQbmUh2XygKJDZT+HwECebZ688fn4x4n1JkGBUZCoMQWMPFdfTJev6p63PTpvPb+1n/h/h8/BeKgoumC/M528NmLIlHiEqf56gapx4tCMkIr2+cYyraT+w36ykIIlE6QwtBUcX1SZB+X2BvCNPfIOX7ThTVk44QK921TrRhGbC6VoC+zt++PThN7GJIcSMtEikACHAjdJtbsfjAYq/3ebJNdnAUl3UP+2aDwXNIYH52u2hmadFttF2xBIUlmeXjTsn+5uPHokPYbXTE0UPf0JJm0AobT31KxxoGa7opuM8MWqHITx8HVdCj8Avley5SP0oPTEgJh40PHNa4A9XFjTYHyW0GNOfLfVrUHwxJpCvVjbod4vvLsMSnKnp6ekr0Fbu0gC9icHSbNha1A= X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3092; 31:iTTMHOIKE/D53TZQdovx+X3uk6bAL2bck6XM+QnRskj/WT1RP+DmC/mtzeItN0SYzT4iUzjJ4u05coX58sJ2mJORr1YB2TFbnF7fE0kUfte4AcYoj6mVcJwVVOrf9KwLWm3Wap94zwSmxmdg2NjgeU45rfKZ6Et/Dhs0B3iRy08JCCXGjEjTQdiV9cMy0N6dhihMS3MRBlEIhH55FYNLCnBD58Gh9J8/QfaIvNZvXQfv2aylT/2LnKBo6Ja66l0bW7rgPcoIagvbkC4Lgi89AARz7vYz7NeZeAvf2is2BlsahB3EUDtqI60GU0G0uMms25Yljd0kskpgttlr8FgNaaJ6FgDhfy0OJx1LD9nh/0XCU7fgf6Ulc9pQZHINpW9KL3GH508K2vzcrYt3F7dnlLyu9Fhv54lRWEpPC0+589cmGkGETZNJLGyO/vDJObKFVFAAMH54e90GZ+EgQe2urd6Um6TWedkOLa4aTZAWfnHnQuNXrP00bRCFi65g8NHpa8/oVWElgYncCpCq2XU/C1ffJhrpRr3X4FRcTnpfCQy0wMuL4R2Bm57BWoCpW+z5zCuAcOoJlAf3BlPZzangR9ypcwCcZ0syx6y4d6NvoWfQvjHL0cixaqxA/9I7dCzmdbom+o63FeQAW63yT0QPH6vMGHsIaxn/l3TXzYbjDSI= X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3092; 20:NBb4MEvs0FwqAkK0b+l5igUVhqalrWD3+6xjo++Q1JA11ufyNS3dALVPpd/RK7jhFgzrzCe8VuoP12dzPrTrk5PPd0IRJ0oKUVgieUsMlPwMIIrMFcrGosPLFKH71IV4Ve1017pw+WPZAHeBVmg48Say1VJzNcMIkQkA4m2DhBrDCI2QSi/l4Vl8+s3XfPqbhCnzrCAZudMX//78l0kQkQgCkQ7+Yfi0JUzEa00pbhCauOiGrR3sXGrdRLzcW/4RhHZ6Q4ITF+/78zFjfxZ8zERM5OLTz6ST8jGtJzT6ll+ojmoAzldtradXUZliNRGDuIkLoQPv1HOtQxbug8W9vR7nOs/lculttQXeYINB1fJ5zgj/494hk2//ReBXz0kTsX6rV/Zh4vjuxfUBEEdPDpYorTD0KJSHmlxjfGuC6izqrFvRB1nwWZucPiytaUyB12L2zR1wnhB/MxX/VcY8aXMt6/Te939dzymu5ZAZMsyrPUPx7k5GQ0F9+BIxpl7hLOKHhGw7sxoeX94PnNIaT9am2ODeIhn8u+S1VBEMgxIkDui8dXMPqB9o5vaGA+8af6zBvfWu+GWdYe+FnhM5bagYV/HyJ5z8/aFKHxPfQgQ= X-Exchange-Antispam-Report-Test: UriScan:(236129657087228)(48057245064654)(167848164394848); 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)(20161123558100)(20161123560025)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123555025)(20161123564025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:BN6PR07MB3092; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:BN6PR07MB3092; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1; BN6PR07MB3092; 4:z6907lm/dKHytlp7IXf1lwU/q7+EtqaNRiePuO?= =?Windows-1252?Q?3Fu7GonqtJdCuhKJbR8fsvre+Ptobf/pmhmKqiNjeM7pIQGDAoJ/pm4F?= =?Windows-1252?Q?nXZrNiLPDcszbaJ5Es8ZLUVh+I3pHPzca8xOC//loAA8hYgJB5Jvxl1n?= =?Windows-1252?Q?GWrwiUdHp3DeOinq8m29+JeW20q1AMxsXSrZ14oMM+BGkHEaUpt20I7i?= =?Windows-1252?Q?vFOolPilkvHkBCxzY7WH4n7oNoq9zFJOF2Op2nz1W0LF4NHWBZutGZN0?= =?Windows-1252?Q?066tkSIDApN9te6LFsTsiQDYYSgVANbwrcFT8rncv9pL53KhfGFtuRtR?= =?Windows-1252?Q?LZHGtuzFaii0IoOR1+1cOv/NOwXZzyBCYLymcLwFuePVVxwmiJWnqgD5?= =?Windows-1252?Q?uBYXGGJdTky7vf8nYUK/7bbBN44s+M4zgaLVNeb91Hai54Fwky2r5hKr?= =?Windows-1252?Q?uYmFOCjBpDjHT+BMXlzmBJxX+k62ElQ3JKsr9ajqjwJMxedQPez8gzdE?= =?Windows-1252?Q?1EZ3w0eMfIUUPIfFKe6GRuSdBHgNNLuTkaUXYfA4UM0i2qGrhErMxFUF?= =?Windows-1252?Q?yJkIkM6s8NAon4Spl42g60aPlfcXXm87iy/zptEZD6JKPKSNK3s6+Z0D?= =?Windows-1252?Q?azKTVF2Cdizf0cfw7tqptGKt3tFqPllKdm7xNK8pikAja3E9IQCKGI8W?= =?Windows-1252?Q?3pR9zKVcHIE1M+fFucVxN2JnruMYfIB7S5pC0CnIC9Dzkr6aoqTefi2C?= =?Windows-1252?Q?2tc8We+Y+XLwzCxrZrUvOl1IE9WodG5Y2zLE5TQ0E0d3mFTojnZgZ/U3?= =?Windows-1252?Q?/psY4ZUtHqKowrNSE/ynZxsKcw/jlRZwS9XDZ5UqOxa5ZnLpSzuY/WOy?= =?Windows-1252?Q?0/E1IID2OtbDxNfBzR0HHTPc22UQnvC94CauBYztysnAa3UkF2J4GF7K?= =?Windows-1252?Q?/vCKwy0SDnWeAVk3C4+G3QMNJlk0bT26q1zaeCDrmL5/e0MSE9b1/kMa?= =?Windows-1252?Q?6d7xT4PrBTNT0td8duftQWjsASHkESbPM7I07Au2EhgdAkbVUAeAUFIg?= =?Windows-1252?Q?Mjm0VdfX8CNlzV08aDN7JfM7KUdxzuLhBQtUpqXcAGAqFQMAjtI7FNL3?= =?Windows-1252?Q?C2Bj4HRWujkF54OkProaUFjfkUqQEUQO2ttsD8ZHEy3JLgxKXi9cuukl?= =?Windows-1252?Q?2tBY7OSpVL60fjT3l0RrItX7U0McMhbTa2FIPjSRjrPzc9eIxt2JlMTd?= =?Windows-1252?Q?W7rqYLBACEZokLG4/JvvzkWXraqx7ZaLg50acXuPytD3zTNtXTgbSrSL?= =?Windows-1252?Q?oQRhoHtqJ+puE5kkGL9dO12fSb1JC/4PYuD+ILTarXdzjJWBd2ZF+d6g?= =?Windows-1252?Q?fgA+suseSF?= X-Forefront-PRVS: 0368E78B5B X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(7370300001)(4630300001)(6049001)(6009001)(39410400002)(39840400002)(39860400002)(39450400003)(39400400002)(39850400002)(377454003)(24454002)(5660300001)(110136004)(38730400002)(5890100001)(54356999)(76176999)(50986999)(72206003)(53546010)(66066001)(6666003)(65826007)(8656002)(478600001)(42186005)(31686004)(47776003)(50466002)(93886004)(2950100002)(189998001)(7416002)(64126003)(42882006)(23746002)(6246003)(6116002)(53936002)(33646002)(229853002)(7736002)(305945005)(36756003)(230700001)(77096006)(7350300001)(2906002)(81166006)(83506001)(4001350100001)(4326008)(6486002)(3846002)(8676002)(86152003)(117156002)(575784001)(31696002)(25786009); DIR:OUT; SFP:1101; SCL:1; SRVR:BN6PR07MB3092; H:[192.168.1.100]; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1; BN6PR07MB3092; 23:Df4cC77JnBRz1MsmvD6fJ4iRii4WddBwhN4gz?= =?Windows-1252?Q?0plXsieYOdhkkqguZDn+/vdref6ETJzAIIEKCPrXym1WCsQ5+t2C6/yV?= =?Windows-1252?Q?9uPAzQt9R0AKp4WRuhGUmb77FNtyfkKK7tsdSj6Bofv/qbRY0lSyi8ti?= =?Windows-1252?Q?NvJw1Ik9Rtki4cyMtnJ9dCpkVQ+3q6cBIRgP48rtZ0rN1lY4huUTxOnq?= =?Windows-1252?Q?cbHxmLB6DoHeka+ueheWTn+4Ls6IeU86VP0gybSvOH2b3+eVOPOpxWkr?= =?Windows-1252?Q?1B5JJnGjoIkmN+TRDPU8Fmrg/suT7rqX/LJcpHNYbDrKIXvJAN6V6Lxp?= =?Windows-1252?Q?ONtpZDRxD7no94FlIYt89LYVJ72ufVt/UL4f5/oPd9Pr6w6tN/3cFLiU?= =?Windows-1252?Q?k0xI3r6XvkhNVgzrokIfHAIfcqYyI9S9dzdjwA+YhZbTwW4qgt7uzLfe?= =?Windows-1252?Q?eiZ6g82qjDO1/E/Dei8NAk8nxCQLYwI7cyjmaSsoJ2MosKIwsQ/3jjtg?= =?Windows-1252?Q?PKAjpcjvB92m1nfLWo9RKoUmygrX59vsxYkp6Wto/cyXKlxctcmgcOCg?= =?Windows-1252?Q?bHqysjQuWlVpo1ag7r/GPns41u0dymwLa7cLREev/vojH23DSXh2J8Qq?= =?Windows-1252?Q?YEYgdJ7SrVqiVbSqHnZus6JFJhapX18Q1u6CyM11/NzfqpJip0LTuHKj?= =?Windows-1252?Q?2j+yQRBZJIkf0seKcIP6K48sd4bOWhhLI/Oi8LtyPm67HVglQsnETTiv?= =?Windows-1252?Q?dEPxtTUF3lonxfegCfQLZ9Lc7f+iyic6xOT56LnLHbsBL39aZ52Qz5Q8?= =?Windows-1252?Q?qf6/LnSFsAzXo6nfEQ7PZdbPAajqSPS2a8DTw2wxPZJFa+aNb4Di7LI8?= =?Windows-1252?Q?0szYqziE0d13HnmHM1FnQoBWMsjSK8IFOnmbIu/+Zto65uINgZJwpWI8?= =?Windows-1252?Q?HFt3LKPP1gglCCKyTX4ahEm/dQeuWJu/8zdKC4vXrgLZKeDU0l9MQrLK?= =?Windows-1252?Q?t3h4qc2RwAhrGaVenfyMbiT3H1jcPtE8/WA2mx0D4DH3Fjqn+x3a9KV4?= =?Windows-1252?Q?wh6uNMmokI4PeRDMu4JjR+h+Q7/cX3KM/i53+RU31wy98aWv56vruG2A?= =?Windows-1252?Q?4J9ppUl7sGImZwqUVvyCOjwy6euxu4ybrZlIezaB3IP2OfMGIfmRGgSQ?= =?Windows-1252?Q?ibqMYaZzYexVIKhRkCxzuqZKXniyTIN1QFSmBLfqTa6Gs160AAJ8Ylra?= =?Windows-1252?Q?4dOhepwDjldK1z3WLXHEeOAipHiLnTM2W/VC7HBzVtXSxwjUiwGrHfp5?= =?Windows-1252?Q?fysjI4T8xMPRF8xFOiNsoYkyogUI+/iSwwllD4fN8B0V3PdWU7qLUk3Y?= =?Windows-1252?Q?OhK3gfmX5aw6Bc9k92IwV5T+vsiTdiUPYILlvyJWycJcMd96Bll0KBi3?= =?Windows-1252?Q?aBwLScquar8AI/PX452FuxkCrr52iVqLqN+RNUT8uEqKrPQQ8yjmZhlg?= =?Windows-1252?Q?oOqWBIArxefT5Soug7JvR09yMagXStD0iqxs7y7tGnMW7ZigBSoPILQO?= =?Windows-1252?Q?IfWzU+tMCcuZZ8XSXVMVXry+rNTM+ND+Kow+ALCe/hGQyGpdZVwejk4S?= =?Windows-1252?Q?0pfWS1Cx856DXtCLOu0+CE=3D?= X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1; BN6PR07MB3092; 6:Vpzj02Z5emGIqXlvOCdg/LFME2Bh+W3V91oKBL?= =?Windows-1252?Q?WlkkOa+s8aoL822JySF7tmVzOSq4fPo71UWYtr3mw6/B9PGKlHR7sUXx?= =?Windows-1252?Q?Z7a+GhgAY9DZn/fT6NCyydCMyTng1rKIJY89yDssZq/OHTkRFZsyJ9aq?= =?Windows-1252?Q?ESOKTtzRFwk7lHRM/2kjLowr82VBjI7yhK7WjpUbxHXfeIxckGVlgA1G?= =?Windows-1252?Q?o+XL7pr+y2nIe169FkGQ+0LD5qGx1TiW+5zIRyETl+LBrfe2QYwEaq5R?= =?Windows-1252?Q?I8y+exNqWxZJwgD+DtiY8y02cJh/ZHe2FP97ze3FQ+LFgZxfKWS7M9AY?= =?Windows-1252?Q?TjMLO1BLU+hTRkrulW5V2EunMqaaYQS7ardGCB1t4EgN8r3YmKXswD0g?= =?Windows-1252?Q?ZBVdpsSCT8Pq847l6frFNBi4bry96FTT964I1r3QWxtGbKJMUM5edR5A?= =?Windows-1252?Q?mxfl9sKPGE1RNsCUjSXXglmby58k6RRQ1UozRMB+0Hv4n8qnw2ll22Ba?= =?Windows-1252?Q?xcoO5WayEgqDWHxo/ndqX1pkNA0EBqKsCs4v8M3+/KpcWiWB4lFiVBGN?= =?Windows-1252?Q?BJlH9Pg5aRpt9vUmj3RbjClPIqXOJPNgUsxL5ifrcruIs1Gkp7KxXZUf?= =?Windows-1252?Q?ixIfzxwKxPG1arhmZnP4ULg8uXudCnkRmjcIcLN5g7iO8iKjL/G9/MNZ?= =?Windows-1252?Q?/TISm1eclFdNVPgL1/rHgVaE2kfkADoSS2AJksYeZV11bQCpI9HF+f5e?= =?Windows-1252?Q?qdT5mlx8Cxm+g25xQo7cT84LXZmRNTuD1NZw7Q743WSfGL+l9C/psbY7?= =?Windows-1252?Q?kQ171imnpw7lrJyAXPzDYOLCVPUiUI0w1oEDh+8wALKnV2chRpBfTkr6?= =?Windows-1252?Q?pcH+t2PSplgzvMUlSkffUq7+ZhATnGO1WyDFTpgOBPCsb1h2rYJDhIGO?= =?Windows-1252?Q?Nz+CKf26NBatBX+xtiEh9NP1cOxfpeWj+XVj78oXPyMZN3R7vL55HFOJ?= =?Windows-1252?Q?UaXXdvSeEBEwe7CUeNe/4WtsOjHaOGxKx0YTmheFPWpDveir20qwLK1c?= =?Windows-1252?Q?TieJHSirJLmIY=3D?= X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3092; 5:556DZjAW57DcJP9k5vRjfxEAepfRN0hIenq0ngdu/VeqtjFpnqXKL5G5RAKDFgaQQqXL00h3FZKqob3vg+QcHHqoHgSGWyUxSelbq11kswexLYHRN/pc9wFtvMrEGOuj1RZ28UEXFMUijvtA77RhiUhOw0rKhh9sv6bylrl9+o8RJwKaW9N9HGZZQa+nj8i+50HcutqfLcJq56ifKbp0T77mTy5n7VQM0Mkp52ReShaAvLPm0HFfz1Ze/x4HJB8ACVEPSxmrv7vh+OmPQ5i7ysIZQLqCM4LCTXxLu5QoIMhFhvxs0qDGJVxRghRo3LEqiEFeYsBdiV9WI8A/E5mL/h1X+fLhDR6U7xm0kVVa2Yn14Z8Cl12ESeQOiJP8H6Y/gCiH7ynPs5ZFKoHduYUyIMiliNPQxlMDfLP/xxMEViFUjEDNSaOXAXXXv5T72ZySxBjDBA0KOHS8xUVygKwWngZkCfhS+13Fd6W45upn8TjYZjXcICt+SyYsZ6k6G2FB; 24:6njVsfZl5QHoG5/Gt+xXazGo3ZE03fKD/F3K6UyIolAvQNztN/KuSUOqltTHVjx1F7dQCpmYxqgmXylmRmei2axOAWoXOC0SxuW6p0klAqc= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3092; 7:eXao9mN5u0DiLN/uzDCz72cRRg1wyRsO7shot+JlsVv7yH+/XIq4zvtOKYebDUnJv9kMioOLGERDTxACHL+AoTR/ZGVBY7VcQdVt0FdwR+Qswq2ScM3Sw5IY6aCEAsGaJ7wlJsHyrjPiHcWyhiOAJNSbmoH3DGjM8BEoCjxnMrhU0bJuZ2SQX+oStbmRRHzriviDMKwBjpQ75eXTIMw3j9/kwvFLlBr7B23TnlGKAISLYF/n85HOwvlEGVvfmY3IadLwC6xCPsZBuLDspV+zcrbehj9w6JJvFi5uU2tZaqvkouN7gyTQkj8l2AV8m4XdYR6QBf3ryFusCwfUolanmPNf2B0wl320LUBWOg/TPDlo6uD0emc/fyZNTIawgsGDyUH0dC5g0x6pwKfOGps5xEbjxXl93J7aJLCDLb1GkVIctwAWzXVhHCeI5BdAvwfxiEQngZFkm14yuYsTJDEsRpgk6nSedrplhpzyyO6Q112SBsKJMm2CwuXslEmdWSf5D/KbyXyehu3bFfYaC05UV3KYzjMTN1PGk3W1Vn9IKwvrvc/qZNaZj0zB4w1ucgbXKTKGg6YmXPW6Y4Lefa2fEiuZ/U+l3yyZrAg5BshzRVYplgrm5HtuGdVhCB038zrVbGnsUOeDFY5isxIeeNZHq85MDIWjZo8SA+uN/Q/YKDTC41/8Sn1X/vFjFfPNHATBdAvGh0vI9iZQSL4Ws83m6hMXoWrg5+oP2vMdzB/cuEcgE1+hmuR6M/lSNofEYscCtXEVdjYIcx2JKvF/f0hRD9YfFR3itqzZ6o0F4CaidVk= X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 14 Jul 2017 08:30:43.7326 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR07MB3092 Subject: Re: [dpdk-dev] [PATCH v3 05/11] bus: 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:30:52 -0000 On Friday 14 July 2017 01:37 PM, Hemant Agrawal wrote: > On 7/11/2017 11:46 AM, Santosh Shukla wrote: >> API(rte_bus_get_iommu_class) helps to automatically detect and select >> appropriate iova mapping scheme for iommu capable device on that bus. >> >> Algorithm for iova scheme selection for bus: >> 0. Iterate through bus_list. >> 1. Collect each bus iova mode value and update into 'mode' var. >> 2. Here value '1' is _pa and value '2' is _va mode. >> So mode selection scheme is like: >> if mode == 2 then iova mode is _va. >> if mode == 1 then iova mode is _pa >> if mode == 3 then iova mode ia _pa. >> >> So mode !=2 will be default iova mode. >> >> Signed-off-by: Santosh Shukla >> Signed-off-by: Jerin Jacob >> --- >> lib/librte_eal/bsdapp/eal/rte_eal_version.map | 1 + >> lib/librte_eal/common/eal_common_bus.c | 23 +++++++++++++++++++++++ >> lib/librte_eal/common/eal_common_pci.c | 1 + >> lib/librte_eal/common/include/rte_bus.h | 22 ++++++++++++++++++++++ >> lib/librte_eal/linuxapp/eal/rte_eal_version.map | 1 + >> 5 files changed, 48 insertions(+) >> >> diff --git a/lib/librte_eal/bsdapp/eal/rte_eal_version.map b/lib/librte_eal/bsdapp/eal/rte_eal_version.map >> index 33c2c32c0..a2dd65a33 100644 >> --- a/lib/librte_eal/bsdapp/eal/rte_eal_version.map >> +++ b/lib/librte_eal/bsdapp/eal/rte_eal_version.map >> @@ -202,6 +202,7 @@ DPDK_17.08 { >> rte_bus_find_by_name; >> rte_pci_match; >> rte_pci_get_iommu_class; >> + rte_bus_get_iommu_class; >> >> } DPDK_17.05; >> >> diff --git a/lib/librte_eal/common/eal_common_bus.c b/lib/librte_eal/common/eal_common_bus.c >> index 08bec2d93..5d5753ac9 100644 >> --- a/lib/librte_eal/common/eal_common_bus.c >> +++ b/lib/librte_eal/common/eal_common_bus.c >> @@ -222,3 +222,26 @@ rte_bus_find_by_device_name(const char *str) >> c[0] = '\0'; >> return rte_bus_find(NULL, bus_can_parse, name); >> } >> + >> + >> +/* >> + * Get iommu class of devices on the bus. >> + */ >> +enum rte_iova_mode >> +rte_bus_get_iommu_class(void) >> +{ >> + int mode = 0; >> + struct rte_bus *bus; >> + >> + TAILQ_FOREACH(bus, &rte_bus_list, next) { >> + >> + if (bus->get_iommu_class) >> + mode |= bus->get_iommu_class(); >> + } >> + > > If you change the default return as '0' for buses. This code will work. > e.g. PCI will return '0' - when no device is probed. FSL MC will return VA. the default mode will be 'VA' > I'm confused why it won't work for fslmc case? Let me walk through the code: If no-pci device Or (future) no-platform device probed then bus opt to use default mapping scheme .. which is iova_pa(default scheme). Lets take PCI_bus example: bus->get_iommu_class() ---> bus->_pci_get_iommu_class() * Now consider that no interface bound to any of PCI device, then it will return RTE_IOVA_PA mode to rte_bus layer (aka bus->get_iommu_class). So the iova mapping result from iommu_class scan is RTE_IOVA_PA (default). It works for PCI_bus case, tested for both iova_va and iova_pa case, no-pci device case. Now in fslmc bus case: bus->get_iommu_class() ---> bus->_fslmc_get_iommu_class() * IIUC your comment - You want fslmc bus to return RTE_IOVA_VA if no device detected, Right? if so then your fslmc bus handle should do something like below -- If no device on fslmc bus : return RTE_IOVA_VA. -- If device detected on fslmc bus and bound to iommu driver : return RTE_IOVA_VA -- If device detected fslmc but not bound to iommu drv : return RTE_IOVA_PA.. make sense? If not then can you describe fslmc mapping scheme? > if fslmc is not present. The default mode will be PA. > >> + if (mode != RTE_IOVA_VA) { >> + /* Use default IOVA mode */ >> + mode = RTE_IOVA_PA; >> + } >> + return mode; >> +} >> diff --git a/lib/librte_eal/common/eal_common_pci.c b/lib/librte_eal/common/eal_common_pci.c >> index 8b6ecebd6..bdf2e7c3a 100644 >> --- a/lib/librte_eal/common/eal_common_pci.c >> +++ b/lib/librte_eal/common/eal_common_pci.c >> @@ -552,6 +552,7 @@ struct rte_pci_bus rte_pci_bus = { >> .plug = pci_plug, >> .unplug = pci_unplug, >> .parse = pci_parse, >> + .get_iommu_class = rte_pci_get_iommu_class, >> }, >> .device_list = TAILQ_HEAD_INITIALIZER(rte_pci_bus.device_list), >> .driver_list = TAILQ_HEAD_INITIALIZER(rte_pci_bus.driver_list), >> diff --git a/lib/librte_eal/common/include/rte_bus.h b/lib/librte_eal/common/include/rte_bus.h >> index 7a0cfb165..8b2805b7f 100644 >> --- a/lib/librte_eal/common/include/rte_bus.h >> +++ b/lib/librte_eal/common/include/rte_bus.h >> @@ -181,6 +181,17 @@ struct rte_bus_conf { >> enum rte_bus_scan_mode scan_mode; /**< Scan policy. */ >> }; >> >> + >> +/** >> + * Get iommu class of devices on the bus. >> + * Check that those devices are attached to iommu driver. >> + * >> + * @return >> + * enum rte_iova_mode value. >> + */ >> +typedef enum rte_iova_mode (*rte_bus_get_iommu_class_t)(void); >> + >> + >> /** >> * A structure describing a generic bus. >> */ >> @@ -194,6 +205,7 @@ struct rte_bus { >> rte_bus_unplug_t unplug; /**< Remove single device from driver */ >> rte_bus_parse_t parse; /**< Parse a device name */ >> struct rte_bus_conf conf; /**< Bus configuration */ >> + rte_bus_get_iommu_class_t get_iommu_class; /**< Get iommu class */ >> }; >> >> /** >> @@ -293,6 +305,16 @@ struct rte_bus *rte_bus_find_by_device(const struct rte_device *dev); >> */ >> struct rte_bus *rte_bus_find_by_name(const char *busname); >> >> + >> +/** >> + * Get iommu class of devices on the bus. >> + * Check that those devices are attached to iommu driver. >> + * >> + * @return >> + * enum rte_iova_mode value. >> + */ >> +enum rte_iova_mode rte_bus_get_iommu_class(void); >> + >> /** >> * Helper for Bus registration. >> * The constructor has higher priority than PMD constructors. >> diff --git a/lib/librte_eal/linuxapp/eal/rte_eal_version.map b/lib/librte_eal/linuxapp/eal/rte_eal_version.map >> index 044f89c7c..186c7b0fd 100644 >> --- a/lib/librte_eal/linuxapp/eal/rte_eal_version.map >> +++ b/lib/librte_eal/linuxapp/eal/rte_eal_version.map >> @@ -207,6 +207,7 @@ DPDK_17.08 { >> rte_bus_find_by_name; >> rte_pci_match; >> rte_pci_get_iommu_class; >> + rte_bus_get_iommu_class; >> >> } DPDK_17.05; >> >> > >