From patchwork Thu Jul 13 09:32:51 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Santosh Shukla X-Patchwork-Id: 26874 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 2D4A27CA9; Thu, 13 Jul 2017 11:34:04 +0200 (CEST) Received: from NAM01-SN1-obe.outbound.protection.outlook.com (mail-sn1nam01on0069.outbound.protection.outlook.com [104.47.32.69]) by dpdk.org (Postfix) with ESMTP id C84445A3E for ; Thu, 13 Jul 2017 11:34: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=/Gy2xdp2xGqj1ucQOlvrhTw/gjFGOc8za+PdhSyNQVQ=; b=WPsD7YTX/oC3yCkZ61LA8sRwRGjBbSHwB/o2UOyyuUfs8cJ/XHDwKWEUB4zEVpTAAhM97vk2r5clURUCfbnIGYfNGC5LTj2zy/xWtyZiQ3vfOizdfNhJO55LJrvoiHADM7+zfmnIrdwClQxHndXx4pLPr3dG1qIejWJx1ZwX5S8= 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 (111.93.218.67) 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.1240.13; Thu, 13 Jul 2017 09:33: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, 13 Jul 2017 09:32:51 +0000 Message-Id: <20170713093255.13986-3-santosh.shukla@caviumnetworks.com> X-Mailer: git-send-email 2.13.0 In-Reply-To: <20170713093255.13986-1-santosh.shukla@caviumnetworks.com> References: <20170621173248.1313-1-santosh.shukla@caviumnetworks.com> <20170713093255.13986-1-santosh.shukla@caviumnetworks.com> MIME-Version: 1.0 X-Originating-IP: [111.93.218.67] X-ClientProxiedBy: BMXPR01CA0016.INDPRD01.PROD.OUTLOOK.COM (10.174.214.154) To CY4PR07MB3095.namprd07.prod.outlook.com (10.172.115.9) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 2400db75-a927-4c89-64b8-08d4c9d24ac6 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:VPd5Dcbdzv1aDLGpZCjlX9+xNzPErBG2+8eWhR3WQkiANGBudK8v/yvXOS2Viv9gbD8euiNLC5OndUQUc+wtYkyIvpcECUKodczy2aRISmqbxnqat5+aHleFi7u2C4/nAddHXHbqgf1EgEUAo+tcVVKeuNkSQxmfh0AGJjyJbC2QRd2NcEqLw75mDxEt0MIE5wVMGiGijmBOu9G6FfJe+wcDFKhZ6bFpZtabPLz5rR3D4D/aOAsJC+TNXItyxIuu/5XZs8PXrhLnzYgMkgiMnggoAs4jDmC5yMUpSsKKTFoRI1Nf+Vkw7Xhg/92cIa8JF1Szga8hriVEpQeHFz7AIdI37ZMnWTYl2yvcm/Gq0sVWv07sGvkd5Y0CUvkQHzuQMLgQcmb4Un7ihSENtz/HKRVrRvaJ0cXOdc963YOTuWcaVYy+za3lOI5VUNpMnHFeENS5MbAFOFI4bu3JGBaMRmre0bUJ62BiiXV021ecO45ObBCPR+L/DcesoSgNJu1/PbMb+J6eUFIAZSnb3qB+gXDkOYOScrp7nbTSTywqh2/zQESYUUX+Na7ElFsEEpISiOhp+DIDDPdRgD4LWmGiH+WIvoWQmxpa3kPaxXXkVizmQSxru9wYY4gIyPeXwoF2Z4LrzMqR//NJknHl0fVLTMqINxsB8JNpFSKMx3NTDDQPIc5R77sXtQOjXjEMuMZg/QLBa9LmVv5fzip+ebXeZBzkDLWiccLmfOcsZ4PxNPE= X-MS-TrafficTypeDiagnostic: CY4PR07MB3095: X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3095; 25:ErXYR6WnNVnLblPXqJ8wwFGYvGf4JeDWgli7oNOQ8xsBmGZ+f3MtvFFCnyoIEj1/me4DQ9m+sQAKpo2N2jWaJ6t35ejXgTZCbt1lRJ39yDP2wKDLyGo3jgMtGfzj8ZgbRUPQZENrB1UJNnmoBm3/N3hjisvkDURgZe5o811rj4avV8XpBShgukjjfn20/u6OwcdlxzOM/nT3vvkHkLrwkDVRW4/YqK6jTAc2GGt70+W4ca1bbJMIUTIDbpcmSdMG1509KKWozgeRURWrue1W8JQw5T6USXfFjIcrLdg3RjwHSP3eIeTJnbDmkFUoboaf/ayeMaz+FfZgdknt5TkeFlcwqx7eiIzhpvZTQyAQJmdwfj1HnVzJy0WJ1nDnJBm7l/Cork9CPuH8ECBju0JLf6h5vztzzf9K96NxYDyUSqv3lejOkO7ckX0ckZlRFAOAhdyyG4r+0DLT4mE5rX5LPZ43qsqylC8uzKnoT7WfDnEAHjlNp/2hhWrqOd1VTrFAWZJ40nrC3nF8ysmkPzIgNK9yLplC3p2bQ7S1pE0RHXC6XGa19UGlko3vcojQ3ohdACYH56uzuDM03pRJGKlIG38wJDKJ/n7UNptyVpf81f0KazxmGmK780Gw4MBdKxBd2dM78+t57jEumCp6jgzDdek36GstnM2Uysfhj9eJ41ndel33avAnEMbND1/tGLkP7H6wTJ/mMHgC6nVFx0qXkmt0hz59FFMt3xMYOQvX740HYlEMLmFcL6sYEI7KYj/IqvsjJb0MM26nd1ui7WL5Gy3eA4pxlamXEED0vgUiDax1CheWAtUi2ZrQ3MZ2pDIC+gqHcwIa0ZB05eVNn14lXf9KuEob3lWjghxsMq9ZdPE7afChRsuB7KK4wzWfeGUv2tNyawon6fXODOOqvvLIzNHtRessiojfanJVU22shyE= X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3095; 31:6aozq7nbYS1+aXMMj/CfLgUt94NqJFi1+zq62DUr8g03WowuBYh1vDGeok98QY2UdWfeYMdmYjjk1fiI8mKxrWtlhaq3GZCquuqNuveTc9YfXlffjsvibQ+iwxV9YG3tmRaUyv4CJPKb0/7PPYRjW9/KOJT7FEpXDiEolyFrKH8KNL3uppV6YbCY2C7UyGtNATMO/d5xG0h3Wc+8IcuGKgin3UPF7B9jcPvh0BETuIelXvnJX4+qQBqeKXR/uY+raIYmAkYmH83XncxetgwiYzt9Ek5UW/2aXf/7Q0vxhhpt7o9N5o0MaDedG1L+MnAWm3RF28gCtjieBp6+ho7X5xY1+VlnYvZ7z/VXkX0j0kh3u39PlAZa5n9ZYlbH+vE1dGX8u1Y3zGj6ep343ZYJP6NJsam/NvLdCciWpm44HIygEtycDukutJ3Bv0HQPZ1fJHIGv2EvOSIychIisxbLNOEd52z4yWTlyQyZXUgVwp7lBszfjaCTaclgIgVQOGmP1zSoWfYluWSzvnKzABKjeGthtBOhuZ4SXjjcUhxp+39GK0Uy1IufjGE4PYnZ7by46NLZr72Hrhqyg8F2S2D5p94H5tJTcJjgvEh0T+qgiASYwvaRSR1sFBsQ+BbS5jzUMc6zAwSw2TBoKnBzxzLyNBbT9Y4YLLyKe1U7ftIDqt8= X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3095; 20:ko9iRtbHh7mUxG2xnWT6d7b+HUfg1zUSOvelFqXHU70uKrDS/+gcyxGYrJgApU+jQeyrG/zgC7NjsM8Av6qeq4ZUeSEmfuqkrvdf6El4bPkgHVzwWPEdeyKKgun0xYT1PtrVQNt4mBQdEilmiGKnLrA52JvuBkTq4yML5HbJXRkGK+FL3nnkSHMfxN9aupZxn99tzdSJfKDpNFTyuJjnsK/6biUuWdF+pYtBI6tRpE4UjihFJQj3aotXvQaydlwKekhYxzYILw2FZc+5VDvEC/x4ATkbMuvWZWVE1jNJD7UrrrEEqdXbHXrUHT7d9iZgPHGAPU4reFvBsARr9nEf/VTJhHAWuSA2TlVH5UtEqqf6k5GQvB7ydxPH1u4KeEHoulRmsYk55LVsUfq/+/LfXTslkkcLAVyVfJnqdcYA2XVeFxGHGlnwPWLowXjDZmZcLrE0j8E/KOqqgDBV9dmmazN8roKMpYYdR4slg5zIw81r2UiLso+CaVkF6/sinBsvRM0t0igu6zKeiK8Bkj86QZxc83nBIoePy50duQoAU5QbFdN6r0ouPlsfKByMw4TDEE7fgRC0kCclvDz3NgwXLHpBxO6s8PRchNagkt9Wsw4= X-Exchange-Antispam-Report-Test: UriScan:(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)(5005006)(8121501046)(2017060910075)(100000703101)(100105400095)(93006095)(10201501046)(3002001)(6041248)(20161123558100)(20161123555025)(20161123562025)(201703131423075)(201702281528075)(201703061421075)(201703061406153)(20161123560025)(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:DYrnNKHQZV7bznjVAYd2O3OAbOw90zPT1Zb1RUV9pM?= Td/3gHk7wYWisslj/7M2TNeVTDUxuALXC04GXA7mNWMNyEzLWJBiiMvzO3LdlFBHonLdaX6L4kD/eQAKRJwyjv64p/xf0czYXuybb8r321WIvlA4Jq033GIuPKHbBAzKnJRR5D5CgvsWn4JJolGHeWqbCcbypmD20PvZQZmaLP7UtmVARYYKiMBbHbB/bV9SJEWXznFmM+7JcpxYToI95pqEgq5/Bj9Y/cn2RmfiAKB7OPeHhig014falu7Y9DDqinT/NvrW9f8jHaWqLeiF7N5J/EqELbgGnZBay82Tk8JRScjULXPIGwEM51GEHtvp3bX49qBRkNXV2rdgwFJ0y3SY8W9ltJ+qq95cyFpdeY3k2+68hOk7DmwP6geUjqEylDFdG6wJdsjgnA7qom2TWD9RYvfUvxMoK4yH2yRHk/u3iTmgSa6Q/IUqLTJmEBARTDDp5RZqul9bJ02DF5YwoVLX79+kMDLo5PbYABPYJB96LW7JJrQyzzVq40x1gxkXb79TGbetmABiDXIch5TJM9aA/tkdBKFwG6PA/h1QacOKMhb8hUxTMS47Fk0cNm+UsAbeIg+7PSnAPR5YY8qmHxVmXi9NkTh4hiEpyza44zEsoR+4pP67MzoJ9YZO1xZ5PjwCOkChaaW3kphOX13geWt+PX3Z1M4ycWdjG+7fXRdeqInxil/9HtP/+4G1ZEI66eYZ63L3P/RosHHaWsG85uPNvVZxk3j+/oYZjpVO3M+EwjGBRw/GzHKI9ju+GMGiw0JNmV73IvVRo4AL7LpFfSZhOouuKVJxe78D9ZZKAzssMXXM68+Luj+H9fxa/5yOaTWuLVFxj/H+VMy5kGQjeI3axZIHT3TTZlmEBr0BLN+e8unmccSwGRPXblA5R7F6AtDaVNueQsoqYy0ixqtcS2xyAhsX5dtLJdwZiBHlRDbUjNefqPsmVl2ML5lXwv67a/H3Kg7QDzXUMnkpiw9IWujfF7ML75sDAtuSV4J78E0KssBfRaUER4drGh0fADAUbWsMegQy6Un5QFP8oS2yBARNY/78W79p6eBPU1knyoOkrHvPTBa5JpEZV7JwO08q2VBFN6Lvu029lgsdtjOO5V7w8rUsQEYVdDid/RKvYKuWFkoNI/FtmvU79208q+1iwoliaismf1XsFq2OrVNtwc X-Forefront-PRVS: 0367A50BB1 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(7370300001)(4630300001)(6069001)(6009001)(39840400002)(39400400002)(39410400002)(39450400003)(39850400002)(33646002)(305945005)(8656002)(47776003)(25786009)(4326008)(50466002)(8676002)(7350300001)(48376002)(5009440100003)(50226002)(81166006)(110136004)(72206003)(5003940100001)(53936002)(76176999)(107886003)(7736002)(1076002)(6306002)(42186005)(6486002)(66066001)(6116002)(2906002)(36756003)(5660300001)(38730400002)(189998001)(42882006)(53376002)(6666003)(50986999)(478600001)(966005)(6506006)(6512007)(2950100002)(3846002)(15583001); DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR07MB3095; H:localhost.localdomain; FPR:; SPF:None; MLV:sfv; LANG:en; X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY4PR07MB3095; 23:l6lTNAsGMbDRoOFc+UjSQl4EgTNo7LPdEKu03VBnM?= hdtW+CzZsJI/vqfWQcEG+0ZTElHrbZiyccWCgmn06xqQr1iAG5h8ygLvo0LZCuokJ/IlDn4pLsTZ0d6ShYH3rj3k0Oq7iZs1Oqro6lB846x/cgHAS34I2pO4xq6pjbDzaRvo+i9iZ2hhqdrbNm81ITaec10EcvuSd5XVrEwajgl92X33nFUCmlDFEYOaqlUIDRwNSlWD5TxRQzXjNLMLiSPEDdFB5TfVskbAtBualbmBucaXyErBcwjSLL39SfMs1d5r6BZRS7VURRu1XXGbZIVRZQfFQZg+dGkpHivANxfpfCiXtNSUPKdYw0K6uLgZcmYbVMxXQqEil/2KFIlwGq7Y147GF7SXz6tU83TB7pQvR+xUM5ShuCOucHH7r5tuy7eAVxQyacP8n+kj66qjxvozd54QTHw6Tkr7jcCEeX7dARbZUsowIeJ58mC4RfYeyca5H8wJmjKgV8ct67DhQkO3o9As2s0FAomLWnrgtQCWpX3YlMMB2mzXWcmikpLbPMFSWCRGP53r6urXVTA+b+lwzfvEnKxGPA0W6r+aV7VVFQBdfiZTrVpnd1s7txsRSlTNK7dpCjn6xMY0DOLBEC7VGNjnp1KGMEKY5+UUlYWMPVOynfr8duKrZ8TvBDAJRcYfkwGWrxm2vwlqhbihMBh/FTjXCHIlWnP5CXBAHe6kFc5pdTLi/UfMmTfmYvOnPvlxjCcdT1u46FxtND1KBKxnM6I/d9T8zYygg/d0v7v809PDO2ISVyDxizxvNayYVZh2IS3apMPiOFpLYiyiUcbOwjrfnu2LpdkZZwBC6UvvJZoCC/nGwaxA2QKg7b4LrMsMBW8VqzIvYSqFRTQt6+8zOxL5Wl+IVCVRMnv42gOEa9+CywPOajhXwBDJCll9WRD0WN0JiRpaENhG40UqdwmD+0g2qvhEqmnWiP2IMFFq/KGdx7UDq+J8c+Qh3Wkg7kLrYR6IMj8dha6mTiC21Pkd2AMFOufEsnVdkU8GJAKqjDKuZ0igbJ4lHPaBsg2WRlHE5kaeA/uiBAcBsdMFZB0HKeWFBm7lVtFpn4SriuY43YsqovoljWxBWJjreaiOB/1Z2gcWo3lsWkHdv4thElEeXTPaUTxxI8ZpMG0uml7gFWptyOtt7WAWDkagKPTz0PgQmnYCMI3FNLqzr0r0NOVmxD/6TI6Qr1dkSzjTu9PfpyrwyjVQE+jaJxQ3sWuOWYyoam4HtR7Orn0q6GWCG0j X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; CY4PR07MB3095; 6:dnOsGBp44FCj1hPLojgzkVwkyFHnibQGYHgbfjKXZZ?= l/iSZjwa1sFc1IQdQtvFoMEnrOkdW+s1sC5Lj6PFTRrTWVZ/I440mh7TUc7DyH/GwMto51oIFyqxfvkPmY8SOgG9U6RmXLhfLU1LpOv8APmDB2hOGkNq0UF3QKwtagfHBZSDboLUcv1f7KkxQthJSFJRgHFOVWGJfvpnEIJEp2WlyNR1LthvZV342AZ/EhDwIqqlkCM00FiWeh4WzdlTQgWqwcSnsR4T8fJUCyJy9MnIryRnkV4JtGmzz6K1DVWZg0VOg2e+EG7CfK+0RhJnLAPdLxPmQIedmTMeo8ZRMD3vNVDV4A9Kc9jSw2V/8tUBsYeparvyJicebf+ZTVxS2ie/VktXerqN/mqqN3oMQXXJwEeceIDwcrjFLzC9GBM17LD5jJ0glpbrzXs9rD+Y6xYodUEjRGM3mlOTBQO186cmeYaVtj6/gIaxAt5+AB5/VmuJw92os/H7y4o6kS5tMo0XDIIsOFALcuuvLJ3iuE/rcEFv27tLbcZZgXhgyijoX7MsPvmSYAXq3sFoc0T1Wtz/EuB7ts9itEBFLWVaUW+cmzhj/EjCZ/0B3GITe8wE8J2Z8WsuHQ6OWJxd4HbcSoTaG7fThg96EjXYMvMYL7Q/nk2cgXUxuL1dcMVU6x/buaHKPoNROc6ZTdCD6eqHRujTzC6AJmR/mOgy+YZlJM2MqExEoCxzNfm/eIU2Vk0xIm7hSppxZQm2m1uyobczXZMUzwLq2EThHof6YxjwscNL9d4XI1hydN2SHkVXQCcx+Oapqbi9LjUMR8CF0+hb/kaehAVciM7qqkjavTX9XmrESPFJcMY+qZLl6+6pZVoUhdkFa+qv72/zvb/atGtNHKhOlMvP/kBCDv0LTkOerYbuEXWRkem6CUMP+VshpQPL6PsJJpZAK1KKK7+fLf04lWBk7Hacs2uXuIgbOHZuQAgEQzAG9Ubf5d40CLfMIisjE= X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3095; 5:1PhTCiBigjNBO17ru7lEXYbvy00jQ0SnEEg+ELCgILQ8RYp8iRZwW9LlOe13diwkPUADSf6i63pkkhyUvQotIQ63BUhJ7X+8IJYtTWUTkhExfQS6tyfk39F7xl8G0yova5ZGo6oRKq4g5pxhw04NVtfysWfczHl+DhqhYmOTV4Z9KJbP3BSONFIbUNePlli6WJ8IiUtToV5ozOtHNk8H3QSIJ2rlo3NB5khc0Ljv1sdsHaJE7Bc5asHh34euW1Zr2ngllwaTr60JrSNkXUMowllhIMPV1l1JOWyshR2B5PzWFCUu8XD7LTRoryYpHFUG9Oe/9ltqEWJBu6ISZ1nOvAbViQ8OoM/l28ozTT2TLMIBjWcP+RQhiqQcez0SKZ7lt1JOP1vwAjvIUIf9UweYpZ7m4PksuOlzIpPD9sHNh7U6vLhfiWvUIigkOlXOGVUjBPehnHUKVBFH9vKYYdk+JOG9VUhqR0sQjihfSdmv8klH2bYU+PuFYk3qXRV+Jn01; 24:AoSUksblIc9qeqvnrlUMmmZl0LMTpVMCj04jHEiF7TcuXYhbVvn8Ydas1ZLdxubctKV6oAJNdIE9zxPOFqUeoI4ftJ+bPqZxuH71/nIu0AE= SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-Microsoft-Exchange-Diagnostics: 1; CY4PR07MB3095; 7:cLdefGDq1SUGjqd7qOUGdFhRCz3lxayX8JbzGApMKpCTf+wTEP5IrWNP8DA8hiwMt92YdUj36IStj+Ax7qbZeob71DwLukUZYG/JZqrJO47XPYGVkhicVcigwtIgAFNT/w3qco61VUFLHZwZaRNToBA0pTLXNqLSixaMq1O/Dw2a9p7otbRlHn3KciOqbJ3MM7G1AjJ9FGobtxypp13J+RnyAvvQPHu4zN6uVu7/Mw6aROlfb9inuSn6g0AEHQ3d3d8/Bskok2FxqhdGi2ogh8gUqTKm4bu2gOE9mwh5ugrIgwbmim1va0YGxfWIbXLFrXWcp7G6kBtHV3ncczu88854WYNo/gOdwKE6yGg+T1kbAuEj6EliamdDLpFYE6jeiDyWZZ1OHI1K275AolbAyhDZ566uPh+R3Tapcd9TUt8zl32O71mJbUhYdB0GLBfqh/7CgJyzFJtZ3lsgr89yY/jvp/TwOG/aADiewbPE9FXRWTDHWWmBmn5h8MSBMgwODg+2CWv/ssOL2VzNJxHC+iGGmGga1LCbbQtMPKYFJkxGiloKCual879Uk3xtt/1+fQezVQzrRYGL7wQiyaqdShbg3RX5mPxszjMyzLr4RxGPl3rz60O7RJhBQfFzZeZjUtAJquWaOTXvmhPBIKi3sOz8Hzw9YK+l8/z04oLkjHyhOQBFD/cop2NuxWfJZQHE21EvvSdX4pIotYRU+nYAF9/sHxPszpfg1nydJLvFt5ZcLZS1Q6TVdj/zXAZ3Kauh479CqNhM6VLJUMgBTyjCueMXqSPNqt43cXvfezA43jk= X-OriginatorOrg: caviumnetworks.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 13 Jul 2017 09:33:57.9663 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR07MB3095 Subject: [dpdk-dev] [PATCH v2 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 --- 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 | 13 +++++++++++++ lib/librte_mempool/rte_mempool_version.map | 7 +++++++ 4 files changed, 45 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..84b2f8151 100644 --- a/lib/librte_mempool/rte_mempool_ops.c +++ b/lib/librte_mempool/rte_mempool_ops.c @@ -85,6 +85,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 +124,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..392388bef 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.08 { + global: + + rte_mempool_ops_get_capabilities; + +} DPDK_16.07;