get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 604,
    "url": "http://patches.dpdk.org/api/patches/604/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/1411741159-6671-3-git-send-email-pablo.de.lara.guarch@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": "<1411741159-6671-3-git-send-email-pablo.de.lara.guarch@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1411741159-6671-3-git-send-email-pablo.de.lara.guarch@intel.com",
    "date": "2014-09-26T14:19:19",
    "name": "[dpdk-dev,2/2] app: Used rte_eth_rxconf_defaults and rte_eth_txconf_defaults in apps",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "d1b00ba42469dcab5370017928ba2f900e5e4018",
    "submitter": {
        "id": 9,
        "url": "http://patches.dpdk.org/api/people/9/?format=api",
        "name": "De Lara Guarch, Pablo",
        "email": "pablo.de.lara.guarch@intel.com"
    },
    "delegate": null,
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/1411741159-6671-3-git-send-email-pablo.de.lara.guarch@intel.com/mbox/",
    "series": [],
    "comments": "http://patches.dpdk.org/api/patches/604/comments/",
    "check": "pending",
    "checks": "http://patches.dpdk.org/api/patches/604/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 553727E0B;\n\tFri, 26 Sep 2014 16:13:05 +0200 (CEST)",
            "from mga03.intel.com (mga03.intel.com [134.134.136.65])\n\tby dpdk.org (Postfix) with ESMTP id 9256D7DFF\n\tfor <dev@dpdk.org>; Fri, 26 Sep 2014 16:13:02 +0200 (CEST)",
            "from orsmga002.jf.intel.com ([10.7.209.21])\n\tby orsmga103.jf.intel.com with ESMTP; 26 Sep 2014 07:17:20 -0700",
            "from irvmail001.ir.intel.com ([163.33.26.43])\n\tby orsmga002.jf.intel.com with ESMTP; 26 Sep 2014 07:19:21 -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\ts8QEJJQH017949 for <dev@dpdk.org>; Fri, 26 Sep 2014 15:19:19 +0100",
            "from sivswdev02.ir.intel.com (localhost [127.0.0.1])\n\tby sivswdev02.ir.intel.com with ESMTP id s8QEJJO5006729\n\tfor <dev@dpdk.org>; Fri, 26 Sep 2014 15:19:19 +0100",
            "(from pdelarax@localhost)\n\tby sivswdev02.ir.intel.com with  id s8QEJJJh006725\n\tfor dev@dpdk.org; Fri, 26 Sep 2014 15:19:19 +0100"
        ],
        "X-ExtLoop1": "1",
        "X-IronPort-AV": "E=Sophos;i=\"5.04,604,1406617200\"; d=\"scan'208\";a=\"609119926\"",
        "From": "Pablo de Lara <pablo.de.lara.guarch@intel.com>",
        "To": "dev@dpdk.org",
        "Date": "Fri, 26 Sep 2014 15:19:19 +0100",
        "Message-Id": "<1411741159-6671-3-git-send-email-pablo.de.lara.guarch@intel.com>",
        "X-Mailer": "git-send-email 1.7.4.1",
        "In-Reply-To": "<1411741159-6671-1-git-send-email-pablo.de.lara.guarch@intel.com>",
        "References": "<1411741159-6671-1-git-send-email-pablo.de.lara.guarch@intel.com>",
        "Subject": "[dpdk-dev] [PATCH 2/2] app: Used rte_eth_rxconf_defaults and\n\trte_eth_txconf_defaults in apps",
        "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": "For apps that were using default rte_eth_rxconf and rte_eth_txconf\nstructures, these have been removed and now they are obtained by\ncalling rte_eth_rxconf_defaults and rte_eth_txconf_defaults, just\nbefore setting up RX/TX queues.\n\nSigned-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>\n---\n examples/dpdk_qat/main.c                           |   44 ++-------------\n examples/exception_path/main.c                     |   30 +---------\n examples/ip_fragmentation/main.c                   |   42 ++------------\n examples/ip_reassembly/main.c                      |   44 ++-------------\n examples/ipv4_multicast/main.c                     |   44 ++------------\n examples/kni/main.c                                |   34 +----------\n examples/l2fwd-ivshmem/host/host.c                 |   43 +-------------\n examples/l2fwd/main.c                              |   48 +--------------\n examples/l3fwd-acl/main.c                          |   46 ++-------------\n examples/l3fwd-power/main.c                        |   46 ++-------------\n examples/l3fwd-vf/main.c                           |   31 ++--------\n examples/l3fwd/main.c                              |   54 +++---------------\n examples/link_status_interrupt/main.c              |   43 +-------------\n examples/load_balancer/init.c                      |   24 +-------\n .../client_server_mp/mp_server/init.c              |   41 +------------\n examples/multi_process/l2fwd_fork/main.c           |   44 +-------------\n examples/multi_process/symmetric_mp/main.c         |   36 +----------\n examples/netmap_compat/bridge/bridge.c             |   25 --------\n examples/netmap_compat/lib/compat_netmap.c         |    6 +-\n examples/netmap_compat/lib/compat_netmap.h         |    2 -\n examples/qos_meter/main.c                          |   36 ++++--------\n examples/quota_watermark/qw/init.c                 |   26 ++-------\n examples/vhost_xen/main.c                          |   31 ++--------\n examples/vmdq/main.c                               |   60 +++-----------------\n examples/vmdq_dcb/main.c                           |   36 +----------\n 25 files changed, 118 insertions(+), 798 deletions(-)",
    "diff": "diff --git a/examples/dpdk_qat/main.c b/examples/dpdk_qat/main.c\nindex d61db4c..69b8e6a 100644\n--- a/examples/dpdk_qat/main.c\n+++ b/examples/dpdk_qat/main.c\n@@ -75,25 +75,6 @@\n #define MBUF_SIZE (2048 + sizeof(struct rte_mbuf) + RTE_PKTMBUF_HEADROOM)\n #define NB_MBUF   (32 * 1024)\n \n-/*\n- * RX and TX Prefetch, Host, and Write-back threshold values should be\n- * carefully set for optimal performance. Consult the network\n- * controller's datasheet and supporting DPDK documentation for guidance\n- * on how these parameters should be set.\n- */\n-#define RX_PTHRESH 8 /**< Default values of RX prefetch threshold reg. */\n-#define RX_HTHRESH 8 /**< Default values of RX host threshold reg. */\n-#define RX_WTHRESH 4 /**< Default values of RX write-back threshold reg. */\n-\n-/*\n- * These default values are optimized for use with the Intel(R) 82599 10 GbE\n- * Controller and the DPDK ixgbe PMD. Consider using other values for other\n- * network controllers and/or network drivers.\n- */\n-#define TX_PTHRESH 36 /**< Default values of TX prefetch threshold reg. */\n-#define TX_HTHRESH 0  /**< Default values of TX host threshold reg. */\n-#define TX_WTHRESH 0  /**< Default values of TX write-back threshold reg. */\n-\n #define MAX_PKT_BURST 32\n #define BURST_TX_DRAIN_US 100 /* TX drain every ~100us */\n \n@@ -178,24 +159,6 @@ static struct rte_eth_conf port_conf = {\n \t},\n };\n \n-static const struct rte_eth_rxconf rx_conf = {\n-\t.rx_thresh = {\n-\t\t.pthresh = RX_PTHRESH,\n-\t\t.hthresh = RX_HTHRESH,\n-\t\t.wthresh = RX_WTHRESH,\n-\t},\n-};\n-\n-static const struct rte_eth_txconf tx_conf = {\n-\t.tx_thresh = {\n-\t\t.pthresh = TX_PTHRESH,\n-\t\t.hthresh = TX_HTHRESH,\n-\t\t.wthresh = TX_WTHRESH,\n-\t},\n-\t.tx_free_thresh = 0, /* Use PMD default values */\n-\t.tx_rs_thresh = 0, /* Use PMD default values */\n-};\n-\n static struct rte_mempool * pktmbuf_pool[RTE_MAX_NUMA_NODES];\n \n struct lcore_conf {\n@@ -785,7 +748,8 @@ MAIN(int argc, char **argv)\n \t\t\tprintf(\"txq=%u,%d,%d \", lcoreid, queueid, socketid);\n \t\t\tfflush(stdout);\n \t\t\tret = rte_eth_tx_queue_setup(portid, queueid, nb_txd,\n-\t\t\t\t\t\t     socketid, &tx_conf);\n+\t\t\t\t\tsocketid,\n+\t\t\t\t\tNULL);\n \t\t\tif (ret < 0)\n \t\t\t\trte_panic(\"rte_eth_tx_queue_setup: err=%d, \"\n \t\t\t\t\t\"port=%d\\n\", ret, portid);\n@@ -810,7 +774,9 @@ MAIN(int argc, char **argv)\n \t\t\tfflush(stdout);\n \n \t\t\tret = rte_eth_rx_queue_setup(portid, queueid, nb_rxd,\n-\t\t\t\t        socketid, &rx_conf, pktmbuf_pool[socketid]);\n+\t\t\t\t\tsocketid,\n+\t\t\t\t\tNULL,\n+\t\t\t\t\tpktmbuf_pool[socketid]);\n \t\t\tif (ret < 0)\n \t\t\t\trte_panic(\"rte_eth_rx_queue_setup: err=%d,\"\n \t\t\t\t\t\t\"port=%d\\n\", ret, portid);\ndiff --git a/examples/exception_path/main.c b/examples/exception_path/main.c\nindex 0204116..8f89dc6 100644\n--- a/examples/exception_path/main.c\n+++ b/examples/exception_path/main.c\n@@ -109,31 +109,6 @@\n  * controller's datasheet and supporting DPDK documentation for guidance\n  * on how these parameters should be set.\n  */\n-/* RX ring configuration */\n-static const struct rte_eth_rxconf rx_conf = {\n-\t.rx_thresh = {\n-\t\t.pthresh = 8,   /* Ring prefetch threshold */\n-\t\t.hthresh = 8,   /* Ring host threshold */\n-\t\t.wthresh = 4,   /* Ring writeback threshold */\n-\t},\n-\t.rx_free_thresh = 0,    /* Immediately free RX descriptors */\n-};\n-\n-/*\n- * These default values are optimized for use with the Intel(R) 82599 10 GbE\n- * Controller and the DPDK ixgbe PMD. Consider using other values for other\n- * network controllers and/or network drivers.\n- */\n-/* TX ring configuration */\n-static const struct rte_eth_txconf tx_conf = {\n-\t.tx_thresh = {\n-\t\t.pthresh = 36,  /* Ring prefetch threshold */\n-\t\t.hthresh = 0,   /* Ring host threshold */\n-\t\t.wthresh = 0,   /* Ring writeback threshold */\n-\t},\n-\t.tx_free_thresh = 0,    /* Use PMD default values */\n-\t.tx_rs_thresh = 0,      /* Use PMD default values */\n-};\n \n /* Options for configuring ethernet port */\n static const struct rte_eth_conf port_conf = {\n@@ -460,13 +435,14 @@ init_port(uint8_t port)\n \t\t            (unsigned)port, ret);\n \n \tret = rte_eth_rx_queue_setup(port, 0, NB_RXD, rte_eth_dev_socket_id(port),\n-                                 &rx_conf, pktmbuf_pool);\n+\t\t\t\tNULL,\n+\t\t\t\tpktmbuf_pool);\n \tif (ret < 0)\n \t\tFATAL_ERROR(\"Could not setup up RX queue for port%u (%d)\",\n \t\t            (unsigned)port, ret);\n \n \tret = rte_eth_tx_queue_setup(port, 0, NB_TXD, rte_eth_dev_socket_id(port),\n-                                 &tx_conf);\n+\t\t\t\tNULL);\n \tif (ret < 0)\n \t\tFATAL_ERROR(\"Could not setup up TX queue for port%u (%d)\",\n \t\t            (unsigned)port, ret);\ndiff --git a/examples/ip_fragmentation/main.c b/examples/ip_fragmentation/main.c\nindex 72cd2b2..964c513 100644\n--- a/examples/ip_fragmentation/main.c\n+++ b/examples/ip_fragmentation/main.c\n@@ -106,25 +106,6 @@\n \n #define NB_MBUF   8192\n \n-/*\n- * RX and TX Prefetch, Host, and Write-back threshold values should be\n- * carefully set for optimal performance. Consult the network\n- * controller's datasheet and supporting DPDK documentation for guidance\n- * on how these parameters should be set.\n- */\n-#define RX_PTHRESH 8 /**< Default values of RX prefetch threshold reg. */\n-#define RX_HTHRESH 8 /**< Default values of RX host threshold reg. */\n-#define RX_WTHRESH 4 /**< Default values of RX write-back threshold reg. */\n-\n-/*\n- * These default values are optimized for use with the Intel(R) 82599 10 GbE\n- * Controller and the DPDK ixgbe PMD. Consider using other values for other\n- * network controllers and/or network drivers.\n- */\n-#define TX_PTHRESH 36 /**< Default values of TX prefetch threshold reg. */\n-#define TX_HTHRESH 0  /**< Default values of TX host threshold reg. */\n-#define TX_WTHRESH 0  /**< Default values of TX write-back threshold reg. */\n-\n #define MAX_PKT_BURST\t32\n #define BURST_TX_DRAIN_US 100 /* TX drain every ~100us */\n \n@@ -208,23 +189,7 @@ static const struct rte_eth_conf port_conf = {\n \t},\n };\n \n-static const struct rte_eth_rxconf rx_conf = {\n-\t.rx_thresh = {\n-\t\t.pthresh = RX_PTHRESH,\n-\t\t.hthresh = RX_HTHRESH,\n-\t\t.wthresh = RX_WTHRESH,\n-\t},\n-};\n-\n-static const struct rte_eth_txconf tx_conf = {\n-\t.tx_thresh = {\n-\t\t.pthresh = TX_PTHRESH,\n-\t\t.hthresh = TX_HTHRESH,\n-\t\t.wthresh = TX_WTHRESH,\n-\t},\n-\t.tx_free_thresh = 0, /* Use PMD default values */\n-\t.tx_rs_thresh = 0, /* Use PMD default values */\n-};\n+static struct rte_eth_txconf tx_conf;\n \n /*\n  * IPv4 forwarding table\n@@ -942,7 +907,7 @@ MAIN(int argc, char **argv)\n \n \t\t/* init one RX queue */\n \t\tret = rte_eth_rx_queue_setup(portid, 0, nb_rxd,\n-\t\t\t\t\t     socket, &rx_conf,\n+\t\t\t\t\t     socket, NULL,\n \t\t\t\t\t     socket_direct_pool[socket]);\n \t\tif (ret < 0) {\n \t\t\tprintf(\"\\n\");\n@@ -964,6 +929,9 @@ MAIN(int argc, char **argv)\n \t\t\tsocket = (int) rte_lcore_to_socket_id(lcore_id);\n \t\t\tprintf(\"txq=%u,%d \", lcore_id, queueid);\n \t\t\tfflush(stdout);\n+\n+\t\t\trte_eth_txconf_defaults(portid, &tx_conf);\n+\t\t\ttx_conf.txq_flags = 0;\n \t\t\tret = rte_eth_tx_queue_setup(portid, queueid, nb_txd,\n \t\t\t\t\t\t     socket, &tx_conf);\n \t\t\tif (ret < 0) {\ndiff --git a/examples/ip_reassembly/main.c b/examples/ip_reassembly/main.c\nindex 3bb6afd..a8c659d 100644\n--- a/examples/ip_reassembly/main.c\n+++ b/examples/ip_reassembly/main.c\n@@ -114,25 +114,6 @@\n static uint32_t max_flow_num = DEF_FLOW_NUM;\n static uint32_t max_flow_ttl = DEF_FLOW_TTL;\n \n-/*\n- * RX and TX Prefetch, Host, and Write-back threshold values should be\n- * carefully set for optimal performance. Consult the network\n- * controller's datasheet and supporting DPDK documentation for guidance\n- * on how these parameters should be set.\n- */\n-#define RX_PTHRESH 8 /**< Default values of RX prefetch threshold reg. */\n-#define RX_HTHRESH 8 /**< Default values of RX host threshold reg. */\n-#define RX_WTHRESH 4 /**< Default values of RX write-back threshold reg. */\n-\n-/*\n- * These default values are optimized for use with the Intel(R) 82599 10 GbE\n- * Controller and the DPDK ixgbe PMD. Consider using other values for other\n- * network controllers and/or network drivers.\n- */\n-#define TX_PTHRESH 36 /**< Default values of TX prefetch threshold reg. */\n-#define TX_HTHRESH 0  /**< Default values of TX host threshold reg. */\n-#define TX_WTHRESH 0  /**< Default values of TX write-back threshold reg. */\n-\n #define BURST_TX_DRAIN_US 100 /* TX drain every ~100us */\n \n #define NB_SOCKETS 8\n@@ -236,25 +217,7 @@ static struct rte_eth_conf port_conf = {\n \t},\n };\n \n-static const struct rte_eth_rxconf rx_conf = {\n-\t.rx_thresh = {\n-\t\t.pthresh = RX_PTHRESH,\n-\t\t.hthresh = RX_HTHRESH,\n-\t\t.wthresh = RX_WTHRESH,\n-\t},\n-\t.rx_free_thresh = 32,\n-};\n-\n-static const struct rte_eth_txconf tx_conf = {\n-\t.tx_thresh = {\n-\t\t.pthresh = TX_PTHRESH,\n-\t\t.hthresh = TX_HTHRESH,\n-\t\t.wthresh = TX_WTHRESH,\n-\t},\n-\t.tx_free_thresh = 0, /* Use PMD default values */\n-\t.tx_rs_thresh = 0, /* Use PMD default values */\n-\t.txq_flags = 0x0,\n-};\n+static struct rte_eth_txconf tx_conf;\n \n /*\n  * IPv4 forwarding table\n@@ -1149,7 +1112,7 @@ MAIN(int argc, char **argv)\n \n \t\t/* init one RX queue */\n \t\tret = rte_eth_rx_queue_setup(portid, 0, nb_rxd,\n-\t\t\t\t\t     socket, &rx_conf,\n+\t\t\t\t\t     socket, NULL,\n \t\t\t\t\t     rxq->pool);\n \t\tif (ret < 0) {\n \t\t\tprintf(\"\\n\");\n@@ -1172,6 +1135,9 @@ MAIN(int argc, char **argv)\n \n \t\t\tprintf(\"txq=%u,%d,%d \", lcore_id, queueid, socket);\n \t\t\tfflush(stdout);\n+\n+\t\t\trte_eth_txconf_defaults(portid, &tx_conf);\n+\t\t\ttx_conf.txq_flags = 0;\n \t\t\tret = rte_eth_tx_queue_setup(portid, queueid, nb_txd,\n \t\t\t\t\tsocket, &tx_conf);\n \t\t\tif (ret < 0)\ndiff --git a/examples/ipv4_multicast/main.c b/examples/ipv4_multicast/main.c\nindex dfa0075..d136b87 100644\n--- a/examples/ipv4_multicast/main.c\n+++ b/examples/ipv4_multicast/main.c\n@@ -92,25 +92,6 @@\n /* allow max jumbo frame 9.5 KB */\n #define\tJUMBO_FRAME_MAX_SIZE\t0x2600\n \n-/*\n- * RX and TX Prefetch, Host, and Write-back threshold values should be\n- * carefully set for optimal performance. Consult the network\n- * controller's datasheet and supporting DPDK documentation for guidance\n- * on how these parameters should be set.\n- */\n-#define RX_PTHRESH 8 /**< Default values of RX prefetch threshold reg. */\n-#define RX_HTHRESH 8 /**< Default values of RX host threshold reg. */\n-#define RX_WTHRESH 4 /**< Default values of RX write-back threshold reg. */\n-\n-/*\n- * These default values are optimized for use with the Intel(R) 82599 10 GbE\n- * Controller and the DPDK ixgbe PMD. Consider using other values for other\n- * network controllers and/or network drivers.\n- */\n-#define TX_PTHRESH 36 /**< Default values of TX prefetch threshold reg. */\n-#define TX_HTHRESH 0  /**< Default values of TX host threshold reg. */\n-#define TX_WTHRESH 0  /**< Default values of TX write-back threshold reg. */\n-\n #define MAX_PKT_BURST 32\n #define BURST_TX_DRAIN_US 100 /* TX drain every ~100us */\n \n@@ -175,24 +156,7 @@ static const struct rte_eth_conf port_conf = {\n \t\t.mq_mode = ETH_MQ_TX_NONE,\n \t},\n };\n-\n-static const struct rte_eth_rxconf rx_conf = {\n-\t.rx_thresh = {\n-\t\t.pthresh = RX_PTHRESH,\n-\t\t.hthresh = RX_HTHRESH,\n-\t\t.wthresh = RX_WTHRESH,\n-\t},\n-};\n-\n-static const struct rte_eth_txconf tx_conf = {\n-\t.tx_thresh = {\n-\t\t.pthresh = TX_PTHRESH,\n-\t\t.hthresh = TX_HTHRESH,\n-\t\t.wthresh = TX_WTHRESH,\n-\t},\n-\t.tx_free_thresh = 0, /* Use PMD default values */\n-\t.tx_rs_thresh = 0, /* Use PMD default values */\n-};\n+static struct rte_eth_txconf tx_conf;\n \n static struct rte_mempool *packet_pool, *header_pool, *clone_pool;\n \n@@ -810,7 +774,8 @@ MAIN(int argc, char **argv)\n \t\tprintf(\"rxq=%hu \", queueid);\n \t\tfflush(stdout);\n \t\tret = rte_eth_rx_queue_setup(portid, queueid, nb_rxd,\n-\t\t\t\t\t     rte_eth_dev_socket_id(portid), &rx_conf,\n+\t\t\t\t\t     rte_eth_dev_socket_id(portid),\n+\t\t\t\t\t     NULL,\n \t\t\t\t\t     packet_pool);\n \t\tif (ret < 0)\n \t\t\trte_exit(EXIT_FAILURE, \"rte_eth_tx_queue_setup: err=%d, port=%d\\n\",\n@@ -824,6 +789,9 @@ MAIN(int argc, char **argv)\n \t\t\t\tcontinue;\n \t\t\tprintf(\"txq=%u,%hu \", lcore_id, queueid);\n \t\t\tfflush(stdout);\n+\n+\t\t\trte_eth_txconf_defaults(portid, &tx_conf);\n+\t\t\ttx_conf.txq_flags = 0;\n \t\t\tret = rte_eth_tx_queue_setup(portid, queueid, nb_txd,\n \t\t\t\t\t\t     rte_lcore_to_socket_id(lcore_id), &tx_conf);\n \t\t\tif (ret < 0)\ndiff --git a/examples/kni/main.c b/examples/kni/main.c\nindex 7df1b36..6cfd8fe 100644\n--- a/examples/kni/main.c\n+++ b/examples/kni/main.c\n@@ -125,36 +125,6 @@ struct kni_port_params {\n \n static struct kni_port_params *kni_port_params_array[RTE_MAX_ETHPORTS];\n \n-/* RX and TX Prefetch, Host, and Write-back threshold values should be\n- * carefully set for optimal performance. Consult the network\n- * controller's datasheet and supporting DPDK documentation for guidance\n- * on how these parameters should be set.\n- */\n-/* RX ring configuration */\n-static const struct rte_eth_rxconf rx_conf = {\n-\t.rx_thresh = {\n-\t\t.pthresh = 8,   /* Ring prefetch threshold */\n-\t\t.hthresh = 8,   /* Ring host threshold */\n-\t\t.wthresh = 4,   /* Ring writeback threshold */\n-\t},\n-\t.rx_free_thresh = 0,    /* Immediately free RX descriptors */\n-};\n-\n-/*\n- * These default values are optimized for use with the Intel(R) 82599 10 GbE\n- * Controller and the DPDK ixgbe PMD. Consider using other values for other\n- * network controllers and/or network drivers.\n- */\n-/* TX ring configuration */\n-static const struct rte_eth_txconf tx_conf = {\n-\t.tx_thresh = {\n-\t\t.pthresh = 36,  /* Ring prefetch threshold */\n-\t\t.hthresh = 0,   /* Ring host threshold */\n-\t\t.wthresh = 0,   /* Ring writeback threshold */\n-\t},\n-\t.tx_free_thresh = 0,    /* Use PMD default values */\n-\t.tx_rs_thresh = 0,      /* Use PMD default values */\n-};\n \n /* Options for configuring ethernet port */\n static struct rte_eth_conf port_conf = {\n@@ -631,13 +601,13 @@ init_port(uint8_t port)\n \t\t            (unsigned)port, ret);\n \n \tret = rte_eth_rx_queue_setup(port, 0, NB_RXD,\n-\t\trte_eth_dev_socket_id(port), &rx_conf, pktmbuf_pool);\n+\t\trte_eth_dev_socket_id(port), NULL, pktmbuf_pool);\n \tif (ret < 0)\n \t\trte_exit(EXIT_FAILURE, \"Could not setup up RX queue for \"\n \t\t\t\t\"port%u (%d)\\n\", (unsigned)port, ret);\n \n \tret = rte_eth_tx_queue_setup(port, 0, NB_TXD,\n-\t\trte_eth_dev_socket_id(port), &tx_conf);\n+\t\trte_eth_dev_socket_id(port), NULL);\n \tif (ret < 0)\n \t\trte_exit(EXIT_FAILURE, \"Could not setup up TX queue for \"\n \t\t\t\t\"port%u (%d)\\n\", (unsigned)port, ret);\ndiff --git a/examples/l2fwd-ivshmem/host/host.c b/examples/l2fwd-ivshmem/host/host.c\nindex 02e65b9..706a7b3 100644\n--- a/examples/l2fwd-ivshmem/host/host.c\n+++ b/examples/l2fwd-ivshmem/host/host.c\n@@ -63,25 +63,6 @@\n static uint16_t nb_rxd = RTE_TEST_RX_DESC_DEFAULT;\n static uint16_t nb_txd = RTE_TEST_TX_DESC_DEFAULT;\n \n-/*\n- * RX and TX Prefetch, Host, and Write-back threshold values should be\n- * carefully set for optimal performance. Consult the network\n- * controller's datasheet and supporting DPDK documentation for guidance\n- * on how these parameters should be set.\n- */\n-#define RX_PTHRESH 8 /**< Default values of RX prefetch threshold reg. */\n-#define RX_HTHRESH 8 /**< Default values of RX host threshold reg. */\n-#define RX_WTHRESH 4 /**< Default values of RX write-back threshold reg. */\n-\n-/*\n- * These default values are optimized for use with the Intel(R) 82599 10 GbE\n- * Controller and the DPDK ixgbe PMD. Consider using other values for other\n- * network controllers and/or network drivers.\n- */\n-#define TX_PTHRESH 36 /**< Default values of TX prefetch threshold reg. */\n-#define TX_HTHRESH 0  /**< Default values of TX host threshold reg. */\n-#define TX_WTHRESH 0  /**< Default values of TX write-back threshold reg. */\n-\n #define BURST_TX_DRAIN_US 100 /* TX drain every ~100us */\n \n /* mask of enabled ports */\n@@ -117,24 +98,6 @@ static const struct rte_eth_conf port_conf = {\n \t},\n };\n \n-static const struct rte_eth_rxconf rx_conf = {\n-\t.rx_thresh = {\n-\t\t.pthresh = RX_PTHRESH,\n-\t\t.hthresh = RX_HTHRESH,\n-\t\t.wthresh = RX_WTHRESH,\n-\t},\n-};\n-\n-static const struct rte_eth_txconf tx_conf = {\n-\t.tx_thresh = {\n-\t\t.pthresh = TX_PTHRESH,\n-\t\t.hthresh = TX_HTHRESH,\n-\t\t.wthresh = TX_WTHRESH,\n-\t},\n-\t.tx_free_thresh = 0, /* Use PMD default values */\n-\t.tx_rs_thresh = 0, /* Use PMD default values */\n-};\n-\n #define METADATA_NAME \"l2fwd_ivshmem\"\n #define CMDLINE_OPT_FWD_CONF \"fwd-conf\"\n \n@@ -792,7 +755,8 @@ int main(int argc, char **argv)\n \t\t/* init one RX queue */\n \t\tfflush(stdout);\n \t\tret = rte_eth_rx_queue_setup(portid, 0, nb_rxd,\n-\t\t\t\t\t\t rte_eth_dev_socket_id(portid), &rx_conf,\n+\t\t\t\t\t\t rte_eth_dev_socket_id(portid),\n+\t\t\t\t\t\t NULL,\n \t\t\t\t\t\t l2fwd_ivshmem_pktmbuf_pool);\n \t\tif (ret < 0)\n \t\t\trte_exit(EXIT_FAILURE, \"rte_eth_rx_queue_setup:err=%d, port=%u\\n\",\n@@ -801,7 +765,8 @@ int main(int argc, char **argv)\n \t\t/* init one TX queue on each port */\n \t\tfflush(stdout);\n \t\tret = rte_eth_tx_queue_setup(portid, 0, nb_txd,\n-\t\t\t\trte_eth_dev_socket_id(portid), &tx_conf);\n+\t\t\t\trte_eth_dev_socket_id(portid),\n+\t\t\t\tNULL);\n \t\tif (ret < 0)\n \t\t\trte_exit(EXIT_FAILURE, \"rte_eth_tx_queue_setup:err=%d, port=%u\\n\",\n \t\t\t\tret, (unsigned) portid);\ndiff --git a/examples/l2fwd/main.c b/examples/l2fwd/main.c\nindex 4069d7c..c6131a7 100644\n--- a/examples/l2fwd/main.c\n+++ b/examples/l2fwd/main.c\n@@ -77,25 +77,6 @@\n #define MBUF_SIZE (2048 + sizeof(struct rte_mbuf) + RTE_PKTMBUF_HEADROOM)\n #define NB_MBUF   8192\n \n-/*\n- * RX and TX Prefetch, Host, and Write-back threshold values should be\n- * carefully set for optimal performance. Consult the network\n- * controller's datasheet and supporting DPDK documentation for guidance\n- * on how these parameters should be set.\n- */\n-#define RX_PTHRESH 8 /**< Default values of RX prefetch threshold reg. */\n-#define RX_HTHRESH 8 /**< Default values of RX host threshold reg. */\n-#define RX_WTHRESH 4 /**< Default values of RX write-back threshold reg. */\n-\n-/*\n- * These default values are optimized for use with the Intel(R) 82599 10 GbE\n- * Controller and the DPDK ixgbe PMD. Consider using other values for other\n- * network controllers and/or network drivers.\n- */\n-#define TX_PTHRESH 36 /**< Default values of TX prefetch threshold reg. */\n-#define TX_HTHRESH 0  /**< Default values of TX host threshold reg. */\n-#define TX_WTHRESH 0  /**< Default values of TX write-back threshold reg. */\n-\n #define MAX_PKT_BURST 32\n #define BURST_TX_DRAIN_US 100 /* TX drain every ~100us */\n \n@@ -147,29 +128,6 @@ static const struct rte_eth_conf port_conf = {\n \t},\n };\n \n-static const struct rte_eth_rxconf rx_conf = {\n-\t.rx_thresh = {\n-\t\t.pthresh = RX_PTHRESH,\n-\t\t.hthresh = RX_HTHRESH,\n-\t\t.wthresh = RX_WTHRESH,\n-\t},\n-};\n-\n-static const struct rte_eth_txconf tx_conf = {\n-\t.tx_thresh = {\n-\t\t.pthresh = TX_PTHRESH,\n-\t\t.hthresh = TX_HTHRESH,\n-\t\t.wthresh = TX_WTHRESH,\n-\t},\n-\t.tx_free_thresh = 0, /* Use PMD default values */\n-\t.tx_rs_thresh = 0, /* Use PMD default values */\n-\t/*\n-\t* As the example won't handle mult-segments and offload cases,\n-\t* set the flag by default.\n-\t*/\n-\t.txq_flags = ETH_TXQ_FLAGS_NOMULTSEGS | ETH_TXQ_FLAGS_NOOFFLOADS,\n-};\n-\n struct rte_mempool * l2fwd_pktmbuf_pool = NULL;\n \n /* Per-port statistics struct */\n@@ -704,7 +662,8 @@ MAIN(int argc, char **argv)\n \t\t/* init one RX queue */\n \t\tfflush(stdout);\n \t\tret = rte_eth_rx_queue_setup(portid, 0, nb_rxd,\n-\t\t\t\t\t     rte_eth_dev_socket_id(portid), &rx_conf,\n+\t\t\t\t\t     rte_eth_dev_socket_id(portid),\n+\t\t\t\t\t     NULL,\n \t\t\t\t\t     l2fwd_pktmbuf_pool);\n \t\tif (ret < 0)\n \t\t\trte_exit(EXIT_FAILURE, \"rte_eth_rx_queue_setup:err=%d, port=%u\\n\",\n@@ -713,7 +672,8 @@ MAIN(int argc, char **argv)\n \t\t/* init one TX queue on each port */\n \t\tfflush(stdout);\n \t\tret = rte_eth_tx_queue_setup(portid, 0, nb_txd,\n-\t\t\t\trte_eth_dev_socket_id(portid), &tx_conf);\n+\t\t\t\trte_eth_dev_socket_id(portid),\n+\t\t\t\tNULL);\n \t\tif (ret < 0)\n \t\t\trte_exit(EXIT_FAILURE, \"rte_eth_tx_queue_setup:err=%d, port=%u\\n\",\n \t\t\t\tret, (unsigned) portid);\ndiff --git a/examples/l3fwd-acl/main.c b/examples/l3fwd-acl/main.c\nindex 9b2c21b..99d7cd9 100644\n--- a/examples/l3fwd-acl/main.c\n+++ b/examples/l3fwd-acl/main.c\n@@ -100,25 +100,6 @@\n \tnb_lcores * MEMPOOL_CACHE_SIZE),\t\t\t\\\n \t(unsigned)8192)\n \n-/*\n- * RX and TX Prefetch, Host, and Write-back threshold values should be\n- * carefully set for optimal performance. Consult the network\n- * controller's datasheet and supporting DPDK documentation for guidance\n- * on how these parameters should be set.\n- */\n-#define RX_PTHRESH 8 /**< Default values of RX prefetch threshold reg. */\n-#define RX_HTHRESH 8 /**< Default values of RX host threshold reg. */\n-#define RX_WTHRESH 4 /**< Default values of RX write-back threshold reg. */\n-\n-/*\n- * These default values are optimized for use with the Intel(R) 82599 10 GbE\n- * Controller and the DPDK ixgbe PMD. Consider using other values for other\n- * network controllers and/or network drivers.\n- */\n-#define TX_PTHRESH 36 /**< Default values of TX prefetch threshold reg. */\n-#define TX_HTHRESH 0  /**< Default values of TX host threshold reg. */\n-#define TX_WTHRESH 0  /**< Default values of TX write-back threshold reg. */\n-\n #define MAX_PKT_BURST 32\n #define BURST_TX_DRAIN_US 100 /* TX drain every ~100us */\n \n@@ -206,26 +187,7 @@ static struct rte_eth_conf port_conf = {\n \t\t.mq_mode = ETH_MQ_TX_NONE,\n \t},\n };\n-\n-static const struct rte_eth_rxconf rx_conf = {\n-\t.rx_thresh = {\n-\t\t.pthresh = RX_PTHRESH,\n-\t\t.hthresh = RX_HTHRESH,\n-\t\t.wthresh = RX_WTHRESH,\n-\t},\n-\t.rx_free_thresh = 32,\n-};\n-\n-static const struct rte_eth_txconf tx_conf = {\n-\t.tx_thresh = {\n-\t\t.pthresh = TX_PTHRESH,\n-\t\t.hthresh = TX_HTHRESH,\n-\t\t.wthresh = TX_WTHRESH,\n-\t},\n-\t.tx_free_thresh = 0, /* Use PMD default values */\n-\t.tx_rs_thresh = 0, /* Use PMD default values */\n-\t.txq_flags = 0x0,\n-};\n+static struct rte_eth_txconf tx_conf;\n \n static struct rte_mempool *pktmbuf_pool[NB_SOCKETS];\n \n@@ -2063,6 +2025,10 @@ MAIN(int argc, char **argv)\n \n \t\t\tprintf(\"txq=%u,%d,%d \", lcore_id, queueid, socketid);\n \t\t\tfflush(stdout);\n+\n+\t\t\trte_eth_txconf_defaults(portid, &tx_conf);\n+\t\t\tif (port_conf.rxmode.jumbo_frame)\n+\t\t\t\ttx_conf.txq_flags = 0;\n \t\t\tret = rte_eth_tx_queue_setup(portid, queueid, nb_txd,\n \t\t\t\t\t\t     socketid, &tx_conf);\n \t\t\tif (ret < 0)\n@@ -2098,7 +2064,7 @@ MAIN(int argc, char **argv)\n \t\t\tfflush(stdout);\n \n \t\t\tret = rte_eth_rx_queue_setup(portid, queueid, nb_rxd,\n-\t\t\t\t\tsocketid, &rx_conf,\n+\t\t\t\t\tsocketid, NULL,\n \t\t\t\t\tpktmbuf_pool[socketid]);\n \t\t\tif (ret < 0)\n \t\t\t\trte_exit(EXIT_FAILURE,\ndiff --git a/examples/l3fwd-power/main.c b/examples/l3fwd-power/main.c\nindex 57fc371..2eedf1b 100644\n--- a/examples/l3fwd-power/main.c\n+++ b/examples/l3fwd-power/main.c\n@@ -140,25 +140,6 @@\n \tnb_lcores*MEMPOOL_CACHE_SIZE), \\\n \t(unsigned)8192)\n \n-/*\n- * RX and TX Prefetch, Host, and Write-back threshold values should be\n- * carefully set for optimal performance. Consult the network\n- * controller's datasheet and supporting DPDK documentation for guidance\n- * on how these parameters should be set.\n- */\n-#define RX_PTHRESH 8 /**< Default values of RX prefetch threshold reg. */\n-#define RX_HTHRESH 8 /**< Default values of RX host threshold reg. */\n-#define RX_WTHRESH 4 /**< Default values of RX write-back threshold reg. */\n-\n-/*\n- * These default values are optimized for use with the Intel(R) 82599 10 GbE\n- * Controller and the DPDK ixgbe PMD. Consider using other values for other\n- * network controllers and/or network drivers.\n- */\n-#define TX_PTHRESH 36 /**< Default values of TX prefetch threshold reg. */\n-#define TX_HTHRESH 0  /**< Default values of TX host threshold reg. */\n-#define TX_WTHRESH 0  /**< Default values of TX write-back threshold reg. */\n-\n #define BURST_TX_DRAIN_US 100 /* TX drain every ~100us */\n \n #define NB_SOCKETS 8\n@@ -255,25 +236,7 @@ static struct rte_eth_conf port_conf = {\n \t},\n };\n \n-static const struct rte_eth_rxconf rx_conf = {\n-\t.rx_thresh = {\n-\t\t.pthresh = RX_PTHRESH,\n-\t\t.hthresh = RX_HTHRESH,\n-\t\t.wthresh = RX_WTHRESH,\n-\t},\n-\t.rx_free_thresh = 32,\n-};\n-\n-static const struct rte_eth_txconf tx_conf = {\n-\t.tx_thresh = {\n-\t\t.pthresh = TX_PTHRESH,\n-\t\t.hthresh = TX_HTHRESH,\n-\t\t.wthresh = TX_WTHRESH,\n-\t},\n-\t.tx_free_thresh = 0, /* Use PMD default values */\n-\t.tx_rs_thresh = 0, /* Use PMD default values */\n-\t.txq_flags = 0x0,\n-};\n+static struct rte_eth_txconf tx_conf;\n \n static struct rte_mempool * pktmbuf_pool[NB_SOCKETS];\n \n@@ -1606,6 +1569,10 @@ MAIN(int argc, char **argv)\n \n \t\t\tprintf(\"txq=%u,%d,%d \", lcore_id, queueid, socketid);\n \t\t\tfflush(stdout);\n+\n+\t\t\trte_eth_txconf_defaults(portid, &tx_conf);\n+\t\t\tif (port_conf.rxmode.jumbo_frame)\n+\t\t\t\ttx_conf.txq_flags = 0;\n \t\t\tret = rte_eth_tx_queue_setup(portid, queueid, nb_txd,\n \t\t\t\t\t\t     socketid, &tx_conf);\n \t\t\tif (ret < 0)\n@@ -1655,7 +1622,8 @@ MAIN(int argc, char **argv)\n \t\t\tfflush(stdout);\n \n \t\t\tret = rte_eth_rx_queue_setup(portid, queueid, nb_rxd,\n-\t\t\t\tsocketid, &rx_conf, pktmbuf_pool[socketid]);\n+\t\t\t\tsocketid, NULL,\n+\t\t\t\tpktmbuf_pool[socketid]);\n \t\t\tif (ret < 0)\n \t\t\t\trte_exit(EXIT_FAILURE,\n \t\t\t\t\t\"rte_eth_rx_queue_setup: err=%d, \"\ndiff --git a/examples/l3fwd-vf/main.c b/examples/l3fwd-vf/main.c\nindex 2ca5c21..ca1cf4e 100644\n--- a/examples/l3fwd-vf/main.c\n+++ b/examples/l3fwd-vf/main.c\n@@ -215,29 +215,7 @@ static struct rte_eth_conf port_conf = {\n \t},\n };\n \n-static const struct rte_eth_rxconf rx_conf = {\n-\t.rx_thresh = {\n-\t\t.pthresh = RX_PTHRESH,\n-\t\t.hthresh = RX_HTHRESH,\n-\t\t.wthresh = RX_WTHRESH,\n-\t},\n-\t.rx_free_thresh = 32,\n-};\n-\n-static const struct rte_eth_txconf tx_conf = {\n-\t.tx_thresh = {\n-\t\t.pthresh = TX_PTHRESH,\n-\t\t.hthresh = TX_HTHRESH,\n-\t\t.wthresh = TX_WTHRESH,\n-\t},\n-\t.tx_free_thresh = 0, /* Use PMD default values */\n-\t.tx_rs_thresh = 0, /* Use PMD default values */\n-\t.txq_flags = (ETH_TXQ_FLAGS_NOMULTSEGS |\n-\t\t      ETH_TXQ_FLAGS_NOVLANOFFL |\n-\t\t      ETH_TXQ_FLAGS_NOXSUMSCTP |\n-\t\t      ETH_TXQ_FLAGS_NOXSUMUDP |\n-\t\t      ETH_TXQ_FLAGS_NOXSUMTCP)\n-};\n+static struct rte_eth_txconf tx_conf;\n \n static struct rte_mempool * pktmbuf_pool[NB_SOCKETS];\n \n@@ -1055,6 +1033,10 @@ MAIN(int argc, char **argv)\n \n \t\tprintf(\"txq=%d,%d,%d \", portid, 0, socketid);\n \t\tfflush(stdout);\n+\n+\t\trte_eth_txconf_defaults(portid, &tx_conf);\n+\t\tif (port_conf.rxmode.jumbo_frame)\n+\t\t\ttx_conf.txq_flags = 0;\n \t\tret = rte_eth_tx_queue_setup(portid, 0, nb_txd,\n \t\t\t\t\t\t socketid, &tx_conf);\n \t\tif (ret < 0)\n@@ -1086,7 +1068,8 @@ MAIN(int argc, char **argv)\n \t\t\tfflush(stdout);\n \n \t\t\tret = rte_eth_rx_queue_setup(portid, queueid, nb_rxd,\n-\t\t\t\t\t\tsocketid, &rx_conf, pktmbuf_pool[socketid]);\n+\t\t\t\t\t\tsocketid, NULL,\n+\t\t\t\t\t\tpktmbuf_pool[socketid]);\n \t\t\tif (ret < 0)\n \t\t\t\trte_exit(EXIT_FAILURE, \"rte_eth_rx_queue_setup: err=%d,\"\n \t\t\t\t\t\t\"port=%d\\n\", ret, portid);\ndiff --git a/examples/l3fwd/main.c b/examples/l3fwd/main.c\nindex bef409a..a84f9fb 100755\n--- a/examples/l3fwd/main.c\n+++ b/examples/l3fwd/main.c\n@@ -137,25 +137,6 @@\n \t\t\t\tnb_lcores*MEMPOOL_CACHE_SIZE),\t\t\t\t\t\t\t\t\t\t\t\t\\\n \t\t\t\t(unsigned)8192)\n \n-/*\n- * RX and TX Prefetch, Host, and Write-back threshold values should be\n- * carefully set for optimal performance. Consult the network\n- * controller's datasheet and supporting DPDK documentation for guidance\n- * on how these parameters should be set.\n- */\n-#define RX_PTHRESH 8 /**< Default values of RX prefetch threshold reg. */\n-#define RX_HTHRESH 8 /**< Default values of RX host threshold reg. */\n-#define RX_WTHRESH 4 /**< Default values of RX write-back threshold reg. */\n-\n-/*\n- * These default values are optimized for use with the Intel(R) 82599 10 GbE\n- * Controller and the DPDK ixgbe PMD. Consider using other values for other\n- * network controllers and/or network drivers.\n- */\n-#define TX_PTHRESH 36 /**< Default values of TX prefetch threshold reg. */\n-#define TX_HTHRESH 0  /**< Default values of TX host threshold reg. */\n-#define TX_WTHRESH 0  /**< Default values of TX write-back threshold reg. */\n-\n #define MAX_PKT_BURST     32\n #define BURST_TX_DRAIN_US 100 /* TX drain every ~100us */\n \n@@ -259,30 +240,7 @@ static struct rte_eth_conf port_conf = {\n \t},\n };\n \n-static const struct rte_eth_rxconf rx_conf = {\n-\t.rx_thresh = {\n-\t\t.pthresh = RX_PTHRESH,\n-\t\t.hthresh = RX_HTHRESH,\n-\t\t.wthresh = RX_WTHRESH,\n-\t},\n-\t.rx_free_thresh = 32,\n-};\n-\n-static struct rte_eth_txconf tx_conf = {\n-\t.tx_thresh = {\n-\t\t.pthresh = TX_PTHRESH,\n-\t\t.hthresh = TX_HTHRESH,\n-\t\t.wthresh = TX_WTHRESH,\n-\t},\n-\t.tx_free_thresh = 0, /* Use PMD default values */\n-\t.tx_rs_thresh = 0, /* Use PMD default values */\n-\t.txq_flags = (ETH_TXQ_FLAGS_NOMULTSEGS |\n-\t\t\tETH_TXQ_FLAGS_NOVLANOFFL |\n-\t\t\tETH_TXQ_FLAGS_NOXSUMSCTP |\n-\t\t\tETH_TXQ_FLAGS_NOXSUMUDP |\n-\t\t\tETH_TXQ_FLAGS_NOXSUMTCP)\n-\n-};\n+static struct rte_eth_txconf tx_conf;\n \n static struct rte_mempool * pktmbuf_pool[NB_SOCKETS];\n \n@@ -1974,7 +1932,6 @@ parse_args(int argc, char **argv)\n \n \t\t\t\tprintf(\"jumbo frame is enabled - disabling simple TX path\\n\");\n \t\t\t\tport_conf.rxmode.jumbo_frame = 1;\n-\t\t\t\ttx_conf.txq_flags = 0;\n \n \t\t\t\t/* if no max-pkt-len set, use the default value ETHER_MAX_LEN */\n \t\t\t\tif (0 == getopt_long(argc, argvopt, \"\", &lenopts, &option_index)) {\n@@ -2541,6 +2498,11 @@ MAIN(int argc, char **argv)\n \n \t\t\tprintf(\"txq=%u,%d,%d \", lcore_id, queueid, socketid);\n \t\t\tfflush(stdout);\n+\n+\t\t\trte_eth_txconf_defaults(portid, &tx_conf);\n+\t\t\tif (port_conf.rxmode.jumbo_frame)\n+\t\t\t\ttx_conf.txq_flags = 0;\n+\n \t\t\tret = rte_eth_tx_queue_setup(portid, queueid, nb_txd,\n \t\t\t\t\t\t     socketid, &tx_conf);\n \t\t\tif (ret < 0)\n@@ -2574,7 +2536,9 @@ MAIN(int argc, char **argv)\n \t\t\tfflush(stdout);\n \n \t\t\tret = rte_eth_rx_queue_setup(portid, queueid, nb_rxd,\n-\t\t\t\t        socketid, &rx_conf, pktmbuf_pool[socketid]);\n+\t\t\t\t\tsocketid,\n+\t\t\t\t\tNULL,\n+\t\t\t\t\tpktmbuf_pool[socketid]);\n \t\t\tif (ret < 0)\n \t\t\t\trte_exit(EXIT_FAILURE, \"rte_eth_rx_queue_setup: err=%d,\"\n \t\t\t\t\t\t\"port=%d\\n\", ret, portid);\ndiff --git a/examples/link_status_interrupt/main.c b/examples/link_status_interrupt/main.c\nindex 1a87551..9dc0df8 100644\n--- a/examples/link_status_interrupt/main.c\n+++ b/examples/link_status_interrupt/main.c\n@@ -78,25 +78,6 @@\n #define MBUF_SIZE (2048 + sizeof(struct rte_mbuf) + RTE_PKTMBUF_HEADROOM)\n #define NB_MBUF   8192\n \n-/*\n- * RX and TX Prefetch, Host, and Write-back threshold values should be\n- * carefully set for optimal performance. Consult the network\n- * controller's datasheet and supporting DPDK documentation for guidance\n- * on how these parameters should be set.\n- */\n-#define RX_PTHRESH 8 /**< Default values of RX prefetch threshold reg. */\n-#define RX_HTHRESH 8 /**< Default values of RX host threshold reg. */\n-#define RX_WTHRESH 4 /**< Default values of RX write-back threshold reg. */\n-\n-/*\n- * These default values are optimized for use with the Intel(R) 82599 10 GbE\n- * Controller and the DPDK ixgbe PMD. Consider using other values for other\n- * network controllers and/or network drivers.\n- */\n-#define TX_PTHRESH 36 /**< Default values of TX prefetch threshold reg. */\n-#define TX_HTHRESH 0  /**< Default values of TX host threshold reg. */\n-#define TX_WTHRESH 0  /**< Default values of TX write-back threshold reg. */\n-\n #define MAX_PKT_BURST 32\n #define BURST_TX_DRAIN_US 100 /* TX drain every ~100us */\n \n@@ -153,24 +134,6 @@ static const struct rte_eth_conf port_conf = {\n \t},\n };\n \n-static const struct rte_eth_rxconf rx_conf = {\n-\t.rx_thresh = {\n-\t\t.pthresh = RX_PTHRESH,\n-\t\t.hthresh = RX_HTHRESH,\n-\t\t.wthresh = RX_WTHRESH,\n-\t},\n-};\n-\n-static const struct rte_eth_txconf tx_conf = {\n-\t.tx_thresh = {\n-\t\t.pthresh = TX_PTHRESH,\n-\t\t.hthresh = TX_HTHRESH,\n-\t\t.wthresh = TX_WTHRESH,\n-\t},\n-\t.tx_free_thresh = 0, /* Use PMD default values */\n-\t.tx_rs_thresh = 0, /* Use PMD default values */\n-};\n-\n struct rte_mempool * lsi_pktmbuf_pool = NULL;\n \n /* Per-port statistics struct */\n@@ -754,7 +717,8 @@ MAIN(int argc, char **argv)\n \t\t/* init one RX queue */\n \t\tfflush(stdout);\n \t\tret = rte_eth_rx_queue_setup(portid, 0, nb_rxd,\n-\t\t\t\t\t     rte_eth_dev_socket_id(portid), &rx_conf,\n+\t\t\t\t\t     rte_eth_dev_socket_id(portid),\n+\t\t\t\t\t     NULL,\n \t\t\t\t\t     lsi_pktmbuf_pool);\n \t\tif (ret < 0)\n \t\t\trte_exit(EXIT_FAILURE, \"rte_eth_rx_queue_setup: err=%d, port=%u\\n\",\n@@ -763,7 +727,8 @@ MAIN(int argc, char **argv)\n \t\t/* init one TX queue logical core on each port */\n \t\tfflush(stdout);\n \t\tret = rte_eth_tx_queue_setup(portid, 0, nb_txd,\n-\t\t\t\trte_eth_dev_socket_id(portid), &tx_conf);\n+\t\t\t\trte_eth_dev_socket_id(portid),\n+\t\t\t\tNULL);\n \t\tif (ret < 0)\n \t\t\trte_exit(EXIT_FAILURE, \"rte_eth_tx_queue_setup: err=%d,port=%u\\n\",\n \t\t\t\t  ret, (unsigned) portid);\ndiff --git a/examples/load_balancer/init.c b/examples/load_balancer/init.c\nindex 2f00a70..448425b 100644\n--- a/examples/load_balancer/init.c\n+++ b/examples/load_balancer/init.c\n@@ -95,26 +95,6 @@ static struct rte_eth_conf port_conf = {\n \t},\n };\n \n-static struct rte_eth_rxconf rx_conf = {\n-\t.rx_thresh = {\n-\t\t.pthresh = APP_DEFAULT_NIC_RX_PTHRESH,\n-\t\t.hthresh = APP_DEFAULT_NIC_RX_HTHRESH,\n-\t\t.wthresh = APP_DEFAULT_NIC_RX_WTHRESH,\n-\t},\n-\t.rx_free_thresh = APP_DEFAULT_NIC_RX_FREE_THRESH,\n-\t.rx_drop_en = APP_DEFAULT_NIC_RX_DROP_EN,\n-};\n-\n-static struct rte_eth_txconf tx_conf = {\n-\t.tx_thresh = {\n-\t\t.pthresh = APP_DEFAULT_NIC_TX_PTHRESH,\n-\t\t.hthresh = APP_DEFAULT_NIC_TX_HTHRESH,\n-\t\t.wthresh = APP_DEFAULT_NIC_TX_WTHRESH,\n-\t},\n-\t.tx_free_thresh = APP_DEFAULT_NIC_TX_FREE_THRESH,\n-\t.tx_rs_thresh = APP_DEFAULT_NIC_TX_RS_THRESH,\n-};\n-\n static void\n app_assign_worker_ids(void)\n {\n@@ -495,7 +475,7 @@ app_init_nics(void)\n \t\t\t\tqueue,\n \t\t\t\t(uint16_t) app.nic_rx_ring_size,\n \t\t\t\tsocket,\n-\t\t\t\t&rx_conf,\n+\t\t\t\tNULL,\n \t\t\t\tpool);\n \t\t\tif (ret < 0) {\n \t\t\t\trte_panic(\"Cannot init RX queue %u for port %u (%d)\\n\",\n@@ -516,7 +496,7 @@ app_init_nics(void)\n \t\t\t\t0,\n \t\t\t\t(uint16_t) app.nic_tx_ring_size,\n \t\t\t\tsocket,\n-\t\t\t\t&tx_conf);\n+\t\t\t\tNULL);\n \t\t\tif (ret < 0) {\n \t\t\t\trte_panic(\"Cannot init TX queue 0 for port %d (%d)\\n\",\n \t\t\t\t\tport,\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 a84d1ee..5b3f06e 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@@ -84,41 +84,6 @@\n \n #define NO_FLAGS 0\n \n-/*\n- * RX and TX Prefetch, Host, and Write-back threshold values should be\n- * carefully set for optimal performance. Consult the network\n- * controller's datasheet and supporting DPDK documentation for guidance\n- * on how these parameters should be set.\n- */\n-/* Default configuration for rx and tx thresholds etc. */\n-/*\n- * These default values are optimized for use with the Intel(R) 82599 10 GbE\n- * Controller and the DPDK ixgbe PMD. Consider using other values for other\n- * network controllers and/or network drivers.\n- */\n-#define MP_DEFAULT_PTHRESH 36\n-#define MP_DEFAULT_RX_HTHRESH 8\n-#define MP_DEFAULT_TX_HTHRESH 0\n-#define MP_DEFAULT_WTHRESH 0\n-\n-static const struct rte_eth_rxconf rx_conf_default = {\n-\t\t.rx_thresh = {\n-\t\t\t\t.pthresh = MP_DEFAULT_PTHRESH,\n-\t\t\t\t.hthresh = MP_DEFAULT_RX_HTHRESH,\n-\t\t\t\t.wthresh = MP_DEFAULT_WTHRESH,\n-\t\t},\n-};\n-\n-static const struct rte_eth_txconf tx_conf_default = {\n-\t\t.tx_thresh = {\n-\t\t\t\t.pthresh = MP_DEFAULT_PTHRESH,\n-\t\t\t\t.hthresh = MP_DEFAULT_TX_HTHRESH,\n-\t\t\t\t.wthresh = MP_DEFAULT_WTHRESH,\n-\t\t},\n-\t\t.tx_free_thresh = 0, /* Use PMD default values */\n-\t\t.tx_rs_thresh = 0, /* Use PMD default values */\n-};\n-\n /* The mbuf pool for packet rx */\n struct rte_mempool *pktmbuf_pool;\n \n@@ -184,13 +149,15 @@ init_port(uint8_t port_num)\n \n \tfor (q = 0; q < rx_rings; q++) {\n \t\tretval = rte_eth_rx_queue_setup(port_num, q, rx_ring_size,\n-\t\t\t\trte_eth_dev_socket_id(port_num), &rx_conf_default, pktmbuf_pool);\n+\t\t\t\trte_eth_dev_socket_id(port_num),\n+\t\t\t\tNULL, pktmbuf_pool);\n \t\tif (retval < 0) return retval;\n \t}\n \n \tfor ( q = 0; q < tx_rings; q ++ ) {\n \t\tretval = rte_eth_tx_queue_setup(port_num, q, tx_ring_size,\n-\t\t\t\trte_eth_dev_socket_id(port_num), &tx_conf_default);\n+\t\t\t\trte_eth_dev_socket_id(port_num),\n+\t\t\t\tNULL);\n \t\tif (retval < 0) return retval;\n \t}\n \ndiff --git a/examples/multi_process/l2fwd_fork/main.c b/examples/multi_process/l2fwd_fork/main.c\nindex 03fba55..5899875 100644\n--- a/examples/multi_process/l2fwd_fork/main.c\n+++ b/examples/multi_process/l2fwd_fork/main.c\n@@ -96,25 +96,6 @@ enum l2fwd_cmd{\n \tCMD_STOP,\n };\n \n-/*\n- * RX and TX Prefetch, Host, and Write-back threshold values should be\n- * carefully set for optimal performance. Consult the network\n- * controller's datasheet and supporting DPDK documentation for guidance\n- * on how these parameters should be set.\n- */\n-#define RX_PTHRESH 8 /**< Default values of RX prefetch threshold reg. */\n-#define RX_HTHRESH 8 /**< Default values of RX host threshold reg. */\n-#define RX_WTHRESH 4 /**< Default values of RX write-back threshold reg. */\n-\n-/*\n- * These default values are optimized for use with the Intel(R) 82599 10 GbE\n- * Controller and the DPDK ixgbe PMD. Consider using other values for other\n- * network controllers and/or network drivers.\n- */\n-#define TX_PTHRESH 36 /**< Default values of TX prefetch threshold reg. */\n-#define TX_HTHRESH 0  /**< Default values of TX host threshold reg. */\n-#define TX_WTHRESH 0  /**< Default values of TX write-back threshold reg. */\n-\n #define MAX_PKT_BURST 32\n #define BURST_TX_DRAIN_US 100 /* TX drain every ~100us */\n \n@@ -190,25 +171,6 @@ static const struct rte_eth_conf port_conf = {\n \t},\n };\n \n-static const struct rte_eth_rxconf rx_conf = {\n-\t.rx_thresh = {\n-\t\t.pthresh = RX_PTHRESH,\n-\t\t.hthresh = RX_HTHRESH,\n-\t\t.wthresh = RX_WTHRESH,\n-\t},\n-};\n-\n-static const struct rte_eth_txconf tx_conf = {\n-\t.tx_thresh = {\n-\t\t.pthresh = TX_PTHRESH,\n-\t\t.hthresh = TX_HTHRESH,\n-\t\t.wthresh = TX_WTHRESH,\n-\t},\n-\t.tx_free_thresh = 0, /* Use PMD default values */\n-\t.tx_rs_thresh = 0, /* Use PMD default values */\n-\t.txq_flags = ETH_TXQ_FLAGS_NOMULTSEGS | ETH_TXQ_FLAGS_NOOFFLOADS,\n-};\n-\n static struct rte_mempool * l2fwd_pktmbuf_pool[RTE_MAX_ETHPORTS];\n \n /* Per-port statistics struct */\n@@ -1170,7 +1132,8 @@ MAIN(int argc, char **argv)\n \t\t/* init one RX queue */\n \t\tfflush(stdout);\n \t\tret = rte_eth_rx_queue_setup(portid, 0, nb_rxd,\n-\t\t\t\t\t     rte_eth_dev_socket_id(portid), &rx_conf,\n+\t\t\t\t\t     rte_eth_dev_socket_id(portid),\n+\t\t\t\t\t     NULL,\n \t\t\t\t\t     l2fwd_pktmbuf_pool[portid]);\n \t\tif (ret < 0)\n \t\t\trte_exit(EXIT_FAILURE, \"rte_eth_rx_queue_setup:err=%d, port=%u\\n\",\n@@ -1179,7 +1142,8 @@ MAIN(int argc, char **argv)\n \t\t/* init one TX queue on each port */\n \t\tfflush(stdout);\n \t\tret = rte_eth_tx_queue_setup(portid, 0, nb_txd,\n-\t\t\t\trte_eth_dev_socket_id(portid), &tx_conf);\n+\t\t\t\trte_eth_dev_socket_id(portid),\n+\t\t\t\tNULL);\n \t\tif (ret < 0)\n \t\t\trte_exit(EXIT_FAILURE, \"rte_eth_tx_queue_setup:err=%d, port=%u\\n\",\n \t\t\t\tret, (unsigned) portid);\ndiff --git a/examples/multi_process/symmetric_mp/main.c b/examples/multi_process/symmetric_mp/main.c\nindex b8f31b3..638d167 100644\n--- a/examples/multi_process/symmetric_mp/main.c\n+++ b/examples/multi_process/symmetric_mp/main.c\n@@ -89,36 +89,6 @@\n #define PARAM_PROC_ID \"proc-id\"\n #define PARAM_NUM_PROCS \"num-procs\"\n \n-/*\n- * RX and TX Prefetch, Host, and Write-back threshold values should be\n- * carefully set for optimal performance. Consult the network\n- * controller's datasheet and supporting DPDK documentation for guidance\n- * on how these parameters should be set.\n- */\n-/* Default configuration for rx and tx thresholds etc. */\n-static const struct rte_eth_rxconf rx_conf_default = {\n-\t.rx_thresh = {\n-\t\t.pthresh = 8,\n-\t\t.hthresh = 8,\n-\t\t.wthresh = 4,\n-\t},\n-};\n-\n-/*\n- * These default values are optimized for use with the Intel(R) 82599 10 GbE\n- * Controller and the DPDK ixgbe PMD. Consider using other values for other\n- * network controllers and/or network drivers.\n- */\n-static const struct rte_eth_txconf tx_conf_default = {\n-\t.tx_thresh = {\n-\t\t.pthresh = 36,\n-\t\t.hthresh = 0,\n-\t\t.wthresh = 0,\n-\t},\n-\t.tx_free_thresh = 0, /* Use PMD default values */\n-\t.tx_rs_thresh = 0, /* Use PMD default values */\n-};\n-\n /* for each lcore, record the elements of the ports array to use */\n struct lcore_ports{\n \tunsigned start_port;\n@@ -277,7 +247,8 @@ smp_port_init(uint8_t port, struct rte_mempool *mbuf_pool, uint16_t num_queues)\n \n \tfor (q = 0; q < rx_rings; q ++) {\n \t\tretval = rte_eth_rx_queue_setup(port, q, RX_RING_SIZE,\n-\t\t\t\trte_eth_dev_socket_id(port), &rx_conf_default,\n+\t\t\t\trte_eth_dev_socket_id(port),\n+\t\t\t\tNULL,\n \t\t\t\tmbuf_pool);\n \t\tif (retval < 0)\n \t\t\treturn retval;\n@@ -285,7 +256,8 @@ smp_port_init(uint8_t port, struct rte_mempool *mbuf_pool, uint16_t num_queues)\n \n \tfor (q = 0; q < tx_rings; q ++) {\n \t\tretval = rte_eth_tx_queue_setup(port, q, TX_RING_SIZE,\n-\t\t\t\trte_eth_dev_socket_id(port), &tx_conf_default);\n+\t\t\t\trte_eth_dev_socket_id(port),\n+\t\t\t\tNULL);\n \t\tif (retval < 0)\n \t\t\treturn retval;\n \t}\ndiff --git a/examples/netmap_compat/bridge/bridge.c b/examples/netmap_compat/bridge/bridge.c\nindex 898277e..f935b3b 100644\n--- a/examples/netmap_compat/bridge/bridge.c\n+++ b/examples/netmap_compat/bridge/bridge.c\n@@ -67,29 +67,6 @@ struct rte_eth_conf eth_conf = {\n \t},\n };\n \n-struct rte_eth_txconf tx_conf = {\n-\t.tx_thresh = {\n-\t    .pthresh = 36,\n-\t    .hthresh = 0,\n-\t    .wthresh = 0,\n-\t},\n-\t.tx_free_thresh = 0,\n-\t.tx_rs_thresh = 0,\n-\t.txq_flags = (ETH_TXQ_FLAGS_NOMULTSEGS |\n-\t\t\tETH_TXQ_FLAGS_NOVLANOFFL |\n-\t\t\tETH_TXQ_FLAGS_NOXSUMSCTP |\n-\t\t\tETH_TXQ_FLAGS_NOXSUMUDP |\n-\t\t\tETH_TXQ_FLAGS_NOXSUMTCP)\n-};\n-\n-struct rte_eth_rxconf rx_conf = {\n-\t.rx_thresh = {\n-\t    .pthresh = 8,\n-\t    .hthresh = 8,\n-\t    .wthresh = 4,\n-\t},\n-};\n-\n #define\tMAX_QUEUE_NUM\t1\n #define\tRX_QUEUE_NUM\t1\n #define\tTX_QUEUE_NUM\t1\n@@ -103,8 +80,6 @@ struct rte_eth_rxconf rx_conf = {\n \n struct rte_netmap_port_conf port_conf = {\n \t.eth_conf = &eth_conf,\n-\t.tx_conf  = &tx_conf,\n-\t.rx_conf  = &rx_conf,\n \t.socket_id = SOCKET_ID_ANY,\n \t.nr_tx_rings = TX_QUEUE_NUM,\n \t.nr_rx_rings = RX_QUEUE_NUM,\ndiff --git a/examples/netmap_compat/lib/compat_netmap.c b/examples/netmap_compat/lib/compat_netmap.c\nindex 44b3f8e..2348366 100644\n--- a/examples/netmap_compat/lib/compat_netmap.c\n+++ b/examples/netmap_compat/lib/compat_netmap.c\n@@ -713,7 +713,7 @@ rte_netmap_init_port(uint8_t portid, const struct rte_netmap_port_conf *conf)\n \n \tfor (i = 0; i < conf->nr_tx_rings; i++) {\n \t\tret = rte_eth_tx_queue_setup(portid, i, tx_slots,\n-\t\t\tconf->socket_id, conf->tx_conf);\n+\t\t\tconf->socket_id, NULL);\n \n \t\tif (ret < 0) {\n \t\t\tRTE_LOG(ERR, USER1,\n@@ -724,7 +724,7 @@ rte_netmap_init_port(uint8_t portid, const struct rte_netmap_port_conf *conf)\n \t\t}\n \n \t\tret = rte_eth_rx_queue_setup(portid, i, rx_slots,\n-\t\t\tconf->socket_id, conf->rx_conf, conf->pool);\n+\t\t\tconf->socket_id, NULL, conf->pool);\n \n \t\tif (ret < 0) {\n \t\t\tRTE_LOG(ERR, USER1,\n@@ -737,8 +737,6 @@ rte_netmap_init_port(uint8_t portid, const struct rte_netmap_port_conf *conf)\n \n \t/* copy config to the private storage. */\n \tports[portid].eth_conf = conf->eth_conf[0];\n-\tports[portid].rx_conf = conf->rx_conf[0];\n-\tports[portid].tx_conf = conf->tx_conf[0];\n \tports[portid].pool = conf->pool;\n \tports[portid].socket_id = conf->socket_id;\n \tports[portid].nr_tx_rings = conf->nr_tx_rings;\ndiff --git a/examples/netmap_compat/lib/compat_netmap.h b/examples/netmap_compat/lib/compat_netmap.h\nindex f7f2276..f8a7812 100644\n--- a/examples/netmap_compat/lib/compat_netmap.h\n+++ b/examples/netmap_compat/lib/compat_netmap.h\n@@ -56,8 +56,6 @@ struct rte_netmap_conf {\n \n struct rte_netmap_port_conf {\n \tstruct rte_eth_conf   *eth_conf;\n-\tstruct rte_eth_txconf *tx_conf;\n-\tstruct rte_eth_rxconf *rx_conf;\n \tstruct rte_mempool    *pool;\n \tint32_t socket_id;\n \tuint16_t nr_tx_rings;\ndiff --git a/examples/qos_meter/main.c b/examples/qos_meter/main.c\nindex b4b8c4f..a942249 100755\n--- a/examples/qos_meter/main.c\n+++ b/examples/qos_meter/main.c\n@@ -102,26 +102,6 @@ static struct rte_eth_conf port_conf = {\n \t},\n };\n \n-static const struct rte_eth_rxconf rx_conf = {\n-\t.rx_thresh = {\n-\t\t.pthresh = 8, /* RX prefetch threshold reg */\n-\t\t.hthresh = 8, /* RX host threshold reg */\n-\t\t.wthresh = 4, /* RX write-back threshold reg */\n-\t},\n-\t.rx_free_thresh = 32,\n-};\n-\n-static const struct rte_eth_txconf tx_conf = {\n-\t.tx_thresh = {\n-\t\t.pthresh = 36, /* TX prefetch threshold reg */\n-\t\t.hthresh = 0,  /* TX host threshold reg */\n-\t\t.wthresh = 0,  /* TX write-back threshold reg */\n-\t},\n-\t.tx_free_thresh = 0,\n-\t.tx_rs_thresh = 0,\n-\t.txq_flags = 0x0,\n-};\n-\n #define NIC_RX_QUEUE_DESC               128\n #define NIC_TX_QUEUE_DESC               512\n \n@@ -394,11 +374,15 @@ MAIN(int argc, char **argv)\n \tif (ret < 0)\n \t\trte_exit(EXIT_FAILURE, \"Port %d configuration error (%d)\\n\", port_rx, ret);\n \n-\tret = rte_eth_rx_queue_setup(port_rx, NIC_RX_QUEUE, NIC_RX_QUEUE_DESC, rte_eth_dev_socket_id(port_rx), &rx_conf, pool);\n+\tret = rte_eth_rx_queue_setup(port_rx, NIC_RX_QUEUE, NIC_RX_QUEUE_DESC,\n+\t\t\t\trte_eth_dev_socket_id(port_rx),\n+\t\t\t\tNULL, pool);\n \tif (ret < 0)\n \t\trte_exit(EXIT_FAILURE, \"Port %d RX queue setup error (%d)\\n\", port_rx, ret);\n \n-\tret = rte_eth_tx_queue_setup(port_rx, NIC_TX_QUEUE, NIC_TX_QUEUE_DESC, rte_eth_dev_socket_id(port_rx), &tx_conf);\n+\tret = rte_eth_tx_queue_setup(port_rx, NIC_TX_QUEUE, NIC_TX_QUEUE_DESC,\n+\t\t\t\trte_eth_dev_socket_id(port_rx),\n+\t\t\t\tNULL);\n \tif (ret < 0)\n \trte_exit(EXIT_FAILURE, \"Port %d TX queue setup error (%d)\\n\", port_rx, ret);\n \n@@ -406,11 +390,15 @@ MAIN(int argc, char **argv)\n \tif (ret < 0)\n \t\trte_exit(EXIT_FAILURE, \"Port %d configuration error (%d)\\n\", port_tx, ret);\n \n-\tret = rte_eth_rx_queue_setup(port_tx, NIC_RX_QUEUE, NIC_RX_QUEUE_DESC, rte_eth_dev_socket_id(port_tx), &rx_conf, pool);\n+\tret = rte_eth_rx_queue_setup(port_tx, NIC_RX_QUEUE, NIC_RX_QUEUE_DESC,\n+\t\t\t\trte_eth_dev_socket_id(port_tx),\n+\t\t\t\tNULL, pool);\n \tif (ret < 0)\n \t\trte_exit(EXIT_FAILURE, \"Port %d RX queue setup error (%d)\\n\", port_tx, ret);\n \n-\tret = rte_eth_tx_queue_setup(port_tx, NIC_TX_QUEUE, NIC_TX_QUEUE_DESC, rte_eth_dev_socket_id(port_tx), &tx_conf);\n+\tret = rte_eth_tx_queue_setup(port_tx, NIC_TX_QUEUE, NIC_TX_QUEUE_DESC,\n+\t\t\t\trte_eth_dev_socket_id(port_tx),\n+\t\t\t\trte_eth_txconf_defaults(port_tx, NULL));\n \tif (ret < 0)\n \t\trte_exit(EXIT_FAILURE, \"Port %d TX queue setup error (%d)\\n\", port_tx, ret);\n \ndiff --git a/examples/quota_watermark/qw/init.c b/examples/quota_watermark/qw/init.c\nindex a7f8c85..5adb906 100644\n--- a/examples/quota_watermark/qw/init.c\n+++ b/examples/quota_watermark/qw/init.c\n@@ -64,24 +64,6 @@ static const struct rte_eth_conf port_conf = {\n \t},\n };\n \n-static const struct rte_eth_rxconf rx_conf = {\n-    .rx_thresh = {\n-        .pthresh = 8,\n-        .hthresh = 8,\n-        .wthresh = 4,\n-    },\n-};\n-\n-static const struct rte_eth_txconf tx_conf = {\n-    .tx_thresh = {\n-        .pthresh = 36,\n-        .hthresh = 0,\n-        .wthresh = 0,\n-    },\n-    .tx_free_thresh = 0,\n-    .tx_rs_thresh = 0,\n-};\n-\n static struct rte_eth_fc_conf fc_conf = {\n     .mode       = RTE_FC_TX_PAUSE,\n     .high_water = 80 * 510 / 100,\n@@ -104,15 +86,17 @@ void configure_eth_port(uint8_t port_id)\n \n     /* Initialize the port's RX queue */\n     ret = rte_eth_rx_queue_setup(port_id, 0, RX_DESC_PER_QUEUE,\n-                                 rte_eth_dev_socket_id(port_id), &rx_conf,\n-                                 mbuf_pool);\n+\t\t\t\trte_eth_dev_socket_id(port_id),\n+\t\t\t\tNULL,\n+\t\t\t\tmbuf_pool);\n     if (ret < 0)\n         rte_exit(EXIT_FAILURE, \"Failed to setup RX queue on \"\n                                \"port %u (error %d)\\n\", (unsigned) port_id, ret);\n \n     /* Initialize the port's TX queue */\n     ret = rte_eth_tx_queue_setup(port_id, 0, TX_DESC_PER_QUEUE,\n-                                 rte_eth_dev_socket_id(port_id), &tx_conf);\n+\t\t\t\trte_eth_dev_socket_id(port_id),\n+\t\t\t\tNULL);\n     if (ret < 0)\n         rte_exit(EXIT_FAILURE, \"Failed to setup TX queue on \"\n                                \"port %u (error %d)\\n\", (unsigned) port_id, ret);\ndiff --git a/examples/vhost_xen/main.c b/examples/vhost_xen/main.c\nindex b275747..f5c801c 100644\n--- a/examples/vhost_xen/main.c\n+++ b/examples/vhost_xen/main.c\n@@ -136,29 +136,7 @@ static uint32_t enable_vm2vm = 1;\n static uint32_t enable_stats = 0;\n \n /* Default configuration for rx and tx thresholds etc. */\n-static const struct rte_eth_rxconf rx_conf_default = {\n-\t.rx_thresh = {\n-\t\t.pthresh = RX_PTHRESH,\n-\t\t.hthresh = RX_HTHRESH,\n-\t\t.wthresh = RX_WTHRESH,\n-\t},\n-\t.rx_drop_en = 1,\n-};\n-\n-/*\n- * These default values are optimized for use with the Intel(R) 82599 10 GbE\n- * Controller and the DPDK ixgbe/igb PMD. Consider using other values for other\n- * network controllers and/or network drivers.\n- */\n-static const struct rte_eth_txconf tx_conf_default = {\n-\t.tx_thresh = {\n-\t\t.pthresh = TX_PTHRESH,\n-\t\t.hthresh = TX_HTHRESH,\n-\t\t.wthresh = TX_WTHRESH,\n-\t},\n-\t.tx_free_thresh = 0, /* Use PMD default values */\n-\t.tx_rs_thresh = 0, /* Use PMD default values */\n-};\n+static struct rte_eth_rxconf rx_conf;\n \n /* empty vmdq configuration structure. Filled in programatically */\n static const struct rte_eth_conf vmdq_conf_default = {\n@@ -331,17 +309,20 @@ port_init(uint8_t port, struct rte_mempool *mbuf_pool)\n \tif (retval != 0)\n \t\treturn retval;\n \n+\trte_eth_rxconf_defaults(port, &rx_conf);\n+\trx_conf.rx_drop_en = 1;\n \t/* Setup the queues. */\n \tfor (q = 0; q < rx_rings; q ++) {\n \t\tretval = rte_eth_rx_queue_setup(port, q, rx_ring_size,\n-\t\t\t\t\t\trte_eth_dev_socket_id(port), &rx_conf_default,\n+\t\t\t\t\t\trte_eth_dev_socket_id(port), &rx_conf,\n \t\t\t\t\t\tmbuf_pool);\n \t\tif (retval < 0)\n \t\t\treturn retval;\n \t}\n \tfor (q = 0; q < tx_rings; q ++) {\n \t\tretval = rte_eth_tx_queue_setup(port, q, tx_ring_size,\n-\t\t\t\t\t\trte_eth_dev_socket_id(port), &tx_conf_default);\n+\t\t\t\t\t\trte_eth_dev_socket_id(port),\n+\t\t\t\t\t\tNULL);\n \t\tif (retval < 0)\n \t\t\treturn retval;\n \t}\ndiff --git a/examples/vmdq/main.c b/examples/vmdq/main.c\nindex 35df234..8353e89 100644\n--- a/examples/vmdq/main.c\n+++ b/examples/vmdq/main.c\n@@ -81,25 +81,6 @@\n #define MBUF_CACHE_SIZE 64\n #define MBUF_SIZE (2048 + sizeof(struct rte_mbuf) + RTE_PKTMBUF_HEADROOM)\n \n-/*\n- * RX and TX Prefetch, Host, and Write-back threshold values should be\n- * carefully set for optimal performance. Consult the network\n- * controller's datasheet and supporting DPDK documentation for guidance\n- * on how these parameters should be set.\n- */\n-#define RX_PTHRESH 8 /**< Default values of RX prefetch threshold reg. */\n-#define RX_HTHRESH 8 /**< Default values of RX host threshold reg. */\n-#define RX_WTHRESH 4 /**< Default values of RX write-back threshold reg. */\n-\n-/*\n- * These default values are optimized for use with the Intel(R) 82599 10 GbE\n- * Controller and the DPDK ixgbe PMD. Consider using other values for other\n- * network controllers and/or network drivers.\n- */\n-#define TX_PTHRESH 36 /**< Default values of TX prefetch threshold reg. */\n-#define TX_HTHRESH 0  /**< Default values of TX host threshold reg. */\n-#define TX_WTHRESH 0  /**< Default values of TX write-back threshold reg. */\n-\n #define MAX_PKT_BURST 32\n \n /*\n@@ -117,36 +98,7 @@ static uint32_t enabled_port_mask = 0;\n static uint32_t num_queues = 8;\n static uint32_t num_pools = 8;\n \n-/*\n- * RX and TX Prefetch, Host, and Write-back threshold values should be\n- * carefully set for optimal performance. Consult the network\n- * controller's datasheet and supporting DPDK documentation for guidance\n- * on how these parameters should be set.\n- */\n-/* Default configuration for rx and tx thresholds etc. */\n-static const struct rte_eth_rxconf rx_conf_default = {\n-\t.rx_thresh = {\n-\t\t.pthresh = RX_PTHRESH,\n-\t\t.hthresh = RX_HTHRESH,\n-\t\t.wthresh = RX_WTHRESH,\n-\t},\n-\t.rx_drop_en = 1,\n-};\n-\n-/*\n- * These default values are optimized for use with the Intel(R) 82599 10 GbE\n- * Controller and the DPDK ixgbe/igb PMD. Consider using other values for other\n- * network controllers and/or network drivers.\n- */\n-static const struct rte_eth_txconf tx_conf_default = {\n-\t.tx_thresh = {\n-\t\t.pthresh = TX_PTHRESH,\n-\t\t.hthresh = TX_HTHRESH,\n-\t\t.wthresh = TX_WTHRESH,\n-\t},\n-\t.tx_free_thresh = 0, /* Use PMD default values */\n-\t.tx_rs_thresh = 0, /* Use PMD default values */\n-};\n+static struct rte_eth_rxconf rx_conf;\n \n /* empty vmdq configuration structure. Filled in programatically */\n static const struct rte_eth_conf vmdq_conf_default = {\n@@ -308,17 +260,21 @@ port_init(uint8_t port, struct rte_mempool *mbuf_pool)\n \tif (retval != 0)\n \t\treturn retval;\n \n+\trte_eth_rxconf_defaults(port, &rx_conf);\n+\trx_conf.rx_drop_en = 1;\n \tfor (q = 0; q < rxRings; q ++) {\n \t\tretval = rte_eth_rx_queue_setup(port, q, rxRingSize,\n-\t\t\t\t\t\trte_eth_dev_socket_id(port), &rx_conf_default,\n-\t\t\t\t\t\tmbuf_pool);\n+\t\t\t\t\trte_eth_dev_socket_id(port),\n+\t\t\t\t\t&rx_conf,\n+\t\t\t\t\tmbuf_pool);\n \t\tif (retval < 0)\n \t\t\treturn retval;\n \t}\n \n \tfor (q = 0; q < txRings; q ++) {\n \t\tretval = rte_eth_tx_queue_setup(port, q, txRingSize,\n-\t\t\t\t\t\trte_eth_dev_socket_id(port), &tx_conf_default);\n+\t\t\t\t\trte_eth_dev_socket_id(port),\n+\t\t\t\t\tNULL);\n \t\tif (retval < 0)\n \t\t\treturn retval;\n \t}\ndiff --git a/examples/vmdq_dcb/main.c b/examples/vmdq_dcb/main.c\nindex 2f708a1..20726e5 100644\n--- a/examples/vmdq_dcb/main.c\n+++ b/examples/vmdq_dcb/main.c\n@@ -87,36 +87,6 @@ static uint32_t enabled_port_mask = 0;\n /* number of pools (if user does not specify any, 16 by default */\n static enum rte_eth_nb_pools num_pools = ETH_16_POOLS;\n \n-/*\n- * RX and TX Prefetch, Host, and Write-back threshold values should be\n- * carefully set for optimal performance. Consult the network\n- * controller's datasheet and supporting DPDK documentation for guidance\n- * on how these parameters should be set.\n- */\n-/* Default configuration for rx and tx thresholds etc. */\n-static const struct rte_eth_rxconf rx_conf_default = {\n-\t.rx_thresh = {\n-\t\t.pthresh = 8,\n-\t\t.hthresh = 8,\n-\t\t.wthresh = 4,\n-\t},\n-};\n-\n-/*\n- * These default values are optimized for use with the Intel(R) 82599 10 GbE\n- * Controller and the DPDK ixgbe PMD. Consider using other values for other\n- * network controllers and/or network drivers.\n- */\n-static const struct rte_eth_txconf tx_conf_default = {\n-\t.tx_thresh = {\n-\t\t.pthresh = 36,\n-\t\t.hthresh = 0,\n-\t\t.wthresh = 0,\n-\t},\n-\t.tx_free_thresh = 0, /* Use PMD default values */\n-\t.tx_rs_thresh = 0, /* Use PMD default values */\n-};\n-\n /* empty vmdq+dcb configuration structure. Filled in programatically */\n static const struct rte_eth_conf vmdq_dcb_conf_default = {\n \t.rxmode = {\n@@ -212,7 +182,8 @@ port_init(uint8_t port, struct rte_mempool *mbuf_pool)\n \n \tfor (q = 0; q < rxRings; q ++) {\n \t\tretval = rte_eth_rx_queue_setup(port, q, rxRingSize,\n-\t\t\t\t\t\trte_eth_dev_socket_id(port), &rx_conf_default,\n+\t\t\t\t\t\trte_eth_dev_socket_id(port),\n+\t\t\t\t\t\tNULL,\n \t\t\t\t\t\tmbuf_pool);\n \t\tif (retval < 0)\n \t\t\treturn retval;\n@@ -220,7 +191,8 @@ port_init(uint8_t port, struct rte_mempool *mbuf_pool)\n \n \tfor (q = 0; q < txRings; q ++) {\n \t\tretval = rte_eth_tx_queue_setup(port, q, txRingSize,\n-\t\t\t\t\t\trte_eth_dev_socket_id(port), &tx_conf_default);\n+\t\t\t\t\t\trte_eth_dev_socket_id(port),\n+\t\t\t\t\t\tNULL);\n \t\tif (retval < 0)\n \t\t\treturn retval;\n \t}\n",
    "prefixes": [
        "dpdk-dev",
        "2/2"
    ]
}