This application can be used to benchmark performance using the traffic
generator as shown in the figure below.
-.. _figure_22:
+.. _figure_dist_perf:
-**Figure 22. Performance Benchmarking Setup (Basic Environment)**
+.. figure:: img/dist_perf.*
+
+ Performance Benchmarking Setup (Basic Environment)
-|dist_perf|
Compiling the Application
-------------------------
.. code-block:: console
export RTE_SDK=/path/to/rte_sdk
- cd ${RTE_SDK}/examples/l3fwd-acl
+ cd ${RTE_SDK}/examples/distributor
#. Set the target (a default target is used if not specified). For example:
* -p PORTMASK: Hexadecimal bitmask of ports to configure
-#. To run the application in linuxapp environment with 11 lcores, 4 ports,
+#. To run the application in linuxapp environment with 10 lcores, 4 ports,
issue the command:
.. code-block:: console
-----------
The distributor application consists of three types of threads: a receive
-thread (lcore_rx()), a set of worker threads(locre_worker())
+thread (lcore_rx()), a set of worker threads(lcore_worker())
and a transmit thread(lcore_tx()). How these threads work together is shown
-in Fig2 below. The main() function launches threads of these three types.
+in :numref:`figure_dist_app` below. The main() function launches threads of these three types.
Each thread has a while loop which will be doing processing and which is
terminated only upon SIGINT or ctrl+C. The receive and transmit threads
communicate using a software ring (rte_ring structure).
in the application will terminate all running threads gracefully and print
final statistics to the user.
-.. _figure_23:
+.. _figure_dist_app:
+
+.. figure:: img/dist_app.*
-**Figure 23. Distributor Sample Application Layout**
+ Distributor Sample Application Layout
-|dist_app|
Debug Logging Support
---------------------
TX queue initialization is done in the same way as it is done in the L2 Forwarding
Sample Application. See Section 9.4.5, "TX Queue Initialization".
-
-.. |dist_perf| image:: img/dist_perf.svg
-
-.. |dist_app| image:: img/dist_app.svg