.. code-block:: c
- if (rte_pci_probe() < 0)
- rte_exit(EXIT_FAILURE, "Cannot probe PCI\n");
-
/* reset l2fwd_dst_ports */
for (portid = 0; portid < RTE_MAX_ETHPORTS; portid++)
rte_eth_dev_info_get((uint8_t) portid, &dev_info);
}
-Observe that:
-
-* rte_igb_pmd_init_all() simultaneously registers the driver as a PCI driver and as an Ethernet* Poll Mode Driver.
-
-* rte_pci_probe() parses the devices on the PCI bus and initializes recognized devices.
-
The next step is to configure the RX and TX queues.
For each port, there is only one RX queue (only one lcore is able to poll a given port).
The number of TX queues depends on the number of available lcores.
The values n_rx_port and rx_port_list[] are used in the main packet processing loop
(see :ref:`l2_fwd_app_rx_tx_packets`).
-The global configuration for the RX queues is stored in a static structure:
-
-.. code-block:: c
-
- static const struct rte_eth_rxconf rx_conf = {
- .rx_thresh = {
- .pthresh = RX_PTHRESH,
- .hthresh = RX_HTHRESH,
- .wthresh = RX_WTHRESH,
- },
- };
-
.. _l2_fwd_app_tx_init:
TX Queue Initialization