get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/4524/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 4524,
    "url": "http://patches.dpdk.org/api/patches/4524/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/1430350311-2368-1-git-send-email-konstantin.ananyev@intel.com/",
    "project": {
        "id": 1,
        "url": "http://patches.dpdk.org/api/projects/1/?format=api",
        "name": "DPDK",
        "link_name": "dpdk",
        "list_id": "dev.dpdk.org",
        "list_email": "dev@dpdk.org",
        "web_url": "http://core.dpdk.org",
        "scm_url": "git://dpdk.org/dpdk",
        "webscm_url": "http://git.dpdk.org/dpdk",
        "list_archive_url": "https://inbox.dpdk.org/dev",
        "list_archive_url_format": "https://inbox.dpdk.org/dev/{}",
        "commit_url_format": ""
    },
    "msgid": "<1430350311-2368-1-git-send-email-konstantin.ananyev@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1430350311-2368-1-git-send-email-konstantin.ananyev@intel.com",
    "date": "2015-04-29T23:31:51",
    "name": "[dpdk-dev,PATCHv2] app/ and examples/ fix default mbuf size",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "44d4286c5400d3fe846eaa30d8726b834897e53d",
    "submitter": {
        "id": 33,
        "url": "http://patches.dpdk.org/api/people/33/?format=api",
        "name": "Ananyev, Konstantin",
        "email": "konstantin.ananyev@intel.com"
    },
    "delegate": null,
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/1430350311-2368-1-git-send-email-konstantin.ananyev@intel.com/mbox/",
    "series": [],
    "comments": "http://patches.dpdk.org/api/patches/4524/comments/",
    "check": "pending",
    "checks": "http://patches.dpdk.org/api/patches/4524/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@dpdk.org",
        "Delivered-To": "patchwork@dpdk.org",
        "Received": [
            "from [92.243.14.124] (localhost [IPv6:::1])\n\tby dpdk.org (Postfix) with ESMTP id B8B6EC9D6;\n\tThu, 30 Apr 2015 01:32:03 +0200 (CEST)",
            "from mga09.intel.com (mga09.intel.com [134.134.136.24])\n\tby dpdk.org (Postfix) with ESMTP id A06A2C9D2\n\tfor <dev@dpdk.org>; Thu, 30 Apr 2015 01:32:01 +0200 (CEST)",
            "from fmsmga003.fm.intel.com ([10.253.24.29])\n\tby orsmga102.jf.intel.com with ESMTP; 29 Apr 2015 16:31:55 -0700",
            "from irvmail001.ir.intel.com ([163.33.26.43])\n\tby FMSMGA003.fm.intel.com with ESMTP; 29 Apr 2015 16:31:54 -0700",
            "from sivswdev02.ir.intel.com (sivswdev02.ir.intel.com\n\t[10.237.217.46])\n\tby irvmail001.ir.intel.com (8.14.3/8.13.6/MailSET/Hub) with ESMTP id\n\tt3TNVswn005880; Thu, 30 Apr 2015 00:31:54 +0100",
            "from sivswdev02.ir.intel.com (localhost [127.0.0.1])\n\tby sivswdev02.ir.intel.com with ESMTP id t3TNVrc8002407;\n\tThu, 30 Apr 2015 00:31:53 +0100",
            "(from kananye1@localhost)\n\tby sivswdev02.ir.intel.com with  id t3TNVruX002403;\n\tThu, 30 Apr 2015 00:31:53 +0100"
        ],
        "X-ExtLoop1": "1",
        "X-IronPort-AV": "E=Sophos;i=\"5.11,673,1422950400\"; d=\"scan'208\";a=\"487417353\"",
        "From": "Konstantin Ananyev <konstantin.ananyev@intel.com>",
        "To": "dev@dpdk.org",
        "Date": "Thu, 30 Apr 2015 00:31:51 +0100",
        "Message-Id": "<1430350311-2368-1-git-send-email-konstantin.ananyev@intel.com>",
        "X-Mailer": "git-send-email 1.7.4.1",
        "Subject": "[dpdk-dev] [PATCHv2] app/ and examples/ fix default mbuf size",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "patches and discussions about DPDK <dev.dpdk.org>",
        "List-Unsubscribe": "<http://dpdk.org/ml/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://dpdk.org/ml/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<http://dpdk.org/ml/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "v2 changes:\n- add a new macro into rte_mbuf.h\n- make samples to use that new macro\n\n\nFixes: dfb03bbe2b (\"app/testpmd: use standard functions to initialize\nmbufs and mbuf pool\").\nLatest mbuf changes (priv_size addition and related fixes)\nexposed small problem with testpmd and few other sample apps:\nwhen mbuf size is exaclty 2KB or less, that causes\nixgbe PMD to select scattered RX even for configs with 'normal'\nmax packet length (max_rx_pkt_len == ETHER_MAX_LEN).\nTo overcome that problem and unify the code, new macro was created\nto represent recommended minimal buffer length for mbuf.\nWhen appropriate, samples are updated to use that macro.\n\nSigned-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>\n---\n app/test-pmd/testpmd.h                                   |  3 ++-\n app/test/test_distributor.c                              |  4 +---\n app/test/test_distributor_perf.c                         |  4 +---\n app/test/test_link_bonding.c                             |  6 ++----\n app/test/test_link_bonding_mode4.c                       |  6 ++----\n app/test/test_pmd_perf.c                                 |  5 ++---\n app/test/test_pmd_ring.c                                 |  3 +--\n app/test/test_reorder.c                                  |  4 ++--\n app/test/test_table.h                                    |  2 +-\n examples/bond/main.c                                     |  3 +--\n examples/distributor/main.c                              |  5 ++---\n examples/dpdk_qat/main.c                                 |  3 +--\n examples/ip_fragmentation/main.c                         |  4 +---\n examples/ip_pipeline/init.c                              |  2 +-\n examples/ip_reassembly/main.c                            |  2 +-\n examples/ipv4_multicast/main.c                           |  2 +-\n examples/l2fwd-ivshmem/host/host.c                       |  3 +--\n examples/l2fwd-jobstats/main.c                           |  3 +--\n examples/l2fwd/main.c                                    |  3 +--\n examples/l3fwd-acl/main.c                                |  5 ++---\n examples/l3fwd-power/main.c                              |  5 ++---\n examples/l3fwd-vf/main.c                                 |  6 ++----\n examples/l3fwd/main.c                                    |  6 ++----\n examples/link_status_interrupt/main.c                    |  3 +--\n examples/load_balancer/main.h                            |  2 +-\n examples/multi_process/client_server_mp/mp_server/init.c |  3 +--\n examples/multi_process/l2fwd_fork/main.c                 |  3 ++-\n examples/multi_process/symmetric_mp/main.c               |  3 +--\n examples/netmap_compat/bridge/bridge.c                   |  2 +-\n examples/packet_ordering/main.c                          |  3 +--\n examples/qos_meter/main.c                                |  3 +--\n examples/qos_sched/init.c                                |  3 ++-\n examples/qos_sched/main.h                                |  1 -\n examples/quota_watermark/include/conf.h                  |  2 +-\n examples/rxtx_callbacks/main.c                           |  5 ++---\n examples/skeleton/basicfwd.c                             |  3 +--\n examples/vhost/main.c                                    |  8 ++++----\n examples/vhost_xen/main.c                                |  3 +--\n examples/vmdq/main.c                                     |  3 +--\n examples/vmdq_dcb/main.c                                 |  3 +--\n lib/librte_mbuf/rte_mbuf.h                               | 10 ++++++++++\n 41 files changed, 65 insertions(+), 87 deletions(-)",
    "diff": "diff --git a/app/test-pmd/testpmd.h b/app/test-pmd/testpmd.h\nindex 389fc24..c3b6700 100644\n--- a/app/test-pmd/testpmd.h\n+++ b/app/test-pmd/testpmd.h\n@@ -48,7 +48,8 @@\n  * Default size of the mbuf data buffer to receive standard 1518-byte\n  * Ethernet frames in a mono-segment memory buffer.\n  */\n-#define DEFAULT_MBUF_DATA_SIZE 2048 /**< Default size of mbuf data buffer. */\n+#define DEFAULT_MBUF_DATA_SIZE RTE_MBUF_DEFAULT_BUF_SIZE\n+/**< Default size of mbuf data buffer. */\n \n /*\n  * The maximum number of segments per packet is used when creating\ndiff --git a/app/test/test_distributor.c b/app/test/test_distributor.c\nindex ad46987..b334392 100644\n--- a/app/test/test_distributor.c\n+++ b/app/test/test_distributor.c\n@@ -500,8 +500,6 @@ quit_workers(struct rte_distributor *d, struct rte_mempool *p)\n \tworker_idx = 0;\n }\n \n-#define MBUF_DATA_SIZE (2048 + RTE_PKTMBUF_HEADROOM)\n-\n static int\n test_distributor(void)\n {\n@@ -529,7 +527,7 @@ test_distributor(void)\n \t\t\t(BIG_BATCH * 2) - 1 : (511 * rte_lcore_count());\n \tif (p == NULL) {\n \t\tp = rte_pktmbuf_pool_create(\"DT_MBUF_POOL\", nb_bufs, BURST,\n-\t\t\t0, MBUF_DATA_SIZE, rte_socket_id());\n+\t\t\t0, RTE_MBUF_DEFAULT_BUF_SIZE, rte_socket_id());\n \t\tif (p == NULL) {\n \t\t\tprintf(\"Error creating mempool\\n\");\n \t\t\treturn -1;\ndiff --git a/app/test/test_distributor_perf.c b/app/test/test_distributor_perf.c\nindex f04cb15..c45a012 100644\n--- a/app/test/test_distributor_perf.c\n+++ b/app/test/test_distributor_perf.c\n@@ -209,8 +209,6 @@ quit_workers(struct rte_distributor *d, struct rte_mempool *p)\n \tworker_idx = 0;\n }\n \n-#define MBUF_DATA_SIZE (2048 + RTE_PKTMBUF_HEADROOM)\n-\n static int\n test_distributor_perf(void)\n {\n@@ -241,7 +239,7 @@ test_distributor_perf(void)\n \t\t\t(BIG_BATCH * 2) - 1 : (511 * rte_lcore_count());\n \tif (p == NULL) {\n \t\tp = rte_pktmbuf_pool_create(\"DPT_MBUF_POOL\", nb_bufs, BURST,\n-\t\t\t0, MBUF_DATA_SIZE, rte_socket_id());\n+\t\t\t0, RTE_MBUF_DEFAULT_BUF_SIZE, rte_socket_id());\n \t\tif (p == NULL) {\n \t\t\tprintf(\"Error creating mempool\\n\");\n \t\t\treturn -1;\ndiff --git a/app/test/test_link_bonding.c b/app/test/test_link_bonding.c\nindex 674d8dd..305d45d 100644\n--- a/app/test/test_link_bonding.c\n+++ b/app/test/test_link_bonding.c\n@@ -75,11 +75,9 @@\n \tETH_TXQ_FLAGS_NOXSUMSCTP | ETH_TXQ_FLAGS_NOXSUMUDP | \\\n \tETH_TXQ_FLAGS_NOXSUMTCP)\n \n-#define MBUF_DATA_SIZE (2048 + RTE_PKTMBUF_HEADROOM)\n #define MBUF_CACHE_SIZE (250)\n #define BURST_SIZE (32)\n \n-#define DEFAULT_MBUF_DATA_SIZE\t(2048)\n #define RTE_TEST_RX_DESC_MAX\t(2048)\n #define RTE_TEST_TX_DESC_MAX\t(2048)\n #define MAX_PKT_BURST\t\t\t(512)\n@@ -280,8 +278,8 @@ test_setup(void)\n \t\t\tRTE_TEST_TX_DESC_MAX + MAX_PKT_BURST;\n \tif (test_params->mbuf_pool == NULL) {\n \t\ttest_params->mbuf_pool = rte_pktmbuf_pool_create(\"MBUF_POOL\",\n-\t\t\tnb_mbuf_per_pool, MBUF_CACHE_SIZE, 0, MBUF_DATA_SIZE,\n-\t\t\trte_socket_id());\n+\t\t\tnb_mbuf_per_pool, MBUF_CACHE_SIZE, 0,\n+\t\t\tRTE_MBUF_DEFAULT_BUF_SIZE, rte_socket_id());\n \t\tTEST_ASSERT_NOT_NULL(test_params->mbuf_pool,\n \t\t\t\t\"rte_mempool_create failed\");\n \t}\ndiff --git a/app/test/test_link_bonding_mode4.c b/app/test/test_link_bonding_mode4.c\nindex 590daad..460539d 100644\n--- a/app/test/test_link_bonding_mode4.c\n+++ b/app/test/test_link_bonding_mode4.c\n@@ -65,11 +65,9 @@\n #define RX_RING_SIZE 128\n #define TX_RING_SIZE 512\n \n-#define MBUF_DATA_SIZE          (2048 + RTE_PKTMBUF_HEADROOM)\n #define MBUF_CACHE_SIZE         (250)\n #define BURST_SIZE              (32)\n \n-#define DEFAULT_MBUF_DATA_SIZE  (2048)\n #define TEST_RX_DESC_MAX        (2048)\n #define TEST_TX_DESC_MAX        (2048)\n #define MAX_PKT_BURST           (32)\n@@ -389,8 +387,8 @@ test_setup(void)\n \t\tnb_mbuf_per_pool = TEST_RX_DESC_MAX + DEF_PKT_BURST +\n \t\t\t\t\tTEST_TX_DESC_MAX + MAX_PKT_BURST;\n \t\ttest_params.mbuf_pool = rte_pktmbuf_pool_create(\"TEST_MODE4\",\n-\t\t\tnb_mbuf_per_pool, MBUF_CACHE_SIZE, 0, MBUF_DATA_SIZE,\n-\t\t\tsocket_id);\n+\t\t\tnb_mbuf_per_pool, MBUF_CACHE_SIZE, 0,\n+\t\t\tRTE_MBUF_DEFAULT_BUF_SIZE, socket_id);\n \n \t\tTEST_ASSERT(test_params.mbuf_pool != NULL,\n \t\t\t\"rte_mempool_create failed\\n\");\ndiff --git a/app/test/test_pmd_perf.c b/app/test/test_pmd_perf.c\nindex 49a494d..1fd6843 100644\n--- a/app/test/test_pmd_perf.c\n+++ b/app/test/test_pmd_perf.c\n@@ -47,7 +47,6 @@\n #define NB_ETHPORTS_USED                (1)\n #define NB_SOCKETS                      (2)\n #define MEMPOOL_CACHE_SIZE 250\n-#define MBUF_DATA_SIZE (2048 + RTE_PKTMBUF_HEADROOM)\n #define MAX_PKT_BURST                   (32)\n #define RTE_TEST_RX_DESC_DEFAULT        (128)\n #define RTE_TEST_TX_DESC_DEFAULT        (512)\n@@ -290,8 +289,8 @@ init_mbufpool(unsigned nb_mbuf)\n \t\t\tsnprintf(s, sizeof(s), \"mbuf_pool_%d\", socketid);\n \t\t\tmbufpool[socketid] =\n \t\t\t\trte_pktmbuf_pool_create(s, nb_mbuf,\n-\t\t\t\t\tMEMPOOL_CACHE_SIZE, 0, MBUF_DATA_SIZE,\n-\t\t\t\t\tsocketid);\n+\t\t\t\t\tMEMPOOL_CACHE_SIZE, 0,\n+\t\t\t\t\tRTE_MBUF_DEFAULT_BUF_SIZE, socketid);\n \t\t\tif (mbufpool[socketid] == NULL)\n \t\t\t\trte_exit(EXIT_FAILURE,\n \t\t\t\t\t\"Cannot init mbuf pool on socket %d\\n\",\ndiff --git a/app/test/test_pmd_ring.c b/app/test/test_pmd_ring.c\nindex 53897f7..a555db8 100644\n--- a/app/test/test_pmd_ring.c\n+++ b/app/test/test_pmd_ring.c\n@@ -48,7 +48,6 @@ static struct rte_mempool *mp;\n \n #define RING_SIZE 256\n \n-#define MBUF_DATA_SIZE (2048 + RTE_PKTMBUF_HEADROOM)\n #define NB_MBUF   512\n \n static int\n@@ -407,7 +406,7 @@ static int\n test_pmd_ring(void)\n {\n \tmp = rte_pktmbuf_pool_create(\"mbuf_pool\", NB_MBUF, 32,\n-\t\t0, MBUF_DATA_SIZE, rte_socket_id());\n+\t\t0, RTE_MBUF_DEFAULT_BUF_SIZE, rte_socket_id());\n \tif (mp == NULL)\n \t\treturn -1;\n \ndiff --git a/app/test/test_reorder.c b/app/test/test_reorder.c\nindex 91fbe9a..5752d7e 100644\n--- a/app/test/test_reorder.c\n+++ b/app/test/test_reorder.c\n@@ -50,7 +50,6 @@\n #define REORDER_BUFFER_SIZE 16384\n #define NUM_MBUFS (2*REORDER_BUFFER_SIZE)\n #define REORDER_BUFFER_SIZE_INVALID 2049\n-#define MBUF_DATA_SIZE (2048 + RTE_PKTMBUF_HEADROOM)\n \n struct reorder_unittest_params {\n \tstruct rte_mempool *p;\n@@ -352,7 +351,8 @@ test_setup(void)\n \t/* mempool creation */\n \tif (test_params->p == NULL) {\n \t\ttest_params->p = rte_pktmbuf_pool_create(\"RO_MBUF_POOL\",\n-\t\t\tNUM_MBUFS, BURST, 0, MBUF_DATA_SIZE, rte_socket_id());\n+\t\t\tNUM_MBUFS, BURST, 0, RTE_MBUF_DEFAULT_BUF_SIZE,\n+\t\t\trte_socket_id());\n \t\tif (test_params->p == NULL) {\n \t\t\tprintf(\"%s: Error creating mempool\\n\", __func__);\n \t\t\treturn -1;\ndiff --git a/app/test/test_table.h b/app/test/test_table.h\nindex be331c0..accc6f8 100644\n--- a/app/test/test_table.h\n+++ b/app/test/test_table.h\n@@ -65,7 +65,7 @@\n #define PORT_TX_RING_SIZE   512\n #define RING_RX_SIZE        128\n #define RING_TX_SIZE        128\n-#define POOL_BUFFER_SIZE    (2048 + RTE_PKTMBUF_HEADROOM)\n+#define POOL_BUFFER_SIZE    RTE_MBUF_DEFAULT_BUF_SIZE\n #define POOL_SIZE           (32 * 1024)\n #define POOL_CACHE_SIZE     256\n #define BURST_SIZE          8\ndiff --git a/examples/bond/main.c b/examples/bond/main.c\nindex fcb4c4e..e90dc1d 100644\n--- a/examples/bond/main.c\n+++ b/examples/bond/main.c\n@@ -96,7 +96,6 @@\n \n #define RTE_LOGTYPE_DCB RTE_LOGTYPE_USER1\n \n-#define MBUF_DATA_SIZE (2048 + RTE_PKTMBUF_HEADROOM)\n #define NB_MBUF   (1024*8)\n \n #define MAX_PKT_BURST 32\n@@ -739,7 +738,7 @@ main(int argc, char *argv[])\n \t\trte_exit(EXIT_FAILURE, \"You can have max 4 ports\\n\");\n \n \tmbuf_pool = rte_pktmbuf_pool_create(\"MBUF_POOL\", NB_MBUF, 32,\n-\t\t0, MBUF_DATA_SIZE, rte_socket_id());\n+\t\t0, RTE_MBUF_DEFAULT_BUF_SIZE, rte_socket_id());\n \tif (mbuf_pool == NULL)\n \t\trte_exit(EXIT_FAILURE, \"Cannot create mbuf pool\\n\");\n \ndiff --git a/examples/distributor/main.c b/examples/distributor/main.c\nindex 78fe3e9..ae3e7b3 100644\n--- a/examples/distributor/main.c\n+++ b/examples/distributor/main.c\n@@ -47,7 +47,6 @@\n #define RX_RING_SIZE 256\n #define TX_RING_SIZE 512\n #define NUM_MBUFS ((64*1024)-1)\n-#define MBUF_DATA_SIZE (2048 + RTE_PKTMBUF_HEADROOM)\n #define MBUF_CACHE_SIZE 250\n #define BURST_SIZE 32\n #define RTE_RING_SZ 1024\n@@ -529,8 +528,8 @@ main(int argc, char *argv[])\n \t\t\t\t\"when using a single port\\n\");\n \n \tmbuf_pool = rte_pktmbuf_pool_create(\"MBUF_POOL\",\n-\t\tNUM_MBUFS * nb_ports, MBUF_CACHE_SIZE, 0, MBUF_DATA_SIZE,\n-\t\trte_socket_id());\n+\t\tNUM_MBUFS * nb_ports, MBUF_CACHE_SIZE, 0,\n+\t\tRTE_MBUF_DEFAULT_BUF_SIZE, rte_socket_id());\n \tif (mbuf_pool == NULL)\n \t\trte_exit(EXIT_FAILURE, \"Cannot create mbuf pool\\n\");\n \tnb_ports_available = nb_ports;\ndiff --git a/examples/dpdk_qat/main.c b/examples/dpdk_qat/main.c\nindex 053be91..c66a8cc 100644\n--- a/examples/dpdk_qat/main.c\n+++ b/examples/dpdk_qat/main.c\n@@ -70,7 +70,6 @@\n \n #include \"crypto.h\"\n \n-#define MBUF_DATA_SIZE (2048 + RTE_PKTMBUF_HEADROOM)\n #define NB_MBUF   (32 * 1024)\n \n #define MAX_PKT_BURST 32\n@@ -613,7 +612,7 @@ init_mem(void)\n \t\t\tsnprintf(s, sizeof(s), \"mbuf_pool_%d\", socketid);\n \t\t\tpktmbuf_pool[socketid] =\n \t\t\t\trte_pktmbuf_pool_create(s, NB_MBUF, 32, 0,\n-\t\t\t\t\tMBUF_DATA_SIZE, socketid);\n+\t\t\t\t\tRTE_MBUF_DEFAULT_BUF_SIZE, socketid);\n \t\t\tif (pktmbuf_pool[socketid] == NULL) {\n \t\t\t\tprintf(\"Cannot init mbuf pool on socket %d\\n\", socketid);\n \t\t\t\treturn -1;\ndiff --git a/examples/ip_fragmentation/main.c b/examples/ip_fragmentation/main.c\nindex c702fdd..0922ba6 100644\n--- a/examples/ip_fragmentation/main.c\n+++ b/examples/ip_fragmentation/main.c\n@@ -76,8 +76,6 @@\n \n #define RTE_LOGTYPE_IP_FRAG RTE_LOGTYPE_USER1\n \n-#define MBUF_SIZE (2048 + RTE_PKTMBUF_HEADROOM)\n-\n /* allow max jumbo frame 9.5 KB */\n #define JUMBO_FRAME_MAX_SIZE\t0x2600\n \n@@ -745,7 +743,7 @@ init_mem(void)\n \t\t\tsnprintf(buf, sizeof(buf), \"pool_direct_%i\", socket);\n \n \t\t\tmp = rte_pktmbuf_pool_create(buf, NB_MBUF, 32,\n-\t\t\t\t0, MBUF_DATA_SIZE, socket);\n+\t\t\t\t0, RTE_MBUF_DEFAULT_BUF_SIZE, socket);\n \t\t\tif (mp == NULL) {\n \t\t\t\tRTE_LOG(ERR, IP_FRAG, \"Cannot create direct mempool\\n\");\n \t\t\t\treturn -1;\ndiff --git a/examples/ip_pipeline/init.c b/examples/ip_pipeline/init.c\nindex 275fb35..d79762f 100644\n--- a/examples/ip_pipeline/init.c\n+++ b/examples/ip_pipeline/init.c\n@@ -146,7 +146,7 @@ struct app_params app = {\n \t.bsz_swq_wr = 64,\n \n \t/* Buffer pool */\n-\t.pool_buffer_size = 2048 + RTE_PKTMBUF_HEADROOM,\n+\t.pool_buffer_size = RTE_MBUF_DEFAULT_BUF_SIZE,\n \t.pool_size = 32 * 1024,\n \t.pool_cache_size = 256,\n \ndiff --git a/examples/ip_reassembly/main.c b/examples/ip_reassembly/main.c\nindex 75ecfed..9ecb6f9 100644\n--- a/examples/ip_reassembly/main.c\n+++ b/examples/ip_reassembly/main.c\n@@ -85,7 +85,7 @@\n \n #define MAX_JUMBO_PKT_LEN  9600\n \n-#define\tBUF_SIZE\t2048\n+#define\tBUF_SIZE\tRTE_MBUF_DEFAULT_DATAROOM\n #define MBUF_SIZE\t\\\n \t(BUF_SIZE + sizeof(struct rte_mbuf) + RTE_PKTMBUF_HEADROOM)\n \ndiff --git a/examples/ipv4_multicast/main.c b/examples/ipv4_multicast/main.c\nindex 575e989..2a2b915 100644\n--- a/examples/ipv4_multicast/main.c\n+++ b/examples/ipv4_multicast/main.c\n@@ -77,7 +77,7 @@\n #define\tMCAST_CLONE_PORTS\t2\n #define\tMCAST_CLONE_SEGS\t2\n \n-#define\tPKT_MBUF_DATA_SIZE\t(2048 + RTE_PKTMBUF_HEADROOM)\n+#define\tPKT_MBUF_DATA_SIZE\tRTE_MBUF_DEFAULT_BUF_SIZE\n #define\tNB_PKT_MBUF\t8192\n \n #define\tHDR_MBUF_DATA_SIZE\t(2 * RTE_PKTMBUF_HEADROOM)\ndiff --git a/examples/l2fwd-ivshmem/host/host.c b/examples/l2fwd-ivshmem/host/host.c\nindex 197f22b..d923711 100644\n--- a/examples/l2fwd-ivshmem/host/host.c\n+++ b/examples/l2fwd-ivshmem/host/host.c\n@@ -71,7 +71,6 @@ static uint32_t l2fwd_ivshmem_enabled_port_mask = 0;\n static struct ether_addr l2fwd_ivshmem_ports_eth_addr[RTE_MAX_ETHPORTS];\n \n #define NB_MBUF   8192\n-#define MBUF_DATA_SIZE (2048 + RTE_PKTMBUF_HEADROOM)\n \n #define MAX_RX_QUEUE_PER_LCORE 16\n #define MAX_TX_QUEUE_PER_PORT 16\n@@ -671,7 +670,7 @@ int main(int argc, char **argv)\n \t/* create a shared mbuf pool */\n \tl2fwd_ivshmem_pktmbuf_pool =\n \t\trte_pktmbuf_pool_create(MBUF_MP_NAME, NB_MBUF, 32,\n-\t\t\t0, MBUF_DATA_SIZE, rte_socket_id());\n+\t\t\t0, RTE_MBUF_DEFAULT_BUF_SIZE, rte_socket_id());\n \tif (l2fwd_ivshmem_pktmbuf_pool == NULL)\n \t\trte_exit(EXIT_FAILURE, \"Cannot init mbuf pool\\n\");\n \ndiff --git a/examples/l2fwd-jobstats/main.c b/examples/l2fwd-jobstats/main.c\nindex fcebbda..7b59f4e 100644\n--- a/examples/l2fwd-jobstats/main.c\n+++ b/examples/l2fwd-jobstats/main.c\n@@ -70,7 +70,6 @@\n \n #define RTE_LOGTYPE_L2FWD RTE_LOGTYPE_USER1\n \n-#define MBUF_DATA_SIZE (2048 + RTE_PKTMBUF_HEADROOM)\n #define NB_MBUF   8192\n \n #define MAX_PKT_BURST 32\n@@ -834,7 +833,7 @@ main(int argc, char **argv)\n \t/* create the mbuf pool */\n \tl2fwd_pktmbuf_pool =\n \t\trte_pktmbuf_pool_create(\"mbuf_pool\", NB_MBUF, 32,\n-\t\t\t0, MBUF_DATA_SIZE, rte_socket_id());\n+\t\t\t0, RTE_MBUF_DEFAULT_BUF_SIZE, rte_socket_id());\n \tif (l2fwd_pktmbuf_pool == NULL)\n \t\trte_exit(EXIT_FAILURE, \"Cannot init mbuf pool\\n\");\n \ndiff --git a/examples/l2fwd/main.c b/examples/l2fwd/main.c\nindex d0a1ec8..6ed7690 100644\n--- a/examples/l2fwd/main.c\n+++ b/examples/l2fwd/main.c\n@@ -71,7 +71,6 @@\n \n #define RTE_LOGTYPE_L2FWD RTE_LOGTYPE_USER1\n \n-#define MBUF_DATA_SIZE (2048 + RTE_PKTMBUF_HEADROOM)\n #define NB_MBUF   8192\n \n #define MAX_PKT_BURST 32\n@@ -561,7 +560,7 @@ main(int argc, char **argv)\n \n \t/* create the mbuf pool */\n \tl2fwd_pktmbuf_pool = rte_pktmbuf_pool_create(\"mbuf_pool\", NB_MBUF, 32,\n-\t\t0, MBUF_DATA_SIZE, rte_socket_id());\n+\t\t0, RTE_MBUF_DEFAULT_BUF_SIZE, rte_socket_id());\n \tif (l2fwd_pktmbuf_pool == NULL)\n \t\trte_exit(EXIT_FAILURE, \"Cannot init mbuf pool\\n\");\n \ndiff --git a/examples/l3fwd-acl/main.c b/examples/l3fwd-acl/main.c\nindex 1a04004..a5d4f25 100644\n--- a/examples/l3fwd-acl/main.c\n+++ b/examples/l3fwd-acl/main.c\n@@ -80,8 +80,6 @@\n \n #define MEMPOOL_CACHE_SIZE 256\n \n-#define MBUF_DATA_SIZE (2048 + RTE_PKTMBUF_HEADROOM)\n-\n /*\n  * This expression is used to calculate the number of mbufs needed\n  * depending on user input, taking into account memory for rx and tx hardware\n@@ -1849,7 +1847,8 @@ init_mem(unsigned nb_mbuf)\n \t\t\tsnprintf(s, sizeof(s), \"mbuf_pool_%d\", socketid);\n \t\t\tpktmbuf_pool[socketid] =\n \t\t\t\trte_pktmbuf_pool_create(s, nb_mbuf,\n-\t\t\t\t\tMEMPOOL_CACHE_SIZE, 0, MBUF_DATA_SIZE,\n+\t\t\t\t\tMEMPOOL_CACHE_SIZE, 0,\n+\t\t\t\t\tRTE_MBUF_DEFAULT_BUF_SIZE,\n \t\t\t\t\tsocketid);\n \t\t\tif (pktmbuf_pool[socketid] == NULL)\n \t\t\t\trte_exit(EXIT_FAILURE,\ndiff --git a/examples/l3fwd-power/main.c b/examples/l3fwd-power/main.c\nindex bb0b66f..6ac342b 100644\n--- a/examples/l3fwd-power/main.c\n+++ b/examples/l3fwd-power/main.c\n@@ -121,8 +121,6 @@\n \n #define MEMPOOL_CACHE_SIZE 256\n \n-#define MBUF_DATA_SIZE (2048 + RTE_PKTMBUF_HEADROOM)\n-\n /*\n  * This expression is used to calculate the number of mbufs needed depending on\n  * user input, taking into account memory for rx and tx hardware rings, cache\n@@ -1380,7 +1378,8 @@ init_mem(unsigned nb_mbuf)\n \t\t\tsnprintf(s, sizeof(s), \"mbuf_pool_%d\", socketid);\n \t\t\tpktmbuf_pool[socketid] =\n \t\t\t\trte_pktmbuf_pool_create(s, nb_mbuf,\n-\t\t\t\t\tMEMPOOL_CACHE_SIZE, 0, MBUF_DATA_SIZE,\n+\t\t\t\t\tMEMPOOL_CACHE_SIZE, 0,\n+\t\t\t\t\tRTE_MBUF_DEFAULT_BUF_SIZE,\n \t\t\t\t\tsocketid);\n \t\t\tif (pktmbuf_pool[socketid] == NULL)\n \t\t\t\trte_exit(EXIT_FAILURE,\ndiff --git a/examples/l3fwd-vf/main.c b/examples/l3fwd-vf/main.c\nindex f007bc1..6e56cfb 100644\n--- a/examples/l3fwd-vf/main.c\n+++ b/examples/l3fwd-vf/main.c\n@@ -94,8 +94,6 @@\n \n #define MEMPOOL_CACHE_SIZE 256\n \n-#define MBUF_DATA_SIZE (2048 + RTE_PKTMBUF_HEADROOM)\n-\n /*\n  * This expression is used to calculate the number of mbufs needed depending on user input, taking\n  *  into account memory for rx and tx hardware rings, cache per lcore and mtable per port per lcore.\n@@ -925,8 +923,8 @@ init_mem(unsigned nb_mbuf)\n \t\tif (pktmbuf_pool[socketid] == NULL) {\n \t\t\tsnprintf(s, sizeof(s), \"mbuf_pool_%d\", socketid);\n \t\t\tpktmbuf_pool[socketid] = rte_pktmbuf_pool_create(s,\n-\t\t\t\tnb_mbuf, MEMPOOL_CACHE_SIZE, 0, MBUF_DATA_SIZE,\n-\t\t\t\tsocketid);\n+\t\t\t\tnb_mbuf, MEMPOOL_CACHE_SIZE, 0,\n+\t\t\t\tRTE_MBUF_DEFAULT_BUF_SIZE, socketid);\n \t\t\tif (pktmbuf_pool[socketid] == NULL)\n \t\t\t\trte_exit(EXIT_FAILURE, \"Cannot init mbuf pool on socket %d\\n\", socketid);\n \t\t\telse\ndiff --git a/examples/l3fwd/main.c b/examples/l3fwd/main.c\nindex 7871038..e32512e 100644\n--- a/examples/l3fwd/main.c\n+++ b/examples/l3fwd/main.c\n@@ -119,8 +119,6 @@\n \n #define MEMPOOL_CACHE_SIZE 256\n \n-#define MBUF_DATA_SIZE (2048 + RTE_PKTMBUF_HEADROOM)\n-\n /*\n  * This expression is used to calculate the number of mbufs needed depending on user input, taking\n  *  into account memory for rx and tx hardware rings, cache per lcore and mtable per port per lcore.\n@@ -2316,8 +2314,8 @@ init_mem(unsigned nb_mbuf)\n \t\t\tsnprintf(s, sizeof(s), \"mbuf_pool_%d\", socketid);\n \t\t\tpktmbuf_pool[socketid] =\n \t\t\t\trte_pktmbuf_pool_create(s, nb_mbuf,\n-\t\t\t\t\tMEMPOOL_CACHE_SIZE, 0, MBUF_DATA_SIZE,\n-\t\t\t\t\tsocketid);\n+\t\t\t\t\tMEMPOOL_CACHE_SIZE, 0,\n+\t\t\t\t\tRTE_MBUF_DEFAULT_BUF_SIZE, socketid);\n \t\t\tif (pktmbuf_pool[socketid] == NULL)\n \t\t\t\trte_exit(EXIT_FAILURE,\n \t\t\t\t\t\t\"Cannot init mbuf pool on socket %d\\n\", socketid);\ndiff --git a/examples/link_status_interrupt/main.c b/examples/link_status_interrupt/main.c\nindex 6adbd79..c57a08a 100644\n--- a/examples/link_status_interrupt/main.c\n+++ b/examples/link_status_interrupt/main.c\n@@ -72,7 +72,6 @@\n \n #define RTE_LOGTYPE_LSI RTE_LOGTYPE_USER1\n \n-#define MBUF_DATA_SIZE (2048 + RTE_PKTMBUF_HEADROOM)\n #define NB_MBUF   8192\n \n #define MAX_PKT_BURST 32\n@@ -615,7 +614,7 @@ main(int argc, char **argv)\n \t/* create the mbuf pool */\n \tlsi_pktmbuf_pool =\n \t\trte_pktmbuf_pool_create(\"mbuf_pool\", NB_MBUF, 32, 0,\n-\t\t\tMBUF_DATA_SIZE, rte_socket_id());\n+\t\t\tRTE_MBUF_DEFAULT_BUF_SIZE, rte_socket_id());\n \tif (lsi_pktmbuf_pool == NULL)\n \t\trte_panic(\"Cannot init mbuf pool\\n\");\n \ndiff --git a/examples/load_balancer/main.h b/examples/load_balancer/main.h\nindex 17c0f77..d98468a 100644\n--- a/examples/load_balancer/main.h\n+++ b/examples/load_balancer/main.h\n@@ -83,7 +83,7 @@\n \n /* Mempools */\n #ifndef APP_DEFAULT_MBUF_DATA_SIZE\n-#define APP_DEFAULT_MBUF_DATA_SIZE (2048 + RTE_PKTMBUF_HEADROOM)\n+#define APP_DEFAULT_MBUF_DATA_SIZE  RTE_MBUF_DEFAULT_BUF_SIZE\n #endif\n \n #ifndef APP_DEFAULT_MEMPOOL_BUFFERS\ndiff --git a/examples/multi_process/client_server_mp/mp_server/init.c b/examples/multi_process/client_server_mp/mp_server/init.c\nindex dc3647d..7afd51a 100644\n--- a/examples/multi_process/client_server_mp/mp_server/init.c\n+++ b/examples/multi_process/client_server_mp/mp_server/init.c\n@@ -71,7 +71,6 @@\n #define MBUFS_PER_CLIENT 1536\n #define MBUFS_PER_PORT 1536\n #define MBUF_CACHE_SIZE 512\n-#define MBUF_DATA_SIZE (2048 + RTE_PKTMBUF_HEADROOM)\n \n #define RTE_MP_RX_DESC_DEFAULT 512\n #define RTE_MP_TX_DESC_DEFAULT 512\n@@ -103,7 +102,7 @@ init_mbuf_pools(void)\n \tprintf(\"Creating mbuf pool '%s' [%u mbufs] ...\\n\",\n \t\t\tPKTMBUF_POOL_NAME, num_mbufs);\n \tpktmbuf_pool = rte_pktmbuf_pool_create(PKTMBUF_POOL_NAME, num_mbufs,\n-\t\tMBUF_CACHE_SIZE, 0, MBUF_DATA_SIZE, rte_socket_id());\n+\t\tMBUF_CACHE_SIZE, 0, RTE_MBUF_DEFAULT_BUF_SIZE, rte_socket_id());\n \n \treturn (pktmbuf_pool == NULL); /* 0  on success */\n }\ndiff --git a/examples/multi_process/l2fwd_fork/main.c b/examples/multi_process/l2fwd_fork/main.c\nindex 04a5d20..f2d7eab 100644\n--- a/examples/multi_process/l2fwd_fork/main.c\n+++ b/examples/multi_process/l2fwd_fork/main.c\n@@ -77,7 +77,8 @@\n \n #define RTE_LOGTYPE_L2FWD RTE_LOGTYPE_USER1\n #define MBUF_NAME\t\"mbuf_pool_%d\"\n-#define MBUF_SIZE (2048 + sizeof(struct rte_mbuf) + RTE_PKTMBUF_HEADROOM)\n+#define MBUF_SIZE\t\\\n+(RTE_MBUF_DEFAULT_DATAROOM + sizeof(struct rte_mbuf) + RTE_PKTMBUF_HEADROOM)\n #define NB_MBUF   8192\n #define RING_MASTER_NAME\t\"l2fwd_ring_m2s_\"\n #define RING_SLAVE_NAME\t\t\"l2fwd_ring_s2m_\"\ndiff --git a/examples/multi_process/symmetric_mp/main.c b/examples/multi_process/symmetric_mp/main.c\nindex 7829c86..931c94f 100644\n--- a/examples/multi_process/symmetric_mp/main.c\n+++ b/examples/multi_process/symmetric_mp/main.c\n@@ -78,7 +78,6 @@\n \n #define RTE_LOGTYPE_APP RTE_LOGTYPE_USER1\n \n-#define MBUF_DATA_SIZE (2048 + RTE_PKTMBUF_HEADROOM)\n #define NB_MBUFS 64*1024 /* use 64k mbufs */\n #define MBUF_CACHE_SIZE 256\n #define PKT_BURST 32\n@@ -447,7 +446,7 @@ main(int argc, char **argv)\n \tmp = (proc_type == RTE_PROC_SECONDARY) ?\n \t\t\trte_mempool_lookup(_SMP_MBUF_POOL) :\n \t\t\trte_pktmbuf_pool_create(_SMP_MBUF_POOL, NB_MBUFS,\n-\t\t\t\tMBUF_CACHE_SIZE, 0, MBUF_DATA_SIZE,\n+\t\t\t\tMBUF_CACHE_SIZE, 0, RTE_MBUF_DEFAULT_BUF_SIZE,\n \t\t\t\trte_socket_id());\n \tif (mp == NULL)\n \t\trte_exit(EXIT_FAILURE, \"Cannot get memory pool for buffers\\n\");\ndiff --git a/examples/netmap_compat/bridge/bridge.c b/examples/netmap_compat/bridge/bridge.c\nindex 2d935cb..5adcf61 100644\n--- a/examples/netmap_compat/bridge/bridge.c\n+++ b/examples/netmap_compat/bridge/bridge.c\n@@ -47,7 +47,7 @@\n #include \"compat_netmap.h\"\n \n \n-#define BUF_SIZE\t(2048)\n+#define BUF_SIZE\tRTE_MBUF_DEFAULT_DATAROOM\n #define MBUF_DATA_SIZE\t(BUF_SIZE + RTE_PKTMBUF_HEADROOM)\n \n #define MBUF_PER_POOL\t8192\ndiff --git a/examples/packet_ordering/main.c b/examples/packet_ordering/main.c\nindex 5403c33..1d9a86f 100644\n--- a/examples/packet_ordering/main.c\n+++ b/examples/packet_ordering/main.c\n@@ -50,7 +50,6 @@\n #define MAX_PKTS_BURST 32\n #define REORDER_BUFFER_SIZE 8192\n #define MBUF_PER_POOL 65535\n-#define MBUF_DATA_SIZE (1600 + RTE_PKTMBUF_HEADROOM)\n #define MBUF_POOL_CACHE_SIZE 250\n \n #define RING_SIZE 16384\n@@ -623,7 +622,7 @@ main(int argc, char **argv)\n \t\t\t\t\"when using a single port\\n\");\n \n \tmbuf_pool = rte_pktmbuf_pool_create(\"mbuf_pool\", MBUF_PER_POOL,\n-\t\t\tMBUF_POOL_CACHE_SIZE, 0, MBUF_DATA_SIZE,\n+\t\t\tMBUF_POOL_CACHE_SIZE, 0, RTE_MBUF_DEFAULT_BUF_SIZE,\n \t\t\trte_socket_id());\n \tif (mbuf_pool == NULL)\n \t\trte_exit(EXIT_FAILURE, \"%s\\n\", rte_strerror(rte_errno));\ndiff --git a/examples/qos_meter/main.c b/examples/qos_meter/main.c\nindex a5e2510..0de5e7f 100644\n--- a/examples/qos_meter/main.c\n+++ b/examples/qos_meter/main.c\n@@ -70,7 +70,6 @@\n  * Buffer pool configuration\n  *\n  ***/\n-#define MBUF_DATA_SIZE      (2048 + RTE_PKTMBUF_HEADROOM)\n #define NB_MBUF             8192\n #define MEMPOOL_CACHE_SIZE  256\n \n@@ -361,7 +360,7 @@ main(int argc, char **argv)\n \n \t/* Buffer pool init */\n \tpool = rte_pktmbuf_pool_create(\"pool\", NB_MBUF, MEMPOOL_CACHE_SIZE,\n-\t\t0, MBUF_DATA_SIZE, rte_socket_id());\n+\t\t0, RTE_MBUF_DEFAULT_BUF_SIZE, rte_socket_id());\n \tif (pool == NULL)\n \t\trte_exit(EXIT_FAILURE, \"Buffer pool creation error\\n\");\n \ndiff --git a/examples/qos_sched/init.c b/examples/qos_sched/init.c\nindex aaf3466..88cf811 100644\n--- a/examples/qos_sched/init.c\n+++ b/examples/qos_sched/init.c\n@@ -336,7 +336,8 @@ int app_init(void)\n \t\t/* create the mbuf pools for each RX Port */\n \t\tsnprintf(pool_name, MAX_NAME_LEN, \"mbuf_pool%u\", i);\n \t\tqos_conf[i].mbuf_pool = rte_pktmbuf_pool_create(pool_name,\n-\t\t\tmp_size, burst_conf.rx_burst * 4, 0, MBUF_DATA_SIZE,\n+\t\t\tmp_size, burst_conf.rx_burst * 4, 0,\n+\t\t\tRTE_MBUF_DEFAULT_BUF_SIZE,\n \t\t\trte_eth_dev_socket_id(qos_conf[i].rx_port));\n \t\tif (qos_conf[i].mbuf_pool == NULL)\n \t\t\trte_exit(EXIT_FAILURE, \"Cannot init mbuf pool for socket %u\\n\", i);\ndiff --git a/examples/qos_sched/main.h b/examples/qos_sched/main.h\nindex 0e6f264..643f1c8 100644\n--- a/examples/qos_sched/main.h\n+++ b/examples/qos_sched/main.h\n@@ -50,7 +50,6 @@ extern \"C\" {\n #define APP_RX_DESC_DEFAULT 128\n #define APP_TX_DESC_DEFAULT 256\n \n-#define MBUF_DATA_SIZE (1528 + RTE_PKTMBUF_HEADROOM)\n #define APP_RING_SIZE (8*1024)\n #define NB_MBUF   (2*1024*1024)\n \ndiff --git a/examples/quota_watermark/include/conf.h b/examples/quota_watermark/include/conf.h\nindex e80aca5..bdc3bbe 100644\n--- a/examples/quota_watermark/include/conf.h\n+++ b/examples/quota_watermark/include/conf.h\n@@ -40,7 +40,7 @@\n #define RX_DESC_PER_QUEUE   128\n #define TX_DESC_PER_QUEUE   512\n \n-#define MBUF_DATA_SIZE     (2048 + RTE_PKTMBUF_HEADROOM)\n+#define MBUF_DATA_SIZE     RTE_MBUF_DEFAULT_BUF_SIZE\n #define MBUF_PER_POOL 8192\n \n #define QUOTA_WATERMARK_MEMZONE_NAME \"qw_global_vars\"\ndiff --git a/examples/rxtx_callbacks/main.c b/examples/rxtx_callbacks/main.c\nindex fb8da51..048b23f 100644\n--- a/examples/rxtx_callbacks/main.c\n+++ b/examples/rxtx_callbacks/main.c\n@@ -43,7 +43,6 @@\n #define TX_RING_SIZE 512\n \n #define NUM_MBUFS 8191\n-#define MBUF_DATA_SIZE (1600 + RTE_PKTMBUF_HEADROOM)\n #define MBUF_CACHE_SIZE 250\n #define BURST_SIZE 32\n \n@@ -205,8 +204,8 @@ main(int argc, char *argv[])\n \t\trte_exit(EXIT_FAILURE, \"Error: number of ports must be even\\n\");\n \n \tmbuf_pool = rte_pktmbuf_pool_create(\"MBUF_POOL\",\n-\t\tNUM_MBUFS * nb_ports, MBUF_CACHE_SIZE, 0, MBUF_DATA_SIZE,\n-\t\trte_socket_id());\n+\t\tNUM_MBUFS * nb_ports, MBUF_CACHE_SIZE, 0,\n+\t\tRTE_MBUF_DEFAULT_BUF_SIZE, rte_socket_id());\n \tif (mbuf_pool == NULL)\n \t\trte_exit(EXIT_FAILURE, \"Cannot create mbuf pool\\n\");\n \ndiff --git a/examples/skeleton/basicfwd.c b/examples/skeleton/basicfwd.c\nindex ae606bf..c89822c 100644\n--- a/examples/skeleton/basicfwd.c\n+++ b/examples/skeleton/basicfwd.c\n@@ -43,7 +43,6 @@\n #define TX_RING_SIZE 512\n \n #define NUM_MBUFS 8191\n-#define MBUF_DATA_SIZE (1600 + RTE_PKTMBUF_HEADROOM)\n #define MBUF_CACHE_SIZE 250\n #define BURST_SIZE 32\n \n@@ -191,7 +190,7 @@ main(int argc, char *argv[])\n \n \t/* Creates a new mempool in memory to hold the mbufs. */\n \tmbuf_pool = rte_pktmbuf_pool_create(\"MBUF_POOL\", NUM_MBUFS * nb_ports,\n-\t\tMBUF_CACHE_SIZE, 0, MBUF_DATA_SIZE, rte_socket_id());\n+\t\tMBUF_CACHE_SIZE, 0, RTE_MBUF_DEFAULT_BUF_SIZE, rte_socket_id());\n \n \tif (mbuf_pool == NULL)\n \t\trte_exit(EXIT_FAILURE, \"Cannot create mbuf pool\\n\");\ndiff --git a/examples/vhost/main.c b/examples/vhost/main.c\nindex 195d82f..a01a057 100644\n--- a/examples/vhost/main.c\n+++ b/examples/vhost/main.c\n@@ -66,16 +66,16 @@\n \t\t\t\t\t\t\t(num_switching_cores*RTE_TEST_TX_DESC_DEFAULT) +\\\n \t\t\t\t\t\t\t(num_switching_cores*MBUF_CACHE_SIZE))\n \n-#define MBUF_CACHE_SIZE 128\n-#define MBUF_DATA_SIZE (2048 + RTE_PKTMBUF_HEADROOM)\n+#define MBUF_CACHE_SIZE\t128\n+#define MBUF_DATA_SIZE\tRTE_MBUF_DEFAULT_BUF_SIZE\n \n /*\n  * No frame data buffer allocated from host are required for zero copy\n  * implementation, guest will allocate the frame data buffer, and vhost\n  * directly use it.\n  */\n-#define VIRTIO_DESCRIPTOR_LEN_ZCP 1518\n-#define MBUF_DATA_SIZE_ZCP (VIRTIO_DESCRIPTOR_LEN_ZCP + RTE_PKTMBUF_HEADROOM)\n+#define VIRTIO_DESCRIPTOR_LEN_ZCP\tRTE_MBUF_DEFAULT_DATAROOM\n+#define MBUF_DATA_SIZE_ZCP\t\tRTE_MBUF_DEFAULT_BUF_SIZE\n #define MBUF_CACHE_SIZE_ZCP 0\n \n #define MAX_PKT_BURST 32 \t\t/* Max burst size for RX/TX */\ndiff --git a/examples/vhost_xen/main.c b/examples/vhost_xen/main.c\nindex b672bf3..60312b5 100644\n--- a/examples/vhost_xen/main.c\n+++ b/examples/vhost_xen/main.c\n@@ -67,7 +67,6 @@\n \t\t\t\t\t\t\t(num_switching_cores*MBUF_CACHE_SIZE))\n \n #define MBUF_CACHE_SIZE 64\n-#define MBUF_DATA_SIZE (2048 + RTE_PKTMBUF_HEADROOM)\n \n /*\n  * RX and TX Prefetch, Host, and Write-back threshold values should be\n@@ -1476,7 +1475,7 @@ main(int argc, char *argv[])\n \t/* Create the mbuf pool. */\n \tmbuf_pool = rte_pktmbuf_pool_create(\"MBUF_POOL\",\n \t\tNUM_MBUFS_PER_PORT * valid_num_ports, MBUF_CACHE_SIZE, 0,\n-\t\tMBUF_DATA_SIZE, rte_socket_id());\n+\t\tRTE_MBUF_DEFAULT_BUF_SIZE, rte_socket_id());\n \tif (mbuf_pool == NULL)\n \t\trte_exit(EXIT_FAILURE, \"Cannot create mbuf pool\\n\");\n \ndiff --git a/examples/vmdq/main.c b/examples/vmdq/main.c\nindex 7596bac..a142d49 100644\n--- a/examples/vmdq/main.c\n+++ b/examples/vmdq/main.c\n@@ -76,7 +76,6 @@\n  */\n #define NUM_MBUFS_PER_PORT (128*512)\n #define MBUF_CACHE_SIZE 64\n-#define MBUF_DATA_SIZE (2048 + RTE_PKTMBUF_HEADROOM)\n \n #define MAX_PKT_BURST 32\n \n@@ -615,7 +614,7 @@ main(int argc, char *argv[])\n \n \tmbuf_pool = rte_pktmbuf_pool_create(\"MBUF_POOL\",\n \t\tNUM_MBUFS_PER_PORT * nb_ports, MBUF_CACHE_SIZE,\n-\t\t0, MBUF_DATA_SIZE, rte_socket_id());\n+\t\t0, RTE_MBUF_DEFAULT_BUF_SIZE, rte_socket_id());\n \tif (mbuf_pool == NULL)\n \t\trte_exit(EXIT_FAILURE, \"Cannot create mbuf pool\\n\");\n \ndiff --git a/examples/vmdq_dcb/main.c b/examples/vmdq_dcb/main.c\nindex 3c7f2b3..c31c2ce 100644\n--- a/examples/vmdq_dcb/main.c\n+++ b/examples/vmdq_dcb/main.c\n@@ -74,7 +74,6 @@\n \n #define NUM_MBUFS 64*1024\n #define MBUF_CACHE_SIZE 64\n-#define MBUF_DATA_SIZE (2048 + RTE_PKTMBUF_HEADROOM)\n \n #define INVALID_PORT_ID 0xFF\n \n@@ -442,7 +441,7 @@ main(int argc, char *argv[])\n \t}\n \n \tmbuf_pool = rte_pktmbuf_pool_create(\"MBUF_POOL\", NUM_MBUFS * nb_ports,\n-\t\tMBUF_CACHE_SIZE, 0, MBUF_DATA_SIZE, rte_socket_id());\n+\t\tMBUF_CACHE_SIZE, 0, RTE_MBUF_DEFAULT_BUF_SIZE, rte_socket_id());\n \tif (mbuf_pool == NULL)\n \t\trte_exit(EXIT_FAILURE, \"Cannot create mbuf pool\\n\");\n \ndiff --git a/lib/librte_mbuf/rte_mbuf.h b/lib/librte_mbuf/rte_mbuf.h\nindex 70b0987..ab6de67 100644\n--- a/lib/librte_mbuf/rte_mbuf.h\n+++ b/lib/librte_mbuf/rte_mbuf.h\n@@ -217,6 +217,16 @@ const char *rte_get_rx_ol_flag_name(uint64_t mask);\n  */\n const char *rte_get_tx_ol_flag_name(uint64_t mask);\n \n+/**\n+ * Some NICs need at least 2KB buffer to RX standard Ethernet frame without\n+ * splitting it into multiple segments.\n+ * So, for mbufs that planned to be involved into RX/TX, the recommended\n+ * minimal buffer length is 2KB + RTE_PKTMBUF_HEADROOM.\n+ */\n+#define\tRTE_MBUF_DEFAULT_DATAROOM\t2048\n+#define\tRTE_MBUF_DEFAULT_BUF_SIZE\t\\\n+\t(RTE_MBUF_DEFAULT_DATAROOM + RTE_PKTMBUF_HEADROOM)\n+\n /* define a set of marker types that can be used to refer to set points in the\n  * mbuf */\n typedef void    *MARKER[0];   /**< generic marker for a point in a structure */\n",
    "prefixes": [
        "dpdk-dev",
        "PATCHv2"
    ]
}