From patchwork Thu Jul 20 07:06:13 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Santosh Shukla X-Patchwork-Id: 27074 Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [IPv6:::1]) by dpdk.org (Postfix) with ESMTP id 703435A3E; Thu, 20 Jul 2017 09:07:07 +0200 (CEST) Received: from NAM03-BY2-obe.outbound.protection.outlook.com (mail-by2nam03on0066.outbound.protection.outlook.com [104.47.42.66]) by dpdk.org (Postfix) with ESMTP id AC45B6841 for ; Thu, 20 Jul 2017 09:07:03 +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=Ly/JCjLmja6W7ja+b+G9m0rY/AbF8ERLtj2ct6yFLrQ=; b=RMYjO/njOvnRhfKwPyow/U4rpM0oZvU5MHMLTdGUYWYGFt5pKgcUwy6v7LnFMUFgB0jPatq5dZOvatDMOYZ+tzQlU21c3UaTvtS5r0AAIBAtzJY24b7Cj1BI4fVw2J14dPQgzFMILApLT5nROpNPy28V9gbEpo9C/lWjz7gv4AY= 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 BN6PR07MB3090.namprd07.prod.outlook.com (10.172.105.8) 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 07:06:59 +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 12:36:13 +0530 Message-Id: <20170720070613.18211-3-santosh.shukla@caviumnetworks.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20170720070613.18211-1-santosh.shukla@caviumnetworks.com> References: <20170601080559.10684-1-santosh.shukla@caviumnetworks.com> <20170720070613.18211-1-santosh.shukla@caviumnetworks.com> MIME-Version: 1.0 X-Originating-IP: [14.140.2.178] X-ClientProxiedBy: SG2PR03CA0052.apcprd03.prod.outlook.com (10.169.50.20) To BN6PR07MB3090.namprd07.prod.outlook.com (10.172.105.8) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: d39630fc-84e7-47d6-84df-08d4cf3debdd 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:BN6PR07MB3090; X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3090; 3:GBCKe9bkdsoYvlmujPGIhxjNqFwCg6gqY7eWp2O8eKzfuYPk2QBrhti8YFtAn+EPHb8GObw9SQYmfBTSzXYWKB8kmZkAa1ASUOt2xjGW4ssA2PiBPCtRP4StbCwwDR8eGQxE9pMO5CQN61HjVkydM6L/RWUGLmNLem+pW1St2tad61EpAWNtEZjTPl8CuIAcIrPlwjyAvWJjTE89gZeP3+IETlAGi7XsKVgQ6KPsC1mcgYaVOEWHNnOpCrpp+xGdEOpSkUbkQA94h9RvZtQkfXCTAO2K/dv9IXXfxBXqfpYsYVtAsfxXmyXzYxhWJQ/ZDF1JboreVDiOCT2tL5WKpSqF2JX6BvHHR022LATQK654Tl9PR9C0rUgxmkHPJonHf3e3SMLsf0WYTXnOhyK8paRsVSAjv8mukVx+F54kbwgU33xvi2uR6L/w41USgOLfY4QVHArkq/TesGnZybPz2qvksosvvHhgLFtlYIQmJmeyffM5WhlpPRUlBiSSrWn1aqyunwgmqTcHtOOI3bu67t1arWFhj6oQKZm1aLs0dfrrXClMs8L3doBDk9aJh0UCkCCMwnf0PaOxoIZGm4mkStk/YLOhwiz9MyPJGdtwykyrVh1v9dNQHHdOEksSZjiCJtYgA5U25Je8NDwjEAxXKvPLlW3i0cK3icIjJSv6F9H7aiw5tEvZJzbdKF+KSolnK1LZfXg2V12FTejtupCuAvOc7VuT7KAIbF2tHfpWmXk= X-MS-TrafficTypeDiagnostic: BN6PR07MB3090: X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3090; 25:me4m6f9yZJc/Bpcs0Mqw70a4o8O2zOyIp4UhZZMzGOh6oc8XFrDzJVlEoOF7aTa28RmWoRefyw6I5qZFxJAjSPpOUZLOzMht2lxZ6KPzFOuPbQH5uZzmmsuY19UIOhmDRfGcKFrxb4z75JaSNqeJXJ7PqHEj01LqGJQ/OGdSpWYQ+qN5OVRLyYd6RzsEhqDDqmb7D6LRqMQ08wx91T6I3TVn8LCIllBJjbAyk1lrOITOiVyVciKUzTK03CiT+UEs9ZD/CKj8GTjdbzXlh9hpqbKzrDwnSbXkXk9rKRFAlk4/9mpwJKZiEWvkRFM/uSA+t2BhCQG0s/jQ/tLiTqA4QNYjxkvP30Guqhy9IJ7IW23YUKJTIPAW1F7HXO68tgRApqJb+5C9hN26CUGgnxyNAuUFbW9v6GJcpqOUMn8GK6Eb0Y1R1GlJ7INo/KNFFIt7r25KE9t/wPDO/iyuAyqOl9dlyD26Ma2KLi1bC33xeBKlG8Hmae6WHXjivXVFqEZgya4TEQuWEHSv9yvny8euHpiA/FjIDaH5vvN04amQFLvgnLA3nKjYSZpQj3AR84I2LRjJIPWl6IoXq14LyF2awW++8rNv98b6EuETcvX5RjPog1qlsds1aSc83NjzRpPzl2tYLO74CIfzudpXKO++7K68oPnGt2+c66wrdcPPymJmTww+CrEFw2hokRk6df5vgKPJjBAD4UnZOXW9VFMJp8xICIwu5sV22oemQiF2TYdl4AiMbVKvUj23tght9XKnX2NeQ2ea681PqZPlhPdufz1BzhjNE/7brbfZlnqXgyNe0mOMYEn0Ma/2THxNdqp6DvCUDFUPRSjwGWQFG7AflKcNQMIFCwkzNqk/Xzj2GY34WURy43Mg8RiLPFRZbgoJOcFzYjPM04uNoLLZPYgZcZfwTa94lwqo1VEdr7K+woc= X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3090; 31:I3nz7BZgx9jbEK7pyZwB+BDNPcxHIEXAhllrcdrPzxaDhZIVbhVJzYCUYF+FuPpVXbpzl0T/jw+X8DCyeLmeEyD1IQPOlDPM9bsg4BJLCB2iXDh+fJCt8tthT9PKeSleL2beSZCTqJz38x9IFJ9gx3PCQwl08Jvwj1G3Ws1/VQJVO/cYU+IfJFyztQ+hXCvYdcnk9tqkK9yjFgqEDVmWjHk1/aBwKDrRW9nJ6D/HFtES3vqMmT5G9wYAVeJw3Ru2wTkvfZKrk4AZALaTPmLJ0hN5A74vLXykcdJrN74vb3XU6u6uNE2VtB5J4+UnJVoYwQkbQHVrD8VovHKN4/eNQRj3V3i7YU3N6wIXg0SmVZWTcH5Q62o8NAPS+7xqRaO6QkqLrWJQ0Am0rGe5yxa7IchiVWjVkFGXpj93l519x8ZZ7arPPyq1DtIB4T7VkaPMYu7nBY6gxIxSltxR5bmAPn8cTIUW0iQWJLh7LxI2HFvJgr6v/OKstoeGJIrIqZy+nXg4JJmHgHbCBqQ1bxPF9nU5bfXZ4/geJWezo6DF5X6VcTqe+eK6U+wiV8ypffJu+VvxLQzsxYtl9gMEVA+SFx/Su+t8VRUulFjMz4KiaUZAP2tDpUZp/hfo+oI72afIHf7KwRMWSKLq/IZRIsDCQS+A9i+/ifzby9pFVdPywOA= X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3090; 20:BKrv0eJqlA1pVseDrVSahLOzlhm/0B0+ZYbwqMIWiw8A4smjzh6zT5ghwCu/41u68Y3RGVQdfxOSfTYDPeKubuO6oMDt8QzbRVi3WSkSzHFzg4smMxP09UgxeEGg9ANYr5Lq6pKbAdx3vlZNU4NoHCmPZkOF75JIMbsofEPwVVDMZ/NLAc3UQKYezlrHDYxchWaHzW1vNtj7BojjXjyMOzP9X6Mz+bjxPSLbOkqjSiJ+Xh6Pd7efWY2pE8xDRwQuEbY2E1VB40enE5BctcxD/smMDn7zXXgUbPOB3zBe+9Ts4U6s69qfkD0p9nkesvxH8nSBYY+FZ4dgEdcXIvi5ZPUN7lC2BVIgCIkxjNRT5aM5HsAbKobVV8I0c4e/9Z/reZvqAY1mLV5FTNvdmVSbCHFTCyhnBwpOX8Tx9XSfusea5JEp2Kd6i0rECl0/HIHh4wEfBfrjluRQHjRIeUUJ/zwz+7woQAMLfwC9Ze87zGvaVigiubmOJHoPAPyktCedjNdWzIuHM8ezc/1VbElhn2l5uE+EUKgxC7+cd8LMh0R58WvVGN7iiI3+c3KpfZ8QKW9thseO3o9eNWHVLvzPuhABhHDrHTYeZ++6haqFBLc= X-Exchange-Antispam-Report-Test: UriScan:(236129657087228)(247924648384137); X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(100000700101)(100105000095)(100000701101)(100105300095)(100000702101)(100105100095)(6040450)(601004)(2401047)(2017060910075)(8121501046)(5005006)(93006095)(100000703101)(100105400095)(3002001)(10201501046)(6041248)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(20161123558100)(20161123555025)(20161123562025)(20161123564025)(6072148)(100000704101)(100105200095)(100000705101)(100105500095); SRVR:BN6PR07MB3090; BCL:0; PCL:0; RULEID:(100000800101)(100110000095)(100000801101)(100110300095)(100000802101)(100110100095)(100000803101)(100110400095)(100000804101)(100110200095)(100000805101)(100110500095); SRVR:BN6PR07MB3090; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN6PR07MB3090; 4:zui5tpnuphKKdenfn7YbsSMujZQlZRVkrr8myBpnsA?= cbcRLr+aLDrlPQ+ihdjw/pD6wod8/tgFjBShJ2wuHChhESnRMhuC7nluc1E12FsYS6CI6BAohj45E6teiSHcjBIf4zE7cMrRxzAn7y+rzT5r5k5EQcnVos/SSbbOGQPoCTVO6UkXXS+rh1mg34dg+PjJ2cTIW4mwAfHWfUzAAEZuPy6K2loBC9FBr23nXaijOfkegJ+VzIe+CJJvVR0YdwjOao4KJwsdUv9k2zGhxUKW1rNi6e8esXpWFoB2PRh0DgalQ0lBUFoGWiBOWZ/Da2jBkEdot2bLmN0pMfLrXozodbFjIUumdLknmr9lmP+5PIh6V+v97zpoBVt/TiAGRh1S4yMGhntH/asmB26n9kWelN3go5g3Ht6K4yICPkmI3IIlNGXKlPo2HCDDa/suJ4hTKi73iLMTUcAzxjLo4gTKYWbbOqEtkngld2T+n61WwQB1km52FR86c3Y87aXsUfqwJaVcyoC/Tc8/5yAh7AxM6WIz9WT9HbJZ0xaH/KuJyzgFtqaaGO4PZOpaYos/EhrPoICOUyXrHXuss6N9HtsdHeOwiqPZ3x2yy3p3Q6DzOg0/ZMIT7n0g4CoPioGPvUbiQ7wDOzSNbCjpDMNI0n3v4+MwxmjxE81+sE8bTdr4QJ06NQQ0jcCofMGV44eL8oyYhXRfRQu7l6INQGW+shSR4LY+Wt2DhgZu0MoWM04WApX/qIS5W0SY5lwpHA8v/IkQwoomqtbBHQU87q7TGMW331YctLuQ1BbNxP3hCLQDtzUf7w491xI8jQ3n2AOTYTI7QWmIxW4cBvOOYFijrYWPwRHq3dZuSNElBiQ8KhxGBE5PuJZ5O/pcvr81z48dzRPIoocKGD7EJRfZ4qpIOr4n90rTQpnQxIEDjd4QzNMFAbkiR8qBuMZWoTHou3RDg7E0OgDzc55Z/VsqZ+bNbLhJoOVSL9LGVeDyMn4SdcuwqTerB1smb0lKhP1BtcF4P2wm1RnPx2QwwXQ2eKHilGRTRCXmeIYxnZeRiPVRDQqnfa11hBnSseLIx0Pen0ojmEPe0AhgcPxinj79QlXYsoZp0ozctlD/aTx8LEd2c5yRmkz1K4d+ZcqpRrrx+g7jPkqvOPBmmlcKjXtFSDtOY6cXh/bo7CZuELGJ6i5HixaDFziymmpokl65O9JJ4rO1bC1Sr+OkOgsiA/VjjgeA54Cw== X-Forefront-PRVS: 0374433C81 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(4630300001)(7370300001)(6009001)(6069001)(39450400003)(39840400002)(39860400002)(39850400002)(39400400002)(39410400002)(5660300001)(7736002)(25786009)(50466002)(42186005)(6512007)(6666003)(2906002)(8676002)(81166006)(478600001)(2950100002)(53936002)(50226002)(42882006)(47776003)(36756003)(72206003)(5003940100001)(966005)(1076002)(8656003)(4326008)(110136004)(7350300001)(107886003)(38730400002)(6506006)(6486002)(53376002)(5009440100003)(189998001)(66066001)(305945005)(6306002)(33646002)(48376002)(6116002)(3846002)(76176999)(50986999)(110426004); DIR:OUT; SFP:1101; SCL:1; SRVR:BN6PR07MB3090; H:localhost.localdomain; FPR:; SPF:None; MLV:nov; PTR:InfoNoRecords; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN6PR07MB3090; 23:c0FzwVJcZm4q2d3lYq6CKcPFuukbOjLJ76H7/amOS?= cFvVCqdSLkJclJbDtQtCcQR5X+nrDpNi4HRGfBI2LJQVYergfUKcB8De+FA7l/EvrUPYBBTDgQHFcSp6lhDENyflE7xX/UIIquR6Z/F3Gr7RUBuhiyJQhm+5mrDDZYXFERUpcKkLagPx7s7pQh3hr32QDaw8qUL+xQIL46y839aibE5FqcltxPSH4bNlGmXtQmVI+61BpJDty0OpXKLwGCYB4HW5CE49hi3M8CF/gXw07Lbi2xRydPrelgFyKCVJpyPB3I0bZx7oyHPhAeY5wpMiiYVfHlwpxbSpNfgl93uLMlAiBy4UzQft+DHE2L5fMuXP2A4er0A6dJyv5cE8vNDiLd+8tZNj0MxXwulcFEd+2pFxpCeGsg48YiIAdDzc+38Hf2K1mIXkXsMCV2FMdnj19+ABtnL5DoLoqoJLZ4yzvDcmytYrtROfblo/+BA/lEur2OVLl4JN4ULuPt+Px+DKaZ0+FMjzp7gS8Svt0yr7PnoUFnifsTqY2g/g9DNWOGR+OWZoG8HDSek3hA4t2IKrA1go+oUscOSwLlncCGCa2+B1ZTbr4q2XyJUipwXc7DLEUoWr5h/sVihNOCY1zrwg4poIxTA34BiBuoKUrmq1BWlgVmaJNljimb4Ik6rhoykdZlhVbMBzIZyUiXxBwK/jDFA8eqAYxT/iU9JQZdd5dqwJTGxfUD3qrTCmFinXReZGjew60V2+rEpX2ggT9DzSsmlVXVN+IJTzQksT4VMowZgORjAkXuH3V6uj3Bem9ia9h5qTu5CfnlzmEwT/HEO3NJIjdj7Pew/Bdp2AcIQzb8sjWOUHJQY7N51BmPX1WMwMWQXhMThmzCkRpdIruupiQsDwXc9aZuyOmmhaQbSN6ExXfGrE2f9ktJmITg7Pc4e8aUa/tQfysRhKh3sN0c5Z1Vo6Nxjs3w8uFCD+HUydafO9l/i27AbB7TXzszV1efxulRe/6jZR5t9HoZ4U4Sf+2golOMX0bxTo8vjqkomFXVEwoRISOzM/urYUcGqxTFjzefEdzCRVupGN0xQyCUnH0GfH4HIKg+DDOXMmhUTlYr50QC/u5txxjUwk3pTVfPi0aWo8Aq3+Z4y6gC6GoCOrdw3qzIlccOFtfTKMI96/JEU0PU+clGuFUv9K3ydxMUKwGM+Qy6Q0UKlhO85M3nNAdmOKWZOFonTfthfzO8eSvRH/O4TFOMtErVn45qSeugdbWzyLusyT6IxqloLRjWerE8RVzQ0q/2MFVqH+mzDPw== X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; BN6PR07MB3090; 6:utNfotXQaIKQuZn47AyOF7ap/3sdpzoNY2D0UXmGYA?= PxJgY4EmxiIEcfw5MfLTLMoxIXW1ud8bJYd6D5HH8/GLqOLyw4gJ40CiaJBZKlMrHASgYWup8FD9qCnbU5KnoRntiswYM2KFQfATIX8OfCAsM4s3B2YaNXeIwsrJ+ajEQOUMO8Th6su52VZqt6Huii8hg7CDiz+4s2UMwtph9kr5VpdUTmVwEx6khq8cadFSKo3eYvNCL+o46jRF+LPruAu84AgA6JthasRH8ACE9WIEA7YulSaWBGdASvhj/0VvSmG01ai2FiX+EO7TAVeV5gI8kmYvTrTfEPNDQ9C6ZPwlQFLhuPcb0UAiziH5v6mjuvbpLdJnrUkbONT+MLoRA3az0D6/KxYyES+/ayd3zvYw+9YKQjk9UFak5nMZi19XN/MOZR68z0ozQ3hswkPF4UpUTZerNozlqhyYoas9oYzZeklLS8tKAizWbA/bn5u+OLTWnkM9RWisXD10devmf8JSLB7a7O8mZd8t9P/Rhjw3a5wKXuOCaPdC5zkjR802ftduObrAbQCffuCslplp7NSL1V8YKxioJ7nsnL8Kg0viFJXCnhmtPgXTpQ2hS6YnRHOrYf4QVPnw7pCKmfTWKeiS3U1SX/9JnrMHR9gCZ2DiUfQktbN/55o8UcHXogMWPIWe/O6YRS7ft4lH9e2D1cuiOei3Ht4HRvc6XblV2LMK3XsVXTllSxAPTKcfZRTbekdGQDQNGSHmBad88twoIVQ46geJqVODr/81e5W1VSvduFKBSCHDPs7YBVV18krXrvbAJaP9Rrxthc/eo4EpYQhkkexCT+GtqhzcnVm5sezj85r+zgOugQ1+zelaaIFUr2U9CZFGs7N2SDWTk74G4fOmy4SF7RQcXvnOjGAFed5EO8b5ui6z/FbsIoq71mgKQoyiL1h3wdB/DUAHZQpZrc0lGo5wwd/mhWlaUGYmvdGfS7YO/6gM+i+4nrRvtWrb4= X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3090; 5:A2cJPkrGT30B9b5XdSljnC/sv3w6iISgH5X9WI6QRZ8I/OasGTRIC2/F/yiKA0oAPzgmWUu8qknrVVqctTAXd18oDp+7KJFCNPo3c41MgI7W1DRIZv2ysKSPElyDd3ZHsuhMeyUB2GDprU4gNlfuvh36fVHAeQojtum847c4CHSfJdNVNqseFZINzBNxpT7OrUWc6LNSJL7J0/p6pSAPDqxKmqzX+qZ3Kty9WzYeH04asE/TXpvUkh4MbPyuJetyxGqyD8y2lZjUisCIaPOWFks3w9ySJtky1EFrRFcPepZurlneJvWeD3Q4AIcQeU7k6wVX5eToIuNgVC4Lns+94Zg5J6sZupAgaRxMjjdOb15dRQhH3bYvm3I/OxMiwz+6M45cAowQBEx0dN4wxkzknrMscYPYKk2m0oeb3Y6K9fho9iqyu2sik/sNR33EAuV72vi+d99aHxNgIp3r7APHIIf+nnNyiQDovu5/afkRaSn+8il5w3lKmSG7Nz/NIAC5; 24:GEfAueecGcKGedWgU/YyeCGHewy5bOttIh3+8Yk/1/1J1FbKxsi4TOrUzCHrRo8IrUuT6kOuyOMJs5+YVyy01/C6ESN/fDhzuMsTjxrf0sE= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; BN6PR07MB3090; 7:javvqFaiO117uDWcHNj2jyZjcYfBrwuHfecksOd+8GlhBZOTXfaDGSLn2F83iui6eEsG4x2GQTmptQhQOn0N/tOFrce43UdPVGg/Q1diDyspqoteF1eVskJZaXDP5+3xg8KHy8eqIY4hlskoT4pvLniZwTbA5SBp6tX7Af0hFbwVh7/mVnlXhWWY5/8xYmKdupDk9ayYU5x0AkJMLFCDex9bVw3d3dmY+sOHIXHGzrMFlV5ul67E7GWsQgmzzExJ4HX34WMk/jUkLzidJA5w4LXzr6d/OhRRjx4qfLZMC0rgSZGGtJ24Wsr/G4zBQqLffhWnjW1Hvz0Ztc94ZvwktPOWaUaZY3MtmHF3VemSnJFuuA7PJhW8akPeuOBG64YgyErqD6O7EA/mrZvzqHxzJVHPzOiUk14kuSzIzsC2w5p1lSsEharcqpv2r3jbW+GizcGKfOZFvyqn36BA76IazhDRu5bhoZMw1ehnoSPAOQuXkasGp/FfuoVhYKXgXaSmfUB2wSvWAGg/QvW3samu+KaUBMIyTcSPVQ399kNBwQcBN7u58dtAy1zVWqTfn7Tf8I1wb8iwxBaA6BoSA3ZE48NzqWserZszCh7KQuK3QPnlI+jZmkLMk/8SV7h+lIj5Wlg99Q65eIZB5XMFuz6hASIMXT89rUGqtx/9AuC5x8EA1m8twnx8EGvohwL0Ikqx9e0HzRkoFAIr0eyUegc9U8GO5Uisml/HfTdGVH+iDG4rqjO8RUisclcSzR6OY6nHwT3VaslCHr1Hu4N/faoFO3BHrqUPPIb5nsnh6QNX1XQ= X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Jul 2017 07:06:59.3315 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN6PR07MB3090 Subject: [dpdk-dev] [PATCH v2 2/2] ethdev: allow pmd to advertise pool handle 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Now that dpdk supports more than one mempool drivers and each mempool driver works best for specific PMD, example: - sw ring based mempool for Intel PMD drivers - dpaa2 HW mempool manager for dpaa2 PMD driver. - fpa HW mempool manager for Octeontx PMD driver. Application like to know `preferred mempool vs PMD driver` information in advance before port setup. Introducing rte_eth_dev_get_preferred_pool_ops() API, which allows PMD driver to advertise their pool capability to application. Application side programing sequence would be: char pref_mempool[RTE_MEMPOOL_OPS_NAMESIZE]; rte_eth_dev_get_preferred_pool_ops(ethdev_port_id, pref_mempoolx /*out*/); rte_mempool_create_empty(); rte_mempool_set_ops_byname( , pref_memppol, ); rte_mempool_populate_default(); Signed-off-by: Santosh Shukla --- v1 --> v2: - Renamed _get_preferred_pool to _get_preferred_pool_ops(). Per v1 review feedback, Olivier suggested to rename api to rte_eth_dev_pool_ops_supported(), considering that 2nd param for that api will return pool handle 'priority' for that port. However, per v1 [1], we're opting for approach 1) where ethdev API returns _preferred_ pool handle to application and Its upto application to decide on policy - whether application wants to create pool with received preferred pool handle or not. For more discussion details on this topic refer [1]. [1] http://dpdk.org/dev/patchwork/patch/24944/ - Removed const qualifier from _get_preferred_pool_ops() param. - Updated API description and changes return val from -EINVAL to _ENOTSUP (suggested by Olivier) lib/librte_ether/rte_ethdev.c | 18 ++++++++++++++++++ lib/librte_ether/rte_ethdev.h | 21 +++++++++++++++++++++ lib/librte_ether/rte_ether_version.map | 1 + 3 files changed, 40 insertions(+) diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c index a1b744704..3ac87f617 100644 --- a/lib/librte_ether/rte_ethdev.c +++ b/lib/librte_ether/rte_ethdev.c @@ -3415,3 +3415,21 @@ rte_eth_dev_adjust_nb_rx_tx_desc(uint8_t port_id, return 0; } + +int +rte_eth_dev_get_preferred_pool_ops(uint8_t port_id, char *pool) +{ + struct rte_eth_dev *dev; + const char *tmp; + + RTE_ETH_VALID_PORTID_OR_ERR_RET(port_id, -ENODEV); + + dev = &rte_eth_devices[port_id]; + + if (*dev->dev_ops->get_preferred_pool_ops == NULL) { + tmp = rte_eal_mbuf_default_mempool_ops(); + snprintf(pool, RTE_MBUF_POOL_OPS_NAMESIZE, "%s", tmp); + return 0; + } + return (*dev->dev_ops->get_preferred_pool_ops)(dev, pool); +} diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h index 55fda9583..d27e34e2e 100644 --- a/lib/librte_ether/rte_ethdev.h +++ b/lib/librte_ether/rte_ethdev.h @@ -1425,6 +1425,10 @@ typedef int (*eth_get_dcb_info)(struct rte_eth_dev *dev, struct rte_eth_dcb_info *dcb_info); /**< @internal Get dcb information on an Ethernet device */ +typedef int (*eth_get_preferred_pool_ops_t)(struct rte_eth_dev *dev, + char *pool); +/**< @internal Get preferred pool handle for port */ + /** * @internal A structure containing the functions exported by an Ethernet driver. */ @@ -1544,6 +1548,8 @@ struct eth_dev_ops { eth_tm_ops_get_t tm_ops_get; /**< Get Traffic Management (TM) operations. */ + eth_get_preferred_pool_ops_t get_preferred_pool_ops; + /**< Get preferred pool handle for port */ }; /** @@ -4435,6 +4441,21 @@ int rte_eth_dev_adjust_nb_rx_tx_desc(uint8_t port_id, uint16_t *nb_rx_desc, uint16_t *nb_tx_desc); +/** + * Get preferred pool handle for port + * + * @param port_id + * port identifier of the device + * @param [out] pool + * Preferred pool handle for this port. + * Maximum length of preferred pool handle is RTE_MBUF_POOL_OPS_NAMESIZE. + * @return + * - (0) if successful. + * - (-ENOTSUP, -ENODEV or -EINVAL) on failure. + */ +int +rte_eth_dev_get_preferred_pool_ops(uint8_t port_id, char *pool); + #ifdef __cplusplus } #endif diff --git a/lib/librte_ether/rte_ether_version.map b/lib/librte_ether/rte_ether_version.map index 42837285e..ac35da6f8 100644 --- a/lib/librte_ether/rte_ether_version.map +++ b/lib/librte_ether/rte_ether_version.map @@ -185,5 +185,6 @@ DPDK_17.08 { rte_tm_shared_wred_context_delete; rte_tm_wred_profile_add; rte_tm_wred_profile_delete; + rte_eth_dev_get_preferred_pool_ops; } DPDK_17.05;