From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM02-CY1-obe.outbound.protection.outlook.com (mail-cys01nam02on0048.outbound.protection.outlook.com [104.47.37.48]) by dpdk.org (Postfix) with ESMTP id 8C9F02C8 for ; Thu, 6 Jul 2017 08:21:45 +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=gGiwy/PKvGkx8R4BxrYVEbTVr5JMZ1nfMfQDXJh3LNE=; b=ooCQL8MCliHXCaMg/VPB7eH8Qzn7QMXtLyAMHYe9Wfw+xC1qwSAjDc26T2uhriDBKfB6EZDhTyY2+UzAGZBX1jqSKjIzdfqBsYd12/OGyftWsl9nerLY+AzuOcGoB1bhl6SKiGQY806eSWAkjSrh/2DYQii8TJvDnS7cxa/ePNw= Authentication-Results: dpdk.org; dkim=none (message not signed) header.d=none;dpdk.org; dmarc=none action=none header.from=caviumnetworks.com; Received: from jerin.domain.name (106.201.60.201) by BN3PR0701MB1717.namprd07.prod.outlook.com (10.163.39.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1240.13; Thu, 6 Jul 2017 06:21:41 +0000 From: Jerin Jacob To: dev@dpdk.org Cc: thomas@monjalon.net, ferruh.yigit@intel.com, john.mcnamara@intel.com, Jerin Jacob Date: Thu, 6 Jul 2017 11:51:20 +0530 Message-Id: <20170706062120.3895-1-jerin.jacob@caviumnetworks.com> X-Mailer: git-send-email 2.13.2 In-Reply-To: <20170421122223.24194-1-jerin.jacob@caviumnetworks.com> References: <20170421122223.24194-1-jerin.jacob@caviumnetworks.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [106.201.60.201] X-ClientProxiedBy: BM1PR01CA0105.INDPRD01.PROD.OUTLOOK.COM (10.174.208.21) To BN3PR0701MB1717.namprd07.prod.outlook.com (10.163.39.16) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 70eb3ebe-6bcc-413f-1041-08d4c43745b6 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:BN3PR0701MB1717; X-Microsoft-Exchange-Diagnostics: 1; BN3PR0701MB1717; 3:Gpab95/PWQPUrNqvziqtGgPsfX2uN3V/m4iNjpWJx1wdqdaVRfg6qr2TtxmShFZ+mkbBEbHGQawr6zkaTx1n7Saqb4+p1SCxAi5Zte8lwJfa22/Hg0X7tj11ZZngSZ1QQCVuYt2pe/E6IMigzjnpZEdeivna3n2wz8VqiQz/hHdJJu/9kupzVT0OoYq0l0a1RmQUaed5vTnSwH3HEXuC1AxcRgTQfToXztFGA54so7pnJYHk8w2A99A92xW4KHxQVhurmH2CBd0rqlNoo5FQIyF9ATGg12Gk8SvvHEZdlIAW6rgsS1UQcB7cwti/AyVKXfawVkzm0zDBBOcdJjm4XLA7GapjEOodO6gVGKIVEhFhPATZF8WKFmJqwo/mK6Ym4Q3D1BoMSyBcp+v6yYb6LXGwyOBzvURGHWVaN+3v/O5A3mbV7IVocwE1ZBkKgYnnIa6DI7VXHBMVzKrhEdLTS9K5XxWFoqqmxeXJXZB5r3PHGxv84EAr7lMFMA5xWCX1pFN3LyduTk1hiz0S4NDST73Ez2kctpiWclFLm8eJv3ld6Itxkh8+DUZspRRDqIR6B+Qx//ygbeoWmxu1p+FtfBeQeMzwehtVQcN/hJx4vpRygS3huP004j8SLdFRXdmfy403GM0fayj6NloplNOhoyHhqF+mI2yCIIJH60vlhT1LTyDZ29F1kd/pZH38sNHOGBD1Zuk+dL/zk2c1DNNmBJaXWyeaK3t9rloDePe2uIYAQr3cmag7DR4be0Z2SFo8 X-MS-TrafficTypeDiagnostic: BN3PR0701MB1717: X-Microsoft-Exchange-Diagnostics: 1; BN3PR0701MB1717; 25:4HqZSS7r63ntDHwhH9TAyCloidYK+mmx5xiar90/ynna1U6mgbunulyURu2GHxlmDf7C7D4C3GSGWMn4rITo5N6znR2/RHxczNr5Q/TWAXUJ4l6u/7EynGRcFHs+rG4IsS/ToVn1oS5nCr46A7CY3ErgjKrbbwg26Nd8DJjlmftB5y/bEkH7cd9DbhScpLj7sTo75K1Cj9WuGBHHzsaVgTcC0llbVdFa3pj8wBiGGKd8TBb9uZthX2CUA1AixWw1z+0wVbi3F5APwxRt9NAqy6SiWLgEYI1H7K8MCMLgTpEhg6Zi+SRMf5N+eMluw1gvssWhYnwI6AWPljm6roEdv+VDNfGbRogzjpL+4vUbwI+ZgAMhjn6gbssOlLG+f5Akzc8xgPWJ8P4ET2BtdbIMJXnnVQZQh5Cbvheh7ZkvZt05QoUH6ezp8sgdL5Hmiz3Xw+0DNPALZYq6pEdS7HpDHkhwRNZnFqt96W3I8DagmITYPVNfv4vGeeQXAC31gw7lY8wpeumsQCh8I4Ec6sLaIBfIBOR0UI47CR7cK7FJEIyBpVZ94+iNSTfFfqmum5T9Ct8YJvF1Pg7fHMjiBDNvQ4VYTyatUAqhAnyxatCHwj2k6DNf8B9BZ3atpe7Eu6uZLAs8zRiUb+FLMXBQbSE9zmspUzjKr3iSTy/g4b1Pt1zw4BFSy1l/FRnJ/F3yEDxb8osxarnl+N6pRw0g+Tvx9JVzBzQfmEvbhDWINMZpjsU9EuK1JIgo3vOc0ls5Vg+ZajP+THruTO9T20/Tl7YXDxhkbbaniB0qPmjLZupgh3X6BADv+T+H2j1o0yRPfyjKd1/y1vj4diiLrQY1inw2BBo5sck3SoGQHPggAAiwHFvTAm3wbcYgliyi0w5ni2pBiQcWIH2qpx+7D1coEvBv16pjxviY5edn4SMq9JQ/A7Y= X-Microsoft-Exchange-Diagnostics: 1; BN3PR0701MB1717; 31:RDAJFfGgC75RdzaHETW+PgkAF4tQ5BF/6e++qx7uCgwlepU8hoaUDGgu+kXm5DLT2F2tyME+LlAAyCrACCSZCbN5bM0LqMlUJlx2N8lMUt6TRkoJDVghVKfSKwzS7T1YC/NoeVuE6JMUVqRJxMPaDDhlO5bsJJaCDotUF9tGtWDPm1UtvrqSbf4Xxx0Lur0nYIjscDcrdkzsd6XbL1ZIX4RBXa4c0pZqW9MDZmWhWVWGc2gkABRqbAdLh8s3CTQ+okAoKcdeoLwkhgrvRIUW+boO48oPMJ+w6ZO4kx/EFnCyTUSQlfWMeQZu2DE8e7l9Iybklxyz4JasHN7YJS3jIlwcwHmyEJi4S7ptz/p3RTdITHIqrri7F+r/veDijyHR1X1zrkyjVIqY/fSvsXyzl2eo7BJfmb8Yy2uYYY+byYh1lDxehMCLfXV9iWgNKEG7x+8FYHlIfMtYuER51fPyWsm88Mm6kD25mNiRz1O04ZZaTnF0A1WPXLmrt04thkl4fwR4ujOHQFeklNwAIQaecKNTf0I5oRwef1m6O8qlxAUdGX/Twltlfe+WbQ3asSmCavBvwul1XFCElpvck7yYb/zUvVs6D7kM5xx+Jj7b2bvwF57j97EVcLWwsSGM0Xl5XwQpt7fO5s37Wok4DTnL41+Vk7IlHGxk8BTnc71lNgc= X-Microsoft-Exchange-Diagnostics: 1; BN3PR0701MB1717; 20:OXoD7NLx6TX9Pn8jKVXbCEPL1JrQSgHgjZLQTtZ9fclueZA412T7UIqE7MyFW/R23uKdYcWyn5+Q1h9O6GLbMxnrhmtxsBZdLY6F0Kgol1Ah/IHNQqXlcxI17YN9VPAGauhFLhArpd5h96TykkjnH4/yMDfBt5ZvFn5vchYZ6byEU5qdHwpuwDkf0oF8Qf+b2y8PAoVzX7Hk68jupK+XZchXcKA7n2YKjlFPIF1tbYYN83tUkwoK/D8nNs/fBONMUc+0iHDGPnsDXTLektFstpZEpQmLrwcuN5+/fZW1eWlO74PNSGbulttq1p+3eyomJTYeivaS2iwNZeKMPkNqnNcJR0nl0W0youg7lgfRgZTOlFgNGK+2D7vRA5WI8bafemfhFxCm6fnowh3Sm42jUh6RCFlAbSkoSL/1P/N9PMbwUUIJPR9qel+3ORg02hdx/BUpLEi/tsE0FwCHBRDdTMLJsE9JLZ006Qwmt5j4StshkA+Lx/8YxDah9RozmpKA+Una/68ub6wnsw6H6x6loZDVLB5Lw8xlssjsQKjAUa2zfKQ/nplk9NLkwnmIp0NDROLqspr6NWgvPm9UI0zyoTQsywkclTrtlIDpbQMYZ5w= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(133145235818549)(278428928389397)(166708455590820)(236129657087228); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(8121501046)(5005006)(10201501046)(93006095)(100000703101)(100105400095)(3002001)(6041248)(20161123555025)(20161123558100)(20161123560025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123562025)(20161123564025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:BN3PR0701MB1717; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:BN3PR0701MB1717; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN3PR0701MB1717; 4:cKF2V5Sh5LatwWGoDJXG8fMAx29XRIhA2AXeITcE?= =?us-ascii?Q?lWpHPdk0sMLLnMDSJ+ZV1GOs/rjnKmn8fuZDb889oQKE5fZlIa+XSXnqWr++?= =?us-ascii?Q?mI5Cleuxv3/iwqJaiSpN9otmq0r9H1dXpA8IokGjmVodwlHjvu/E5272vrST?= =?us-ascii?Q?y0At5jZhvZwcP+qTEJ1NCdl/OLq9SA+7bpdPrI0YYvOLaX+BoCqV/mUxobI3?= =?us-ascii?Q?x6PvN787c4YOtkOjHF8nTS/TgkgnPQ3/Q/s+7yfnt1HKf+P30MUSrpJlY4GB?= =?us-ascii?Q?TdhQGh/kgknOkQHmNN94bwSYPGx2uwf59coadOjYqsgmz2Fa2DQBCGQCytVj?= =?us-ascii?Q?vQCrOLea/dMUK6t6kPf6d4UoZQw8pbAWhNsZo5q5lCW7EF2IBBjdMMP38s1V?= =?us-ascii?Q?KXsm+fndBlOipikI5Rc/gMC4SATTHof1IH9kB5azm6iP4z3sk/tymVjdtNTq?= =?us-ascii?Q?yvvHhrufGGG5wjeStjU2xvQ9xgCwlo1kBlUEYjt0a+jayVdj7GuxuTsrS4Jn?= =?us-ascii?Q?9g2R/j0dS8UQWwafetWWjrIlOCKFwTf2IdVFGVnC7ySl7ciFxeOKWTHtUlEy?= =?us-ascii?Q?YOVW253kg5OGpysag0+4ilMCjwhh844YnIeOoksKSD7329owI2IXGRL3zrab?= =?us-ascii?Q?rKm6T62eMeIxkPRAxDe/zq4eAlnUIP1SxpDeH7L4ZzmB+7RdeApmez5bSCmV?= =?us-ascii?Q?scGyCCRkfT20CovAa6fQ0wvlP398/R7RyaxjffoB34I9I0j5IMVb98k6qqwd?= =?us-ascii?Q?3LnID/5TuvqowkCzyjIVf5JmnGQtQynzgknWowKmQTid7ximf/Kt07qqXMqD?= =?us-ascii?Q?PFqWkGy0taPC0GSYIo2W9Vfvu2SA0PyXz5D6lBKbISxhou2JIxAHieGw1xiL?= =?us-ascii?Q?ckvB+46aPEWlr4G4w24AM3YPjgKKCH6CSk+FoUxOsthvKZ7nEQ16pmWcnkAH?= =?us-ascii?Q?EGTSQl6Lh9tfMTnHztAxcI9UWTV4i9wprx9b0hFtotdoEOHSioSAFX1i63ZP?= =?us-ascii?Q?pA5WjgeZsMgZCbiAKXJeQULy65BlM9h8dD/4zz4lGu+QwSb7cZJk7+eCVq3G?= =?us-ascii?Q?CGqGTBH5YjKGGJdm+/ToKaqLit+yiyCa/pkPKzwOiFYN9Eh9UQ/uupmZBER/?= =?us-ascii?Q?MUHEEn6d561CvoCXA5sdj5DXqPHxQf8FXR7jB8PQfQ0psyKK8a4Y0pQqnw6W?= =?us-ascii?Q?yj1mCQfKoRRHkG7kMtigNeleYGsDCCxaksAuPQPS7db+acfiQDC3SkcSvYAE?= =?us-ascii?Q?ax0xxm/TjL6lchxo3YfDmd/0Ethb/E7AV2fQciLq?= X-Forefront-PRVS: 03607C04F0 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(6009001)(39400400002)(39850400002)(39410400002)(39450400003)(39840400002)(305945005)(42186005)(36756003)(2361001)(50226002)(2351001)(5009440100003)(72206003)(966005)(48376002)(50466002)(76176999)(1076002)(33646002)(5003940100001)(50986999)(53416004)(47776003)(7736002)(42882006)(6666003)(2950100002)(5660300001)(6916009)(189998001)(3846002)(6116002)(6486002)(53936002)(478600001)(8676002)(6306002)(66066001)(2906002)(25786009)(6506006)(81166006)(110136004)(107886003)(4326008)(38730400002)(6512007); DIR:OUT; SFP:1101; SCL:1; SRVR:BN3PR0701MB1717; H:jerin.domain.name; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN3PR0701MB1717; 23:pNxVP/vYJH61RXLhk/o7kw7XqrJLVHma5xOW5WD?= =?us-ascii?Q?MlrkwKQ+gt58H9wiUbW2f5JorOrYoS1zofbsE7SaE6EKlbOZjyMwR7OabkdV?= =?us-ascii?Q?XhZ9HC4FL5VHuxDLNOJ9ZfWk4GJ33WcgZBjm/EBv3Iyed9AIc21WngVUZnqR?= =?us-ascii?Q?KT63604Gevx/uVQ6rdYfT6dM4+VaWiX014xl4SfL4QmnM7DAo8aGzpMfAON6?= =?us-ascii?Q?C8qEfYdT4H0ZW0Y3iZ+QoFxES8mhOTaP5twLJPx/vxRqqzxToOA06ljhdqxD?= =?us-ascii?Q?NwFHX8KLVfd8zQhG1TWi3ou4NHqChcUF9stwoDe2rzA7tq+GGLoFxOuQEyvI?= =?us-ascii?Q?FR3iyiV/nWuaCKmq3WpujaluFLYafqYXPobfN6VWSyl9QiaITK6iOd3PR0p5?= =?us-ascii?Q?lhN+K1PWWgyiiI6K+Lpvcy6DXXSIPhnrbol8FREf3Do5NHQzoh6xHBOCnQO9?= =?us-ascii?Q?BZqeo8rVitTDmoFxh1TJAPFwBvmILRVqSJwJGhXAIAAHj1LtiUqWFK3krqrr?= =?us-ascii?Q?U9xXlGqG3P2jBSvClmD7gAJ+Dc+Bw9ZNPNgdhtmasX+8jPSsEZGhwWqeYkXH?= =?us-ascii?Q?ndSKank9rB6sKt78ERIykVKnXVBRaAzHmd9WeaedFvIKaQZYDjRrOUzzS4G3?= =?us-ascii?Q?hBLqyVJ4+Iajnp+gzzmDGIXoibT80hq8YYJuDADpWHJAZKhLxhs06OqrHNc7?= =?us-ascii?Q?DMHpn/GqU210fGeFpZ/f4FKJ1lAFStQ3GEB4eUqHUpXYPoxGF3E14GNu86WO?= =?us-ascii?Q?as/nuitqn9qojIZis0GZcHjadsqRP9tTjPlIxjmpwvCalIdEB5qsOPF/U/Vt?= =?us-ascii?Q?chj3VeldcWa+wkvw9w1hvWs08hXoEaWCXL3HKc8OnUr6qjMt+EFvPo9KXNoY?= =?us-ascii?Q?NKXc1+dkNBGLL+j3R/On8w7gxmqLhFZrQOc0aaXoPJuKLxqVwPXH3ikTsgKu?= =?us-ascii?Q?t+1Z5Wt+i/pEkQfGxbH9cqxFr6TI+2AmkTzufboxWPY7xmurwB6i+CjA6G04?= =?us-ascii?Q?1TahfLwq4LJWgvLDIvjh/OUobmOAY1WJgbTYEGx44f+sfNP9vK2isVeYEEtl?= =?us-ascii?Q?ekxAgxIqUTc+VPFA3PYBGwuowAlbPLqCbNnGq5RZYRwLgUg4Aq65Mwo9f2Wa?= =?us-ascii?Q?4J5Y0r9VRnJ7CvG+j2F/vHuSAK8XPNTrbzBTM9rkX6wPggeiBc7rZ9cEEifF?= =?us-ascii?Q?O24vJ0ZfJeWMdT1rijI3xenG0VpiHDpcfmPPK?= X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN3PR0701MB1717; 6:B8gR4b7Ho7S6ZknifArRvVB/x/2naPafB+E6tgab?= =?us-ascii?Q?SlnXHlK64x81YmRQWonCHTvJFN8tbU5IXBImbCuUGSfXaRM4zbhYrc/LQN6L?= =?us-ascii?Q?WnjgPeTWdFtVB0LXSjjJLN5RMhJ9pG1gJbUYqfaNCpJ45jJ8XGIoHwVv/+NN?= =?us-ascii?Q?SlNeWSO0rDUqsFRG+UAWAPgpbnWd/vweBxelShG/gJ4ggw1RSBKGHLr2hvzj?= =?us-ascii?Q?Xbh20rB8owf3aC9txgYWKguyI/iJE11UF17V2FYi+cPFcZqr2tmyADnEUCDB?= =?us-ascii?Q?Z3cmX+d3gO4t7ghB4MSys+rb8FBvgsncSYGVZrhLgAjbWogzJlT1x/Mv1rso?= =?us-ascii?Q?uCDvxpMTjhh56uTmhYO0L0r/AC/dh8JTEmzp32HjhMEHXgQryC2XXx43gbTd?= =?us-ascii?Q?YtIoBYAF1GTxU/E6MWVq1Z6z61gjCEq3TotEEgKAVfDhHSeoxDX0WvDbNjuL?= =?us-ascii?Q?JPSNer6DgwgmDvFEBxAjCyssJ4io24ChUKc1EKNrzO13bhP4UOuw0w86kcS0?= =?us-ascii?Q?eySgfPxxZovR4TQdslhO2hABjtNuXZywr0OAfAWTo2zTmEQgnlmk+lIIviIK?= =?us-ascii?Q?FRg2kkuCQ8V9tG1TBT+Xlh8VtqgEvqFr61eQqs4gHwoqM4guN0Oc7iAIRK4M?= =?us-ascii?Q?wDFab5vShywm/3QJZ6U0PyTbG11a7y44MTAwSBBWCIsLGv8aCytzxkFprRUE?= =?us-ascii?Q?AXrBC0Xo5m/2XfuH6JL1tJ5c0LlWxTfBqbguXw6TKL1EV94fjVd0PqT5YwVA?= =?us-ascii?Q?ddWhw7Ic1i0P7JunTAek3pA7L292gYonqtzJsnp4zpOma8RarMmtmFRAOYkc?= =?us-ascii?Q?6dn6Hvx1+H8Tho4TVE2bqr6KuLRHClrRaEyBHnT7qlpje8L9TLrYQT/BpQYT?= =?us-ascii?Q?WYiGOkk3FyXVqwBuUoWPBQJPGUJ43Xa2UyNNSyTdWUMfUWWl/sZH2k9E5A7Y?= =?us-ascii?Q?HHeCDdCSOy8pQfGecHwkAL6W23ZGbXqd0Kgmu25HXAxQJzLGFO+h/B42YpSR?= =?us-ascii?Q?JNo=3D?= X-Microsoft-Exchange-Diagnostics: 1; BN3PR0701MB1717; 5:ZmOxZmRyZ8i7hhClS0ghcDNBkt/H+OWNeLXVxQVH6bz0zQJusdFGXXWbrF2i0sK+6jl1BlFOYjcieXpX1dqX9oKPMLHGONpDNq66HMeieVlKLJcLhb1jE/Bx5KgmyM0lpr4YjT6QsfeF5dlwkqPHl8efbJQHxzepWwL0STL/x+wMgPtjpRFp7Jk4s6V3L5nmNzvwYoRWeOo1OpM3msg6SDdyj8iRZaeNA0tGuCGA0s/6JzTwTOGhimfNpoWZcBu+VwW/Sy1V0p6jCPAAT7KE6ycR0unMPG8u4ryF04TJHt4xP4/0gYJQcT1JI2fCZ1ZrhwHiRlGd88ZfCmqy9TNLY/wNVBgXBNOwO7i8EHyj4gkvksrhM0GEFfgzF8hZbJr17NJJ6gOHAmdJUbEC+RtyYWdtdYjfh87Iyx3ugGhZORGgahNjHlCA7ttsJbmu/sC5m6KOuXNFZcNYXf4yJajMadipRAbFuD4nVntAjqRcoPsjN1ZZEJFAElIGgsH6YgR0; 24:bwM85M8plHMK/1HtMe8s3kvmxnguqU9SGaz6wnyW9MQu5P75SopslsMAhSyp1S9aY2Zz9UHt1zYO4x7FPx3SuVaZq9kM1YM7JYS1bc7dn/c= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BN3PR0701MB1717; 7:ix5D0JOccF00OwmJqgXiWjozrSNUvvYSWfCukp9asOGK449P2M+n+jLZpMmgdJvO2bX92cyXUq+eIlF4U6Cr78Mho8NZBzH96cabigLo7bgmEIhvxg2tWSZJK7ZYS6ml9sAQNHuOF3fBTPWDzwEQoZ1ttPcbcS7xj3xwpaIhQSqZHF33mO2sEs4463MFEFMwy1y09eQWRdSwBIjcYslvvJd1CQwRK+rhMyqjJUxvhkRysFKF43C7iI6rEq7hAXSW1uc8YRcbuhGNLLLVUx8NkoMVlP8zryW0MQPlKDGMirY4gxFo9Db7rwIXEyGkYxT6c/aH8iDoPqa6WwBxopwwi8qyvDsrrgsUBc0mmD6LFXQksyZECWM+mHw7NiLQwTdVLJFdZEdrHiVibYHMBDkWFfUHUw9qBkrvfGpsIUkb4tmD0TWrIfJ1hJtv3NgUp3zjy2xkbHNfW2FAO6pPO4GqRI0go9N3kU+U41t2gxy/rw+eFOmUqy03p7hc0cJj4MqKOcG1YYxB6yWVc6W5qHlY9TPVdecZXis4x/bPp/gXr6WITbd8L1MGCbSCIAcS1Nql4noajEDy9FIPQXIv8BmVlQAh88qDolH9LNMfpSBelfr3G8i8Rt/rHkKM5w0bCUhxSkOSrQ/6VNGmz81FZWjyV0PX6r9iftW9bvaaIkY523Hw1UkFvYeXle0HFVIS+sXuWdDmRYrKfhRHuMsRckTBOKIEPTFzUpzPnzPNwEYSY/0ZBp6bpYwFkGnth16VVo7hTm1B1uys4W3oMj6UvSE2RNadEoTUgshbqqsw39MVDE0= X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 06 Jul 2017 06:21:41.7417 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR0701MB1717 Subject: [dpdk-dev] [PATCH v2] ethdev: introduce lock-free txq capability flag 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, 06 Jul 2017 06:21:46 -0000 Introducing the DEV_TX_OFFLOAD_MT_LOCKFREE TX capability flag. if a PMD advertises DEV_TX_OFFLOAD_MT_LOCKFREE capable, multiple threads can invoke rte_eth_tx_burst() concurrently on the same tx queue without SW lock. This PMD feature will be useful in the following use cases and found in the OCTEON family of NPUs. 1) Remove explicit spinlock in some applications where lcores to TX queues are not mapped 1:1. example: OVS has such instance https://github.com/openvswitch/ovs/blob/master/lib/netdev-dpdk.c#L299 https://github.com/openvswitch/ovs/blob/master/lib/netdev-dpdk.c#L1859 See the the usage of tx_lock spinlock. 2) In the eventdev use case, Avoid dedicating a separate TX core for transmitting and thus enables more scaling as all workers can send the packets. v2: - Changed the flag name to DEV_TX_OFFLOAD_MT_LOCKFREE(Thomas) - Updated the documentation in doc/guides/prog_guide/poll_mode_drv.rst and rte_eth_tx_burst() doxgen comments(Thomas) Signed-off-by: Jerin Jacob --- doc/guides/prog_guide/poll_mode_drv.rst | 14 ++++++++++++-- lib/librte_ether/rte_ethdev.h | 8 ++++++++ 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/doc/guides/prog_guide/poll_mode_drv.rst b/doc/guides/prog_guide/poll_mode_drv.rst index 4987f70a1..e6ac2978f 100644 --- a/doc/guides/prog_guide/poll_mode_drv.rst +++ b/doc/guides/prog_guide/poll_mode_drv.rst @@ -84,7 +84,7 @@ Whenever needed and appropriate, asynchronous communication should be introduced Avoiding lock contention is a key issue in a multi-core environment. To address this issue, PMDs are designed to work with per-core private resources as much as possible. -For example, a PMD maintains a separate transmit queue per-core, per-port. +For example, a PMD maintains a separate transmit queue per-core, per-port, if the PMD is not ``DEV_TX_OFFLOAD_MT_LOCKFREE`` capable. In the same way, every receive queue of a port is assigned to and polled by a single logical core (lcore). To comply with Non-Uniform Memory Access (NUMA), memory management is designed to assign to each logical core @@ -146,6 +146,15 @@ This is also true for the pipe-line model provided all logical cores used are lo Multiple logical cores should never share receive or transmit queues for interfaces since this would require global locks and hinder performance. +If the PMD is ``DEV_TX_OFFLOAD_MT_LOCKFREE`` capable, multiple threads can invoke ``rte_eth_tx_burst()`` +concurrently on the same tx queue without SW lock.This PMD feature found in some NICs and +useful in the following use cases if PMD supports it. See `Hardware Offload`_ for details. + +* Remove explicit spinlock in some applications where lcores to TX queues are not mapped 1:1. + +* In the eventdev use case, Avoid dedicating a separate TX core for transmitting and thus + enables more scaling as all workers can send the packets. + Device Identification and Configuration --------------------------------------- @@ -290,7 +299,8 @@ Hardware Offload Depending on driver capabilities advertised by ``rte_eth_dev_info_get()``, the PMD may support hardware offloading -feature like checksumming, TCP segmentation or VLAN insertion. +feature like checksumming, TCP segmentation, VLAN insertion or +lockfree multithreaded TX burst on the same TX queue. The support of these offload features implies the addition of dedicated status bit(s) and value field(s) into the rte_mbuf data structure, along diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h index d1076c821..8874ea504 100644 --- a/lib/librte_ether/rte_ethdev.h +++ b/lib/librte_ether/rte_ethdev.h @@ -901,6 +901,10 @@ struct rte_eth_conf { #define DEV_TX_OFFLOAD_IPIP_TNL_TSO 0x00000800 /**< Used for tunneling packet. */ #define DEV_TX_OFFLOAD_GENEVE_TNL_TSO 0x00001000 /**< Used for tunneling packet. */ #define DEV_TX_OFFLOAD_MACSEC_INSERT 0x00002000 +#define DEV_TX_OFFLOAD_MT_LOCKFREE 0x00004000 +/**< Multiple threads can invoke rte_eth_tx_burst() concurrently on the same + * tx queue without SW lock. + */ struct rte_pci_device; @@ -2933,6 +2937,10 @@ static inline int rte_eth_tx_descriptor_status(uint8_t port_id, * rte_eth_tx_burst() function must [attempt to] free the *rte_mbuf* buffers * of those packets whose transmission was effectively completed. * + * If the PMD is DEV_TX_OFFLOAD_MT_LOCKFREE capable, multiple threads can + * invoke this function concurrently on the same tx queue without SW lock. + * @see rte_eth_dev_info_get, struct rte_eth_txconf::txq_flags + * * @param port_id * The port identifier of the Ethernet device. * @param queue_id -- 2.13.2