From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on0083.outbound.protection.outlook.com [104.47.36.83]) by dpdk.org (Postfix) with ESMTP id B0892201 for ; Thu, 20 Jul 2017 15:49:01 +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=XxyAdhTNEk6RX4KKvgH3BbjfZekr/KB6yk7twHU2yJc=; b=TskKjE7G5ICJBe1KjbYhzWfpi4XCfO+N2v9S1mzr4lCbLKS0MPUFB0RNW+FOxQ9AoUfke8p2BwlCF+elCqPoC4dgINfjDbJwV6QqfQYUssRAWnnEJgDKcP2tmOO+3Trm0Mq+LKEiivM/kNGeO2NDFMr99INXbXdO+NsGOUA12to= Authentication-Results: monjalon.net; dkim=none (message not signed) header.d=none;monjalon.net; dmarc=none action=none header.from=caviumnetworks.com; Received: from localhost.localdomain (14.140.2.178) by CY4PR07MB3095.namprd07.prod.outlook.com (10.172.115.9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1261.13; Thu, 20 Jul 2017 13:48:57 +0000 From: Santosh Shukla To: thomas@monjalon.net, dev@dpdk.org, olivier.matz@6wind.com Cc: jerin.jacob@caviumnetworks.com, hemant.agrawal@nxp.com, Santosh Shukla Date: Thu, 20 Jul 2017 19:17:55 +0530 Message-Id: <20170720134759.4680-3-santosh.shukla@caviumnetworks.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20170720134759.4680-1-santosh.shukla@caviumnetworks.com> References: <20170713093255.13986-1-santosh.shukla@caviumnetworks.com> <20170720134759.4680-1-santosh.shukla@caviumnetworks.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [14.140.2.178] X-ClientProxiedBy: MA1PR01CA0115.INDPRD01.PROD.OUTLOOK.COM (10.174.56.159) To CY4PR07MB3095.namprd07.prod.outlook.com (10.172.115.9) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: ba8c45ac-39eb-4d47-b002-08d4cf761363 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:CY4PR07MB3095; X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3095; 3:EvAkIzwiLcY7o+yv8wZHp8Mlr+rb87X4JpGXYVIB6Ybij/fkWNzhSlBgW16ipHni9nUC0M9fLzAX1IDanPPse4tMaTUnmgaKtYd/4fKW3KxlOpIxbkkpb4myvyfiEr0aOC4w6ik+bMybUlZ83fJfPqZSUMavgMjIQ4+JXmQoN7PCi/v3MZ9z+obTFgHj0PFArpKf51/5I/gwhPnm21SjEbohMmm6KfHgTKE80Rdhe29y+VquVbt82JJH7iTtQy9zWMCjfUdv23uDZ2FdREfO+kW+QgxlkvH0IDBGHF5y2igKbblSbOtuVxvjlsdmsL5aGo2RwCuN51XTYl3/R0sHtcrqSKKALe5+XdIBtcNrcexncGBJEeUtAZT15/ThdYloEEFSXq/v9M4J9AuKwW7uExtwsVUyNI1dkoRH64g0nBppKhC4WOpbGHFqm2KGdvFbEgT/nE6g5rqEuu8ogeAUoLmaGzCntHAYK22P5+Ma2bu+4Dzl2vaMmvFRy1As9HF51UrwirNMi9Hy5LtDZEZf7eXYOEpDy50sqLSwUqlosP9FuXidjOTgQ2W3etQopnoPNQuijoVVL7KOkKLjpd63nIbT/MWMJDedNSYRyP7rzgfBWDgesQkN6/N3JO/5McopKIolYZQjhPF/QjQdIYunOBjS3rolGKbna4+XmuZ/6GC26imNePWdJV8db8q8bUPwsFm7nA8eSL/W7xgxpsIQpdyibalUIxQwq/9UoNqGE40= X-MS-TrafficTypeDiagnostic: CY4PR07MB3095: X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3095; 25:jIMu1UtH9ZYajy5LXVNT7OdZ77HLqF57MKkDFslbDbOMMRILqxkyeHjJ8jhoxO2Lmi58huq0Igv/d2Wcyo9FRv4kGsOSFbiFG5jYXMeS8GVW5wUN61fPZUt8viaYVe6n+vnPome5EL0VWNKbyNEVfnscitzBBXOQmVk5sbflgRXc440/fOeNi5ASE8S7SPqvYf0OLiNnP9da03w2NQ41tPDQY+mTpicqIuHLUmUam3ryJY+jG8kPyLbhVCvbw/Jx2OcA6MyiE89bJVo+B1wgy0YRG9G8p44hNYmPBLR9NyzdvvZAQJY9Z5Bn+hqGPe6Wm92GlzUmXhLg5fr/N2I20eQ5qW7VDogp45C0c0jv69heDBoaeP3MIgjBuxG/TuwDJ0tiL8ne7WXW1gUbi+Gom3mJPiGn1yOQPUyoNv3jEuJIHJtqRDG1HOy8KiXvFtS5SK5ATaU5U/xS5gethI0fHJqzH39jCX2gPPNl7G3K0cMaivBlx1Ccf72UxpGUpu82vC/gMN5sqGalo68tWr1qP5Qep8XN18UvhzLNzk91Jkbkrv5H2stXJfNrUnio8rTsIW4+5YveFAjonvNC3dcD0L0i9ZX8rNYB+0uD+DrfqFWBLVrYOwfGy5K3U9ly/uRFi4ncE15tnYFhiXB2OtAWYQXa5mM7+nVYyYjnPxqlA3aiG1TTBhL6Zfo43/73pPqyTsEOdnJsZ/IX7IGFJQFfe5V4VSz3D3PKwUMD7wZJir5/l0sLzodIzB8qpZ09UJci+agMsCcZFpFInLSQwLgtb/pR7BN8zC/EPFnfBaOsbRlpvpgCDs/t9v1Jwk/8uF95Ab4bNCTzlCsov1PmfyGCMNtXCkY6ci3Boqg56UqERw5JrZGuOSAwtU3D7MwDCfZQasyBmms1/vZNVX3PubEyKh1jRsaFdzhjDj60/I9ZkbE= X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3095; 31:8R870y/8ZSQ+2+u5MICwry/TWsz/t4zN5KED0d3di+03R1k7OmcSGJbNhX9QHOLsadXYeWEYDpqOs/ovm9+hlSkyqhuNG75NMV6nnMDVs0UQiS6inDHs5S0zf//O0OWJq9QsVFadnnPyNrNOQZW6bq0kxYO4wdaCZlUagzoX5nQ4a3XvwHjG4cjyJn0QUzqVDsiHduxXw2EQu+lEH265D8I9XB55D2JBxHz2RXFzGCJBSGVOHJpfaortVXlEpLi+k/6m4aRvRQRlHWJwF/Pw65O4G7fmJz0uSvDKkCOygQceoW1t7ai94HvtYsCnRbKBuZKFsL7AhmpfAg+xBWjQUOHoOqCZ4fj84XCdp2tXG6Am5TeJTH+ner4fiPlYRPtV5rHNfxhMW+GHKgcYR5VEIbboVNx4j3C7XXvmhk3OiV5o0dNumMETyy8gWlBkgcIv68ImHvDTFqlmdNsCe9C/oawRstOtQEbs2fDnWtJ54FtG0ifECzOYowmXBTAhc+KJPm4b4fnV/g+oHtd3/Ah4po5+l8JBE755Aix0FbKe1SVGtBYsSE2YUSsfNAsE28JcmPdlJwWkxLiT+Qi/WVVdwwHA2WVAYl7finE9DIQ2T8dRVVGyUFJmHH5de23HwtQWteTKu8Mfy+LFFrydLZf/Mt3sMCT+BKdfGCkzuioWbyU= X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3095; 20:GQALa5FkEdMwZTwpNkOJx1EcpcSDIydz3tYG3J4+esBHreB2pPkUPDeMiVFuTBjPKy6ekPFRvYPxayStTjrE1Ktzru53jUaQO5Fg8X3/EkgtBpNAtQfKTRNXy9m11/zlTvMy3IlYMBjvopyMN+rtchncHxPNuF3T2nh3y0d/GmMNH79HnsymR6ToMB7bKijR6ZFEvROWgGt3pfRgNSE0ZvJ3JsH1qHpu8su7kJ9QrpQhlfvGMoFmF3WbwB6ti4tjNqidvoUkujfo0cuBdwL3GqMYzdGmjzREgKkxJmPkc8dEoJGpN0dS2TQaMj6Y0ItdVIXtU9DjXH7fSNn2jSUOvzmCHsPJwgjXgvEQ5l5c7MoxenC4eIRCwH66FvgmQWw1pD0ci7/QeyISZPQtiMQVebsmHN3L/Aj+wTh9K5aElZAIRvlzK+PLY8qF82R+eylej4/RG49O70SgHROOJFR7SSysJt2jP4pdles0ma7uuDtQC+dGU3exGmYqvujw29MnygAztutZWvBEvJylzIQmgo8zA5ybr/eLhMSVLDuCv79mVwoNdmoGGgPMGxtxXe16nxzoAjSar2YOoduAjXz2z45i56/63U0SChlDYFh1Ee0= X-Exchange-Antispam-Report-Test: UriScan:(133145235818549)(236129657087228); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(2017060910075)(93006095)(10201501046)(100000703101)(100105400095)(3002001)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123555025)(20161123562025)(20161123560025)(20161123558100)(20161123564025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:CY4PR07MB3095; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:CY4PR07MB3095; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY4PR07MB3095; 4:6/q8gV14osJsHaaVcRVI4aB+bmNjQxPxEB+UWxBhP+?= =?us-ascii?Q?g50EroNiO87jTzwhfAxmSnNVhzBJxiUf4EWu7JkNBboigpy3qCoNerhdEtWi?= =?us-ascii?Q?a0G3tT4ZyxFfGlX4SkIvKTgBWnpDTlbY6XZp86cDiPob4v0FRBd3/BA+jzPO?= =?us-ascii?Q?YcbOZjfwt5KiwZmbFo3EQgpEX2VucASC8v+kV0fnxulo4e6VTZLv7k6iKrX7?= =?us-ascii?Q?6STx/nH1vTHEzforkkGDJB0frdNkfwt8/Kpz6DQKL66E4hnX22RBeaMpEx1K?= =?us-ascii?Q?GCuUaOR4bavubBLT4930ivm8iht+g5ZWLdhv+fXbb5S3ZgvGPPWw45OwIC02?= =?us-ascii?Q?XOZ8CIoM+3osdzx9pF/HvrRtCFztK4erxyEXhPNgExlxQ0rrO1h3RGIBp0+I?= =?us-ascii?Q?QiemNYGk/1TQJFfaxP7MosSD6fUfagK9MdjbPQMwVaG+3d6z+bW78FGGcdj4?= =?us-ascii?Q?HdZAKlqQ3+uvr9XsZdPci78xVIDzQsFapOMEq1VPbxPLw/cW3S+8zXjVY97I?= =?us-ascii?Q?Mjc1csILDOHPv4Mf4cyP2jISzpj/n3PNX7ckwRy8wKoi2pktLh9bAmb0kc0R?= =?us-ascii?Q?sXRWvrCRxASnbW22hmAnGA+WKsMJmG/NUBRygR90ZL2OS5BDZzsjJaGynYXF?= =?us-ascii?Q?ZJg3CHwPN/u2P/PuA6SbI1ybFNJxdT4QFyUlaSEyVKgszYzljd1vlp4rhUbB?= =?us-ascii?Q?uN5anJj2XAVLlPqaEM6HLCjYTSI4UkQCbdeJSW4A8+EJZsbizWEZ40OjjkKN?= =?us-ascii?Q?Jw35U3RAg2xUpS2IoQFEkmiECb5zvSVaDTU9iPOaMl+9/JXGOFT2lP7UmfGZ?= =?us-ascii?Q?rVflD+Q6KHwSWpJKp9iXdamTJw8cDaW59Ov92FYkVdDisyHKmOQrJHu1rdig?= =?us-ascii?Q?TeGRG73OgttqA6UfNCULPFOlBGxWJGqMWYH+n/1c6Si50qQ/Rh6urpYaOVJ6?= =?us-ascii?Q?MKfE7tM4TmZzwkyVA8VA6XGYhddi2q61DxTI4Pmy7EfhvHCrq1dN+ARMRJwT?= =?us-ascii?Q?CEjkAOnsCXJdDqHalbrUHOPUJ2O9m35wqhNfKhBXPR4nT8Y4mKTI8uZ8kKqB?= =?us-ascii?Q?SKpmxPqp/seJLfYvR6q83HLnBv3BKprmfl+H0Q0eEqygYPr19NIHzoJYZ8jo?= =?us-ascii?Q?25NYoM2D3Xm3x2X4VXiYvqefOI2sfxFivSE1yYvJbcyO8aQF0efu19BxSGcH?= =?us-ascii?Q?susVvGWuzUA6Q3cOP/U880+pjCj3FRtRboLjj6w4UzdXmIe5pPnEGqZQ=3D?= =?us-ascii?Q?=3D?= X-Forefront-PRVS: 0374433C81 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(7370300001)(6069001)(6009001)(39400400002)(39450400003)(39850400002)(39840400002)(39410400002)(39860400002)(6116002)(42882006)(72206003)(305945005)(7736002)(48376002)(2950100002)(50466002)(6506006)(5003940100001)(7350300001)(47776003)(189998001)(478600001)(4326008)(110136004)(6486002)(5009440100003)(25786009)(66066001)(966005)(8656003)(107886003)(38730400002)(53376002)(6306002)(50986999)(76176999)(2906002)(6512007)(81166006)(8676002)(33646002)(1076002)(3846002)(50226002)(53936002)(42186005)(5660300001)(36756003)(110426004)(15583001); DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR07MB3095; H:localhost.localdomain; FPR:; SPF:None; MLV:nov; PTR:InfoNoRecords; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY4PR07MB3095; 23:I9HJ26TnOYdfSqvXE2N1CsnDiaG6EC6dXMbC5sia5?= =?us-ascii?Q?w36LT4s/gXl+iwqaSSul45BkCGf4hOqk00YFGuT7cBoEhlYysKFVj5fdNOd/?= =?us-ascii?Q?aDRDEnfIfxRP6zmv+/yBk2O8i5O8Noj0JMOVtf7Gw2kwzx5xpPKVo9XbBToQ?= =?us-ascii?Q?HG7Qzyn9zS5oBXoGQcGR30IGor+VJfiirYPJdPONTG1bQ76qO2PcP28+Erm+?= =?us-ascii?Q?ga2IO2NR7f97qmJDCgyFXGRXpHmOGJgPV4PZlA9Tik5ZW4xWxvwUBFkwjQze?= =?us-ascii?Q?8fXhjFE1kT2kl+qSnAlPADBWx5L7t92doRdnlQpliDtAmUvoj1MXPcnPQGlL?= =?us-ascii?Q?F74PsMW8BfWGp4A28MjSgjTSu6K+SzX/hze6A21qN0DApU1JxARVvTwybh4Z?= =?us-ascii?Q?OZ0Ua2e15FAZkRhs+9/9EPBEwYvYAqF8zfn7+uUXypf5z+rdbLsIaO1CqpjE?= =?us-ascii?Q?zWsyDzDRe20+qS1AmBV7ptvyk0GSAJO7kzb+Ujt9azCqgWDcmcHFdsavSLXx?= =?us-ascii?Q?q6uKroySoWd84h3iWU30kznQvTUj+VQNvjAnsugOdw5bbosXWYCzzQcqV9c4?= =?us-ascii?Q?bvg7lR5OorfXPC1ilZGhOO021a+K4TTHdqCBhoRD53q74AfdOWZwv5o6FP92?= =?us-ascii?Q?Byy+WSdjaCUkMLf3eMx0UtvYtczociTbfpou+a5yhZXo+XCeXTrFeSZFFgzQ?= =?us-ascii?Q?Cw6ZZZGq8EoA4T9/sTM5Gg93uhxYTD3lKbdVZ2rrfd8YlHYWM9yh35lrVJRn?= =?us-ascii?Q?PocsAuyVJWJOYlyMWB3/ZNeRx44BfdaH5BrH22kANvefH1poy5WcGrv69kNC?= =?us-ascii?Q?Qof5rg2XeA69O0Vzn3QR3ooSy7517t57CKmt1cKQnyWMMdxpU6CdbKUxycIp?= =?us-ascii?Q?J2zxl3EgN0x3Pz6CpP1sZLmD7Nb9XUtPsvV7KskI87qKjQQDHcorcY6cNcT9?= =?us-ascii?Q?Hnc0KShjomnELd1faJSwmQt/1mRU0Tt0j1aethUXWf7iyBzsK2HTq/UPxADp?= =?us-ascii?Q?Wyek951u8cMEjxr6zpUq1/MhT5KXwPvqqmSmHpCWrEqfik0Z2mwSFe/UTA/N?= =?us-ascii?Q?9+V09uxejqLhpKOFq2NoM/5ZNIqEI0fVWmiAtBjoYT5XAVetW9woI1G8xZJo?= =?us-ascii?Q?aiOL9QEgmRBYuyMbVGWskY3u5T1KdAL0SChFsIsB4WdRheE9BwddWlLU83sJ?= =?us-ascii?Q?Pw1wtQ4GLLzfOBs7JYBOtRY9W71XmggjCERiCoVakvRidvBOtsjsl5++0a6S?= =?us-ascii?Q?tefKZKp8GWRmEJ1GPDWMBSHhE7A0fBgoMDvy6JdS7GpvbJlr+Q7Hcx6mKbIo?= =?us-ascii?B?dz09?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY4PR07MB3095; 6:nofIwC7RIZcybgeOANaECDlhskxm28avJA3aR4Mcf4?= =?us-ascii?Q?K41BETdNAtQgDVretPrZu+L0GpNL0JtpuqwITtRy+Ph11cTy04C6cAwLlgB/?= =?us-ascii?Q?QGgRW/QdgSvY3Z3fti+d/FCQQkRZ6lTycBsKCV8O2La8ueoHCZjD1IfxJvLv?= =?us-ascii?Q?a4YoKp71Jf0sO3Gr4bJYu5zQM1yFoCPGyUIuJMa2uIaabYN9oXiOF/mgpgaR?= =?us-ascii?Q?DHIDhUVItMpq1XU10IymV5GL7V6joG/8dQJN54jjFVOe04DrEB7qudWVFKlI?= =?us-ascii?Q?nwaf0YokRt5/iu/HJVjrTg7KhmrvMH+o5533vr6I7lqpRBEJNpuUxsqUAIQv?= =?us-ascii?Q?BYC1AGjYzeOvTA5LnaBOsXNYKU4m4x71fiA6WorGMK4eY1FsIuRmCEwqRCuu?= =?us-ascii?Q?9QK8DQ5iZeH1s+1WWpyzC/ovl2eU42Z6ufQWWvJ3e87hXyACte/pqXFdgf48?= =?us-ascii?Q?0xpAHYU5/pyEx9w/edMkMgbbtfPfq46Q4ydAt/fDp2MWwkFhCkONjdidY5T9?= =?us-ascii?Q?r7AZa8wQ8qw4S4NbzfPKJ3rlTtzriucnJ+ADmGCJvpRhStiG2GM2oHVkOB7Q?= =?us-ascii?Q?wKHlq21Ez9ciAlwfp28TzmoY6io/4CbP1uO7DeyONruWnZKrsjln/VgixD00?= =?us-ascii?Q?Mt2kQ+f+f+BP/N5f91fDudEw1S1ujb/7MCXV4z/rAFJOKRo73pH0m9P4Yvo+?= =?us-ascii?Q?O8i32rSRCpFPkzIlZT9/+tdUJTNxfS0s5Yp/K8nYpRPypJ8uvwdQxP4oFV59?= =?us-ascii?Q?xMRdm1UHm2W7qO9zB32BrFSxKkgvicvlk650F1iwc9ErgC4owLIk0c44RMvd?= =?us-ascii?Q?UdpBPkXARuxlxfU8lvaoUxxP91QGMT80ZPYStVKuVQrTDApn8a/+AlU0z3AA?= =?us-ascii?Q?n4reFYFOZnWYgoLvMsBNpq8082xHZdfQ7ZqPRnJX8FOLdcO4UiabTOepJZGQ?= =?us-ascii?Q?XXTN6jG4Zw46BvL36tzw60k6vFoAZFjMteH/hstPZ1NJUm7UHs823Bwpb0dt?= =?us-ascii?Q?w=3D?= X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3095; 5:Z6QFz5h4Qydas6WJ455vSX2ccUueOwzAb+74ZXBcCSQyDBXlr5h4V1DiLpMn5EsHPVUfIRfR2/pO+qN51QeozXlF7tjAITOn94M3Dzb1B9l2sGtWAQQgzTnqfeBo1+EBX4vx1UAl7js0gz9E8TzMsFX6uU2p08rP1M0+T4EzZ1LxM37XAZ8GBF/yJMUy5xPCYN5yuFL1F06BRsrdLuqgomRuFAicM6H8XpSNuZDwCzuYeW4KLOX4kL5E2sjsGD/y4zJ9tL1r0G39iuZGphxXGNajBW+I9AIJlAIb4f444e8cXauexH4A9P6ERLmJRvHOyitxM/XyePWalLk5ITC4CjzKevIapERyf3hVqMMpYTpkUupC3WpXsBOk//Twl04Da0tf9DLPUCEYMKEp4zdasj1nXDsdeRd1Gx87fHLrO2CRTgOeYt9g8AFhlr7EtAFzOMjBHp7vElLmXuN69ZuUuRq2OrkLWV49ttXOpf7vEAWIj1HINwgGKDCtaad4l0dC; 24:DiweXO2BSK2Rk7BvGoGLOo3P5KQnhsfqcgKz1kFjztoDyoaM0r6UIVPx83U9HVFuigKGa5QdyiLKc/xRb8CjAKXe9rOcdSGhqMGrJZf4buI= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3095; 7:bBplQl3lXhsbVVef8et/PF/IwZ8+V16rfA4hUOWTGUaD1k83h73XtRG/SlNmza45hnSDwFDHiLbn+50sDBIdaorXDK3cEFHoxmIX7mAl5mxEcRXr4uBJzqW3LgrUFUiAiHWTnnBflIs/pQwxic3B9oQflxvKYZRXqzCIgHrsK1jXTJmcjF6o4ZOtyYRRgy1JttkxTJolzgU9llHLGSNYJE6Zpmy00PVrbs36jdPn84iw5i+0wQOWcjyizStdx7+FzVIcxILH3GOlT7VbE8AGn753hoKZU77vGEC7MjqnSQgmz0uy/2sUqsLjm9LyQCv3s+foacyPM7cYQdRa7Qug7YC+df7E8i0ABzNQs8oLAkSGJXuh4OIXqFRSnBLyNzzgZEbBoLQdCxSIJ2Sa+hv8vqfqRKzUnS7I+VPKtS8GS0347v2P+zU13Mh2S3zxCYkC0oZLphwZpQZ8XQx/zh2a7cGQCIOz27kjDHZuZumpEEl7rkoDIUveRgMv1V6Ud7S0yI9JN3jZ+ikmoQSJJd84GI3UYKcp/KqTOUAEEi59oFBSDgmYgq5WXAXPuAdjLyTTV7ycmDEnDLG+jtjOe5ODPvuM7+FFrAvw43/SwOSNFVPFIVTKuwZ8QZgZ/K6NlgvExCU/6mwpts6p7YkPYSZIAglNCQ27R5sGi5ZLtEBuAIKUnuqXTxuwsv6jLc0qBcLUW8FxujyxJgBE+3WmLCKM0/R7q44RnpZe/VaE9MbbsKxnvyaCV3yeqeXKu4Tb/UZBMyBtGPAQIFG4p/etan7GgzECWKI6EGbBGRDVdl3gboU= X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jul 2017 13:48:57.8379 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR07MB3095 Subject: [dpdk-dev] [PATCH v3 2/6] mempool: get the mempool capability 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: Thu, 20 Jul 2017 13:49:02 -0000 Allow mempool to advertise its capability. A handler been introduced called rte_mempool_ops_get_capabilities. - Upon ->get_capabilities call, mempool driver will advertise capability by updating to 'mp->flags'. Signed-off-by: Santosh Shukla Signed-off-by: Jerin Jacob --- v2 -- v3: - Changed version from _17.08 to _17.11. v1 -- v2: - Added RTE_FUNC_PTR_OR_ERR_RET - _get_capabilities :: returs 0 : Success and <0 :Error - _get_capabilities :: driver updates mp->flags with their capability value. - _get_capabilites :: Added approriate comment - Fixed _version.map :: replaced DPDK_17.05 with DPDK_16.07 Refer [1]. [1] http://dpdk.org/dev/patchwork/patch/25603/ lib/librte_mempool/rte_mempool.c | 5 +++++ lib/librte_mempool/rte_mempool.h | 20 ++++++++++++++++++++ lib/librte_mempool/rte_mempool_ops.c | 14 ++++++++++++++ lib/librte_mempool/rte_mempool_version.map | 7 +++++++ 4 files changed, 46 insertions(+) diff --git a/lib/librte_mempool/rte_mempool.c b/lib/librte_mempool/rte_mempool.c index 237665c65..34619aafd 100644 --- a/lib/librte_mempool/rte_mempool.c +++ b/lib/librte_mempool/rte_mempool.c @@ -527,6 +527,11 @@ rte_mempool_populate_default(struct rte_mempool *mp) if (mp->nb_mem_chunks != 0) return -EEXIST; + /* Get mempool capability */ + ret = rte_mempool_ops_get_capabilities(mp); + if (ret) + RTE_LOG(DEBUG, MEMPOOL, "get_capability not supported for %s\n", mp->name); + if (rte_xen_dom0_supported()) { pg_sz = RTE_PGSIZE_2M; pg_shift = rte_bsf32(pg_sz); diff --git a/lib/librte_mempool/rte_mempool.h b/lib/librte_mempool/rte_mempool.h index bd7be2319..0fa571c72 100644 --- a/lib/librte_mempool/rte_mempool.h +++ b/lib/librte_mempool/rte_mempool.h @@ -389,6 +389,12 @@ typedef int (*rte_mempool_dequeue_t)(struct rte_mempool *mp, */ typedef unsigned (*rte_mempool_get_count)(const struct rte_mempool *mp); +/** + * Get the mempool capability. + */ +typedef int (*rte_mempool_get_capabilities_t)(struct rte_mempool *mp); + + /** Structure defining mempool operations structure */ struct rte_mempool_ops { char name[RTE_MEMPOOL_OPS_NAMESIZE]; /**< Name of mempool ops struct. */ @@ -397,6 +403,7 @@ struct rte_mempool_ops { rte_mempool_enqueue_t enqueue; /**< Enqueue an object. */ rte_mempool_dequeue_t dequeue; /**< Dequeue an object. */ rte_mempool_get_count get_count; /**< Get qty of available objs. */ + rte_mempool_get_capabilities_t get_capabilities; /**< Get capability */ } __rte_cache_aligned; #define RTE_MEMPOOL_MAX_OPS_IDX 16 /**< Max registered ops structs */ @@ -508,6 +515,19 @@ rte_mempool_ops_enqueue_bulk(struct rte_mempool *mp, void * const *obj_table, unsigned rte_mempool_ops_get_count(const struct rte_mempool *mp); + +/** + * @internal wrapper for mempool_ops get_capabilities callback. + * + * @param mp + * Pointer to the memory pool. + * @return + * - 0: Success; Capability updated to mp->flags + * - <0: Error; code of capability function. + */ +int +rte_mempool_ops_get_capabilities(struct rte_mempool *mp); + /** * @internal wrapper for mempool_ops free callback. * diff --git a/lib/librte_mempool/rte_mempool_ops.c b/lib/librte_mempool/rte_mempool_ops.c index 5f24de250..31a73cc9a 100644 --- a/lib/librte_mempool/rte_mempool_ops.c +++ b/lib/librte_mempool/rte_mempool_ops.c @@ -37,6 +37,7 @@ #include #include +#include /* indirect jump table to support external memory pools. */ struct rte_mempool_ops_table rte_mempool_ops_table = { @@ -85,6 +86,7 @@ rte_mempool_register_ops(const struct rte_mempool_ops *h) ops->enqueue = h->enqueue; ops->dequeue = h->dequeue; ops->get_count = h->get_count; + ops->get_capabilities = h->get_capabilities; rte_spinlock_unlock(&rte_mempool_ops_table.sl); @@ -123,6 +125,18 @@ rte_mempool_ops_get_count(const struct rte_mempool *mp) return ops->get_count(mp); } +/* wrapper to get external mempool capability. */ +int +rte_mempool_ops_get_capabilities(struct rte_mempool *mp) +{ + struct rte_mempool_ops *ops; + + ops = rte_mempool_get_ops(mp->ops_index); + + RTE_FUNC_PTR_OR_ERR_RET(ops->get_capabilities, -ENOTSUP); + return ops->get_capabilities(mp); +} + /* sets mempool ops previously registered by rte_mempool_register_ops. */ int rte_mempool_set_ops_byname(struct rte_mempool *mp, const char *name, diff --git a/lib/librte_mempool/rte_mempool_version.map b/lib/librte_mempool/rte_mempool_version.map index f9c079447..3c3471507 100644 --- a/lib/librte_mempool/rte_mempool_version.map +++ b/lib/librte_mempool/rte_mempool_version.map @@ -41,3 +41,10 @@ DPDK_16.07 { rte_mempool_set_ops_byname; } DPDK_2.0; + +DPDK_17.11 { + global: + + rte_mempool_ops_get_capabilities; + +} DPDK_16.07; -- 2.11.0