doc: describe dynamic logging format
[dpdk.git] / doc / guides / prog_guide / packet_distrib_lib.rst
index c95291d..ee2b1a6 100644 (file)
 Packet Distributor Library
 ==========================
 
 Packet Distributor Library
 ==========================
 
-The IntelĀ® DPDK Packet Distributor library is a library designed to be used for dynamic load balancing of traffic
+The DPDK Packet Distributor library is a library designed to be used for dynamic load balancing of traffic
 while supporting single packet at a time operation.
 When using this library, the logical cores in use are to be considered in two roles: firstly a distributor lcore,
 which is responsible for load balancing or distributing packets,
 and a set of worker lcores which are responsible for receiving the packets from the distributor and operating on them.
 The model of operation is shown in the diagram below.
 
 while supporting single packet at a time operation.
 When using this library, the logical cores in use are to be considered in two roles: firstly a distributor lcore,
 which is responsible for load balancing or distributing packets,
 and a set of worker lcores which are responsible for receiving the packets from the distributor and operating on them.
 The model of operation is shown in the diagram below.
 
-|packet_distributor1|
+.. figure:: img/packet_distributor1.*
+
+   Packet Distributor mode of operation
+
+There are two modes of operation of the API in the distributor library,
+one which sends one packet at a time to workers using 32-bits for flow_id,
+and an optimized mode which sends bursts of up to 8 packets at a time to workers, using 15 bits of flow_id.
+The mode is selected by the type field in the ``rte_distributor_create()`` function.
 
 Distributor Core Operation
 --------------------------
 
 Distributor Core Operation
 --------------------------
@@ -91,13 +98,15 @@ No packet ordering guarantees are made about packets which do not share a common
 Using the process and returned_pkts API, the following application workflow can be used,
 while allowing packet order within a packet flow -- identified by a tag -- to be maintained.
 
 Using the process and returned_pkts API, the following application workflow can be used,
 while allowing packet order within a packet flow -- identified by a tag -- to be maintained.
 
-.. image41_png has been renamed
 
 
-|packet_distributor2|
+.. figure:: img/packet_distributor2.*
+
+   Application workflow
+
 
 The flush and clear_returns API calls, mentioned previously,
 are likely of less use that the process and returned_pkts APIS, and are principally provided to aid in unit testing of the library.
 
 The flush and clear_returns API calls, mentioned previously,
 are likely of less use that the process and returned_pkts APIS, and are principally provided to aid in unit testing of the library.
-Descriptions of these functions and their use can be found in the IntelĀ® DPDK API Reference document.
+Descriptions of these functions and their use can be found in the DPDK API Reference document.
 
 Worker Operation
 ----------------
 
 Worker Operation
 ----------------
@@ -110,7 +119,3 @@ Since it may be desirable to vary the number of worker cores, depending on the t
 i.e. to save power at times of lighter load,
 it is possible to have a worker stop processing packets by calling "rte_distributor_return_pkt()" to indicate that
 it has finished the current packet and does not want a new one.
 i.e. to save power at times of lighter load,
 it is possible to have a worker stop processing packets by calling "rte_distributor_return_pkt()" to indicate that
 it has finished the current packet and does not want a new one.
-
-.. |packet_distributor1| image:: img/packet_distributor1.png
-
-.. |packet_distributor2| image:: img/packet_distributor2.png