New upstream version 17.08
[deb_dpdk.git] / examples / vmdq_dcb / main.c
index 35ffffa..b6ebccb 100644 (file)
@@ -49,7 +49,6 @@
 #include <rte_memcpy.h>
 #include <rte_memzone.h>
 #include <rte_eal.h>
-#include <rte_per_lcore.h>
 #include <rte_launch.h>
 #include <rte_atomic.h>
 #include <rte_cycles.h>
 #include <rte_debug.h>
 #include <rte_ether.h>
 #include <rte_ethdev.h>
-#include <rte_log.h>
 #include <rte_mempool.h>
 #include <rte_mbuf.h>
-#include <rte_memcpy.h>
 
 /* basic constants used in application */
 #define MAX_QUEUES 1024
@@ -227,8 +224,8 @@ port_init(uint8_t port, struct rte_mempool *mbuf_pool)
 {
        struct rte_eth_dev_info dev_info;
        struct rte_eth_conf port_conf = {0};
-       const uint16_t rxRingSize = RTE_TEST_RX_DESC_DEFAULT;
-       const uint16_t txRingSize = RTE_TEST_TX_DESC_DEFAULT;
+       uint16_t rxRingSize = RTE_TEST_RX_DESC_DEFAULT;
+       uint16_t txRingSize = RTE_TEST_TX_DESC_DEFAULT;
        int retval;
        uint16_t q;
        uint16_t queues_per_pool;
@@ -299,6 +296,17 @@ port_init(uint8_t port, struct rte_mempool *mbuf_pool)
        if (retval != 0)
                return retval;
 
+       retval = rte_eth_dev_adjust_nb_rx_tx_desc(port, &rxRingSize,
+                               &txRingSize);
+       if (retval != 0)
+               return retval;
+       if (RTE_MAX(rxRingSize, txRingSize) >
+           RTE_MAX(RTE_TEST_RX_DESC_DEFAULT, RTE_TEST_TX_DESC_DEFAULT)) {
+               printf("Mbuf pool has an insufficient size for port %u.\n",
+                       port);
+               return -1;
+       }
+
        for (q = 0; q < num_queues; q++) {
                retval = rte_eth_rx_queue_setup(port, q, rxRingSize,
                                        rte_eth_dev_socket_id(port),