examples: adjust Rx and Tx descriptors to device limits
[dpdk.git] / examples / l3fwd-power / main.c
index 52eb835..bfd1ce0 100644 (file)
  */
 
 #define NB_MBUF RTE_MAX        ( \
-       (nb_ports*nb_rx_queue*RTE_TEST_RX_DESC_DEFAULT + \
+       (nb_ports*nb_rx_queue*nb_rxd + \
        nb_ports*nb_lcores*MAX_PKT_BURST + \
-       nb_ports*n_tx_queue*RTE_TEST_TX_DESC_DEFAULT + \
+       nb_ports*n_tx_queue*nb_txd + \
        nb_lcores*MEMPOOL_CACHE_SIZE), \
        (unsigned)8192)
 
@@ -1726,6 +1726,13 @@ main(int argc, char **argv)
                        rte_exit(EXIT_FAILURE, "Cannot configure device: "
                                        "err=%d, port=%d\n", ret, portid);
 
+               ret = rte_eth_dev_adjust_nb_rx_tx_desc(portid, &nb_rxd,
+                                                      &nb_txd);
+               if (ret < 0)
+                       rte_exit(EXIT_FAILURE,
+                                "Cannot adjust number of descriptors: err=%d, port=%d\n",
+                                ret, portid);
+
                rte_eth_macaddr_get(portid, &ports_eth_addr[portid]);
                print_ethaddr(" Address:", &ports_eth_addr[portid]);
                printf(", ");