From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM02-SN1-obe.outbound.protection.outlook.com (mail-sn1nam02on0065.outbound.protection.outlook.com [104.47.36.65]) by dpdk.org (Postfix) with ESMTP id DB92F2BDC for ; Thu, 22 Sep 2016 13:52:56 +0200 (CEST) Received: from BY2PR03CA073.namprd03.prod.outlook.com (10.141.249.46) by CY1PR03MB2235.namprd03.prod.outlook.com (10.166.207.11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.629.8; Thu, 22 Sep 2016 11:52:52 +0000 Received: from BY2FFO11FD031.protection.gbl (2a01:111:f400:7c0c::120) by BY2PR03CA073.outlook.office365.com (2a01:111:e400:2c5d::46) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.1.629.8 via Frontend Transport; Thu, 22 Sep 2016 11:52:52 +0000 Authentication-Results: spf=fail (sender IP is 192.88.168.50) smtp.mailfrom=nxp.com; 6wind.com; dkim=none (message not signed) header.d=none;6wind.com; dmarc=fail action=none header.from=nxp.com; Received-SPF: Fail (protection.outlook.com: domain of nxp.com does not designate 192.88.168.50 as permitted sender) receiver=protection.outlook.com; client-ip=192.88.168.50; helo=tx30smr01.am.freescale.net; Received: from tx30smr01.am.freescale.net (192.88.168.50) by BY2FFO11FD031.mail.protection.outlook.com (10.1.14.196) with Microsoft SMTP Server (version=TLS1_0, cipher=TLS_RSA_WITH_AES_256_CBC_SHA) id 15.1.629.5 via Frontend Transport; Thu, 22 Sep 2016 11:52:51 +0000 Received: from [127.0.0.1] ([10.232.133.65]) by tx30smr01.am.freescale.net (8.14.3/8.14.0) with ESMTP id u8MBqjIu022676; Thu, 22 Sep 2016 04:52:49 -0700 To: Olivier Matz , References: <1474292567-21912-1-git-send-email-olivier.matz@6wind.com> CC: , From: Hemant Agrawal Message-ID: Date: Thu, 22 Sep 2016 17:22:45 +0530 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-Version: 1.0 In-Reply-To: <1474292567-21912-1-git-send-email-olivier.matz@6wind.com> Content-Type: text/plain; charset="windows-1252"; format=flowed Content-Transfer-Encoding: 7bit X-EOPAttributedMessage: 0 X-Matching-Connectors: 131190187722196829; (91ab9b29-cfa4-454e-5278-08d120cd25b8); () X-Forefront-Antispam-Report: CIP:192.88.168.50; IPV:NLI; CTRY:US; EFV:NLI; SFV:NSPM; SFS:(10009020)(6009001)(7916002)(2980300002)(1110001)(1109001)(339900001)(189002)(199003)(377454003)(24454002)(81156014)(2906002)(92566002)(8676002)(50986999)(356003)(23746002)(76176999)(54356999)(77096005)(2950100001)(36756003)(15975445007)(105606002)(31686004)(4326007)(561944003)(31696002)(11100500001)(106466001)(230700001)(64126003)(50466002)(65956001)(7246003)(85426001)(83506001)(120886001)(19580395003)(5001770100001)(68736007)(7126002)(81166006)(8936002)(65806001)(86362001)(586003)(189998001)(47776003)(65826007)(15395725005)(104016004)(33646002)(626004)(87936001)(7846002)(4001350100001)(97736004)(305945005)(5660300001); DIR:OUT; SFP:1101; SCL:1; SRVR:CY1PR03MB2235; H:tx30smr01.am.freescale.net; FPR:; SPF:Fail; PTR:InfoDomainNonexistent; MX:1; A:1; LANG:en; X-Microsoft-Exchange-Diagnostics: 1; BY2FFO11FD031; 1:dNvjPT/ZrwGXT9X3b4yxDsNDoOTEbFxLJPQXCpE3fJrBt8kL39WBJcCrSjRC/UB1SFUXRHkSQg7v4gqOevepvsdnU0e5uKpS4Hjf2rmB5d8iawreb1ArJ4SHfiTPOrcYyyDCrPYvAOZUGKUXsHAJ21CrUYVr3grO7WaOJRVB75UF595c21Zk9ntDclOFvY2g5x44/sGMy8cKeTQYJ16j9X6R5YdnD1t6r49yzY7gW+uiG5jl8ErXKy/gyjZwU+yPSmXgC1D1YPKwiu+Wq7jsRANcimeqoxRwbSfZD70IqfIlxjpYaDlIShHKAqN0VPJs3zx3gPdn2g2fln8qn744Pwp3A7Qdrzj8QjmnRZhXRKXxQC+wraRCb9ZllgtRSI4cjkwsaD/ftBAdCwIJfORFdGsfggvcl8yFqNcHXQXOnfzV7p/dBIhUL13XU4tp3AWptnx4f5sxHQZkXAMW31mJrAshxZOnBHCSqIPXM71e6FQT8CKWtaq/gcW6fc8HRfyJPuKo2dZZx78SLoNcH20ZXs6cXJ8pGFAkGTg/Cnt8iFWHeAKfstz//fLg1Y04PGJc4OyXQINuuy4QEGfhne/ms46PYszfFGV4hezvzYV4+jjLcf5zswjDY1joxFBu4URX X-MS-Office365-Filtering-Correlation-Id: 1da1dc2d-c3ba-4501-bc55-08d3e2defb96 X-Microsoft-Exchange-Diagnostics: 1; CY1PR03MB2235; 2:A2J5dVeR0dbEPuGy/iFCTl0uoKREXHZlkN9hDMpEndbqvq+z1H0bf7REChfduS6J7yLKBnTFqHE8pwv4991QVvcnYM/4iEBpzdQpYn7mvV26m3CO/jMKYMQbDtIgKSGMuvrinSbCELfdbf2Zp87kCMWoq3D3g1o+uf7eaCidn/fNx8RCa8K9fsWX77Go5RY/; 3:DTL3QDZRxWV0Pq7fuxD1rA8YwHcWDFV2a35QurWmbQ3JxvklULgRxPCGGRUca6N/nu0vs6TfxA3HOl1++LemCSz7RrxIOr0YooAv0YdT2TvR4I261MQVlxbwBTC0553ZDiJw7ves+bfUVnNJnfnpPIsWoIbYddaTa/2JU76tLxnnGj00Bt77iFV9CZV/NBoXBCgaQId3g44a4A/FfCh5nNoTVudFqVT7cECgz0CVh2o= X-Microsoft-Antispam: UriScan:;BCL:0;PCL:0;RULEID:;SRVR:CY1PR03MB2235; X-Microsoft-Exchange-Diagnostics: 1; CY1PR03MB2235; 25:IJSJ4NgURY/U8axxXy0DksbpelNjKEHs81xKHay0IBrZncdiXGdc+wAGWeCFZySCf95FcFZpysXwYvu4qEd05C7eWP8fJPEUtC1jlmBDDHb1saUC+CINxT06rxitdJY/yBGTyuSSlRPx98SF3xcs546vAgxyDx8ZxSFQGBgLVX9wOSaO0kubNRo0XGsIO16LVOVr6YLqZCHk5aHfGAgOzDvPv7NU9/xJMhChpE494KwlR4MW2fyWjCnKR7aP6qKpSjYkQYHxCq+3utIfFx2oim6tkMUjvmu/bQkfoYVc8fsTvyt7aRuACgPJ05jjgT0zV9jlVvCERCnFcB0CL7g0OZsSjo1bpkUFzEWopfpaqlLS3ubtjbztQAuEPctu9Uk0tFYMhmA71glb3TmaENN7EJAIIrBiB9xkMk2lI1AzMTm3PexAFEjfDgIyIWJj4JNLY19VtN2TC+ZlnRXs0XKGkacsF40xSpkW1TcHb/i7b5F1Jd/aiN0J/dXQTkF+0aQ/zPZ4JnmeXj3Aj6JKCSCWJWCvhrWU/Zkjj6YNIryxiy55QeH92IbgHX4QjA9bA6lEgfF2DESe08xBMs4v2BtFBDtx9GJnGRixZAYRxbMxOJiGo6pv4zGipXg5XYhEoCBcSoceBhaWybbztNF/YJP+D5jvLLOGokMT7Pfkogge6LUy2HvdXTHc7ydpzWhndyfHGoF/iQ6uJpNQja0LHc7omyeYL/QVgZmRS+yeRMs6oSmLv7U62itia9UoonLjrpeqnTiLho7bIM44VlmQaJ5NzOgdK91A+1p3UEFV1umYmNZ9ADkETE2PJcBxud0fsaGH9Gfby/+9Pqd4ZJOnuyT9Pw== X-Microsoft-Exchange-Diagnostics: 1; CY1PR03MB2235; 31:ynkPLxoA8E+SrisP4vAkHXXy1RazOQu9VK9IrDN475t2t3q3GLPnbqx2heAshhda4esNp2w8prdUQkgjTZ/UCHoPbsTHSInx70Yy5e2LNwnbVhJRy/q917s/K9/FPLsXLHcjSF1B6NkOlcJufN6RMfn8a6so0eoqfS3wEBni/sTtrKtI3VFBX+bzEVavM+EvlGfDIInaVF4MPidbjmrNk2l2scvhNpQZmf8cQHSlwzg=; 4:ZNfvZkWPdjfKp71cNcZJpQqfs1/59Jl8j3vuYW0Wv1CowIksy5KzUffnJJZh8VJErHzPihhqvpLEBnunXqt8JEplrduM79pRJ6E87Lo9XccM9DPvE9Ge9qgF1ktLPvMJ4zuqcrFldj8ngHrcaSjHs4Ya66/ZBCZIs+Hff3KJDmdtPS1QNDcZvWj362cbXBdvRKOXThHgzw6zGn6o5ncZLzU1hsJWjv4ExLdEqYB6gR1Cs5jcHXwZQEq6MrOzEV/ORUGgPzpM0Vw5JXxFnCPoY4SmdNuHSOHBxt4NdWCX7hc8Mb9miCzLnIcbZMyEEgLzHpqgWOOPVTWAXV4yjsV4jg4qlsl1SwBge5Ymz3grebbqD/CpBT5sdo5EOR6SLSTGS6lP+K1BdppV3cFc5FmTH5l7KMQakvlsv5lX2osTiWrwARIHpM57yNIuHgKMprSwSp5mFpBF9UcJ0p5ezMzU4QnRXuvpm37zrmS95uo0MQJ/T2gkJ5wAVPY2/QZ8N/Y8EQfsJ7zQTtbpOSHUJ0Bb6akjLG+hecoK4+jAbRXNsJg= X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:(278428928389397); X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(6040176)(601004)(2401047)(8121501046)(5005006)(13018025)(13024025)(13015025)(13017025)(13023025)(3002001)(10201501046)(6055026); SRVR:CY1PR03MB2235; BCL:0; PCL:0; RULEID:(400006); SRVR:CY1PR03MB2235; X-Forefront-PRVS: 0073BFEF03 X-Microsoft-Exchange-Diagnostics: =?Windows-1252?Q?1; CY1PR03MB2235; 23:88H5OYolkxrVYpdyXpmvOq6AMlXpNobIL3A/z?= =?Windows-1252?Q?/vvuygbgdVWida7lGO19Nq+R2Kj5+AtWCsunyVsoyfHjg3wcvYw571CZ?= =?Windows-1252?Q?UQ5LEn531BhJHwzXMro0GnKUGBE5sLOSkVXlfNGjElj8sTq6igz7X6up?= =?Windows-1252?Q?jsbGcycJortGLxVFMFaHrS5432uw/Vq01G37/nN0yGiJserixDe2MX1a?= =?Windows-1252?Q?3kvsjmY0iJTg6A33R3bGsQSdThIdLr1+YICVYgiFculwDescVy/Xgv3p?= =?Windows-1252?Q?1dhQOTHm0wyZAsZm3086DDHM+I0LwbDUOmBEhjWhAuDSZyJGEjzJcQZJ?= =?Windows-1252?Q?vV3Yqxg6/873D4Q6pH/oYsooUMmVAf6z+6SYw14h/hewtYfqb9hctifa?= =?Windows-1252?Q?VBHEvuoY3Xc+WdoQ15w49vDikYjpAoKHAlzm3uhlHMyDoHyJJaE0g6vb?= =?Windows-1252?Q?3u4LjNy3dIuux+2JRCMKi7711XjENc1/P+Dj09rQSdCcNioSKpfgh2L5?= =?Windows-1252?Q?CkvLOA75QXJRPViZfKaeJQ6Td/seuRpb5+Scp1Ht0b88V57TMy7c9E25?= =?Windows-1252?Q?CpHkBIcO9/gaebU9FidyfOVL3EFL4/Z8DG5AALMV14U7NJwXOIxUDje8?= =?Windows-1252?Q?2Nk4UHW1wNlhvmXvsyH5F7w993KuzZVRBeZT5trGAPrVUbSgNNvquasI?= =?Windows-1252?Q?m76FqJAJbHqs8TqtQyFREQ6xqD+4N8ueJyid4A2kmRulcoehCtljatFc?= =?Windows-1252?Q?cABh81beVwkQmsVAQ4zGT3Dv9fSS58PFac3cKnHc9MgUIWzJRE1C2L5e?= =?Windows-1252?Q?zzm8rn5aEti8Lc67KU6ZlphUWUur/eEo1v+crS1wMiLeNIyID2pxtUDB?= =?Windows-1252?Q?eO3w+VkFFypMYcVckKLjC7eldQbG2cPExaRELMLCaV9NUdeUpVBT16aC?= =?Windows-1252?Q?/Sl9/kP2hMm5YYiM2tV0obPX2JH/mz0ScCrBTaSUqHe5ubqUuWzDER/A?= =?Windows-1252?Q?3rGayMGFQTDp2w8I2/xVBmCNA2eM1ZFGYBtpl7M+uDBVYojYfKgJUwW9?= =?Windows-1252?Q?bpvi7rz/YkCTfL8hoffxbO9st4jV2bf40o117t9nzTBef+8NG9R2fCmf?= =?Windows-1252?Q?pHVi0dYqca5CiwpbITKWfIgxT7GpPOKxOeta1GCBkAw3qeUYet95HeKG?= =?Windows-1252?Q?PKTQiNEF679S9BMquXVVPhfau/0+jkt8vF4BJGJB3XjkJvYRfUIZZdCs?= =?Windows-1252?Q?nu6xnTbIPnxYvUB8wO7dENGxnVZBOOhrTzgwbetYKRUvStXb2cwdKRw/?= =?Windows-1252?Q?0jnnAJhl2MRdNXvC4cJWtghbOY/Z48akHAJacX6VOpkKNUy7feUmijOY?= =?Windows-1252?Q?LGcfeBXSpQqqcJtJGhWqDDQyDEpxJPYlu2yszOLIT4TaWx9w0NDFqaxx?= =?Windows-1252?Q?ecKjisGrU5uoMnKEnnlwyHW9CDbYjNnFTypxRQm2VTGCO2ZHDHuijOUm?= =?Windows-1252?Q?khpvYylNmOjCWS5KD1NqvVtkJ5oIEZsU0Nvrpv/Gy6IsFW74mLkSSTk3?= =?Windows-1252?Q?Bteazrl4J/N9rA=3D?= X-Microsoft-Exchange-Diagnostics: 1; CY1PR03MB2235; 6:WRG3tuwXnmTDarAs/m4IrvZhOb48blXp2eFTLwOxyFlQ3picfr4kwftAAN8uC8/ZQiggsma41fmizMiG+1sC2uBEzsPbyLd9eH5z2h9jkqjp7Nxt0sbXwzB0rlSMmju5ctgw3ZWiHRdPIaQwI0I0KKfQPogqZCkn8FeeD1H+H9kZDYLlzPi/HzQSnaFgqhtg74JY1nrRJ+XsHvHsxwhRX/DT9UXkz3sUxWGCblBR4fI6zygjIyR7YYevGKjqYSMsjs4Vcytl+Kd9gcmYQWppMcNmvZNxCyVGl9NMeYjV8qA=; 5:PSV9HTu5fyzH3p9iygPVC0YaSRdzIYfCv8sWHr7dXNc5itmfpRKtklNMn+KNk3LLbemw7+vFpRrjsEiBFOgGbOXNGARoobyrGOfsH54Y1UCMUY2JsM8VBM2a8AUd7gZWaxuwC0Jz8DVCZxQVE/tYmgovKAk3sjhPxEFokqsygXQ=; 24:/mcK506NE3S/9X3FNttesna39s4C/RO8FBV7K9trJy0Hud6jGu3AcrR/jfgmDrpjFIYU6G/i1C1B5vhYoSkufRs1B0Njwy6djboO+7zbRvA=; 7:rFodKdgCclljSIw/We+YWuV1FiwykZ6ljMLfFBUeg9yrO+CUcA1jUexSmB6noq/Gw8Zbe+jfzRBvu0L/hcbT2PdYouPsSzOhYIMiaJw1uWrsbNGVToGzHJYT8QW6f29RcOndkwQcxDxYl/184hd5OWeV/dSaHX2mR5NDcDKtkIq9doK3Omum3pG7R6lDBoPB2/9GaL2u8IUsXYEZR5h6u0R3ynlRVfiTW43S0wy2Wdo4gwSpd992F9C4GTouuOLg0KmEWiHeT3YHohAPLFASMN7MKLanxbjrz28yqCfgoFja7ah51SrXFk7gkYbFREcu SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Sep 2016 11:52:51.9076 (UTC) X-MS-Exchange-CrossTenant-Id: 5afe0b00-7697-4969-b663-5eab37d5f47e X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=5afe0b00-7697-4969-b663-5eab37d5f47e; Ip=[192.88.168.50]; Helo=[tx30smr01.am.freescale.net] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY1PR03MB2235 Subject: Re: [dpdk-dev] [RFC 0/7] changing mbuf pool handler X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 22 Sep 2016 11:52:57 -0000 Hi Olivier On 9/19/2016 7:12 PM, Olivier Matz wrote: > Hello, > > Following discussion from [1] ("usages issue with external mempool"). > > This is a tentative to make the mempool_ops feature introduced > by David Hunt [2] more widely used by applications. > > It applies on top of a minor fix in mbuf lib [3]. > > To sumarize the needs (please comment if I did not got it properly): > > - new hw-assisted mempool handlers will soon be introduced > - to make use of it, the new mempool API [4] (rte_mempool_create_empty, > rte_mempool_populate, ...) has to be used > - the legacy mempool API (rte_mempool_create) does not allow to change > the mempool ops. The default is "ring_p_c" depending on > flags. > - the mbuf helper (rte_pktmbuf_pool_create) does not allow to change > them either, and the default is RTE_MBUF_DEFAULT_MEMPOOL_OPS > ("ring_mp_mc") > - today, most (if not all) applications and examples use either > rte_pktmbuf_pool_create or rte_mempool_create to create the mbuf > pool, making it difficult to take advantage of this feature with > existing apps. > > My initial idea was to deprecate both rte_pktmbuf_pool_create() and > rte_mempool_create(), forcing the applications to use the new API, which > is more flexible. But after digging a bit, it appeared that > rte_mempool_create() is widely used, and not only for mbufs. Deprecating > it would have a big impact on applications, and replacing it with the > new API would be overkill in many use-cases. I agree with the proposal. > > So I finally tried the following approach (inspired from a suggestion > Jerin [5]): > > - add a new mempool_ops parameter to rte_pktmbuf_pool_create(). This > unfortunatelly breaks the API, but I implemented an ABI compat layer. > If the patch is accepted, we could discuss how to announce/schedule > the API change. > - update the applications and documentation to prefer > rte_pktmbuf_pool_create() as much as possible > - update most used examples (testpmd, l2fwd, l3fwd) to add a new command > line argument to select the mempool handler > > I hope the external applications would then switch to > rte_pktmbuf_pool_create(), since it supports most of the use-cases (even > priv_size != 0, since we can call rte_mempool_obj_iter() after) . > I will still prefer if you can add the "rte_mempool_obj_cb_t *obj_cb, void *obj_cb_arg" into "rte_pktmbuf_pool_create". This single consolidated wrapper will almost make it certain that applications will not try to use rte_mempool_create for packet buffers. > Comments are of course welcome. Note: the patchset is not really > tested yet. > > > Thanks, > Olivier > > [1] http://dpdk.org/ml/archives/dev/2016-July/044734.html > [2] http://dpdk.org/ml/archives/dev/2016-June/042423.html > [3] http://www.dpdk.org/dev/patchwork/patch/15923/ > [4] http://dpdk.org/ml/archives/dev/2016-May/039229.html > [5] http://dpdk.org/ml/archives/dev/2016-July/044779.html > > > Olivier Matz (7): > mbuf: set the handler at mbuf pool creation > mbuf: use helper to create the pool > testpmd: new parameter to set mbuf pool ops > l3fwd: rework long options parsing > l3fwd: new parameter to set mbuf pool ops > l2fwd: rework long options parsing > l2fwd: new parameter to set mbuf pool ops > > app/pdump/main.c | 2 +- > app/test-pipeline/init.c | 3 +- > app/test-pmd/parameters.c | 5 + > app/test-pmd/testpmd.c | 16 +- > app/test-pmd/testpmd.h | 1 + > app/test/test_cryptodev.c | 2 +- > app/test/test_cryptodev_perf.c | 2 +- > app/test/test_distributor.c | 2 +- > app/test/test_distributor_perf.c | 2 +- > app/test/test_kni.c | 2 +- > app/test/test_link_bonding.c | 2 +- > app/test/test_link_bonding_mode4.c | 2 +- > app/test/test_link_bonding_rssconf.c | 11 +- > app/test/test_mbuf.c | 6 +- > app/test/test_pmd_perf.c | 3 +- > app/test/test_pmd_ring.c | 2 +- > app/test/test_reorder.c | 2 +- > app/test/test_sched.c | 2 +- > app/test/test_table.c | 2 +- > doc/guides/prog_guide/mbuf_lib.rst | 2 +- > doc/guides/sample_app_ug/ip_reassembly.rst | 13 +- > doc/guides/sample_app_ug/ipv4_multicast.rst | 12 +- > doc/guides/sample_app_ug/l2_forward_job_stats.rst | 33 ++-- > .../sample_app_ug/l2_forward_real_virtual.rst | 26 ++- > doc/guides/sample_app_ug/ptpclient.rst | 12 +- > doc/guides/sample_app_ug/quota_watermark.rst | 26 ++- > drivers/net/bonding/rte_eth_bond_8023ad.c | 13 +- > drivers/net/bonding/rte_eth_bond_alb.c | 2 +- > examples/bond/main.c | 2 +- > examples/distributor/main.c | 2 +- > examples/dpdk_qat/main.c | 3 +- > examples/ethtool/ethtool-app/main.c | 4 +- > examples/exception_path/main.c | 3 +- > examples/ip_fragmentation/main.c | 4 +- > examples/ip_pipeline/init.c | 19 ++- > examples/ip_reassembly/main.c | 16 +- > examples/ipsec-secgw/ipsec-secgw.c | 2 +- > examples/ipv4_multicast/main.c | 6 +- > examples/kni/main.c | 2 +- > examples/l2fwd-cat/l2fwd-cat.c | 3 +- > examples/l2fwd-crypto/main.c | 2 +- > examples/l2fwd-jobstats/main.c | 2 +- > examples/l2fwd-keepalive/main.c | 2 +- > examples/l2fwd/main.c | 36 ++++- > examples/l3fwd-acl/main.c | 2 +- > examples/l3fwd-power/main.c | 2 +- > examples/l3fwd-vf/main.c | 2 +- > examples/l3fwd/main.c | 180 +++++++++++---------- > examples/link_status_interrupt/main.c | 2 +- > examples/load_balancer/init.c | 2 +- > .../client_server_mp/mp_server/init.c | 3 +- > examples/multi_process/l2fwd_fork/main.c | 14 +- > examples/multi_process/symmetric_mp/main.c | 2 +- > examples/netmap_compat/bridge/bridge.c | 2 +- > examples/packet_ordering/main.c | 2 +- > examples/performance-thread/l3fwd-thread/main.c | 2 +- > examples/ptpclient/ptpclient.c | 3 +- > examples/qos_meter/main.c | 2 +- > examples/qos_sched/init.c | 2 +- > examples/quota_watermark/qw/main.c | 2 +- > examples/rxtx_callbacks/main.c | 2 +- > examples/skeleton/basicfwd.c | 3 +- > examples/tep_termination/main.c | 17 +- > examples/vhost/main.c | 2 +- > examples/vhost_xen/main.c | 2 +- > examples/vmdq/main.c | 2 +- > examples/vmdq_dcb/main.c | 2 +- > lib/librte_mbuf/rte_mbuf.c | 34 +++- > lib/librte_mbuf/rte_mbuf.h | 44 +++-- > lib/librte_mbuf/rte_mbuf_version.map | 7 + > 70 files changed, 366 insertions(+), 289 deletions(-) >