doc: add distributor application
New distributor sample app user guide section for sample app user guide. Signed-off-by: Siobhan Butler <siobhan.a.butler@intel.com> Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
This commit is contained in:
parent
b0152b1b40
commit
60643134c1
177
doc/guides/sample_app_ug/dist_app.rst
Normal file
177
doc/guides/sample_app_ug/dist_app.rst
Normal file
@ -0,0 +1,177 @@
|
||||
.. BSD LICENSE
|
||||
Copyright(c) 2010-2014 Intel Corporation. All rights reserved.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions
|
||||
are met:
|
||||
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in
|
||||
the documentation and/or other materials provided with the
|
||||
distribution.
|
||||
* Neither the name of Intel Corporation nor the names of its
|
||||
contributors may be used to endorse or promote products derived
|
||||
from this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
Distributor Sample Application
|
||||
==============================
|
||||
|
||||
The distributor sample application is a simple example of packet distribution
|
||||
to cores using the Data Plane Development Kit (DPDK).
|
||||
|
||||
Overview
|
||||
--------
|
||||
|
||||
The distributor application performs the distribution of packets that are received
|
||||
on an RX_PORT to different cores. When processed by the cores, the destination
|
||||
port of a packet is the port from the enabled port mask adjacent to the one on
|
||||
which the packet was received, that is, if the first four ports are enabled
|
||||
(port mask 0xf), ports 0 and 1 RX/TX into each other, and ports 2 and 3 RX/TX
|
||||
into each other.
|
||||
|
||||
This application can be used to benchmark performance using the traffic
|
||||
generator as shown in the figure below.
|
||||
|
||||
.. _figure_22:
|
||||
|
||||
**Figure 22. Performance Benchmarking Setup (Basic Environment)**
|
||||
|
||||
|dist_perf|
|
||||
|
||||
Compiling the Application
|
||||
-------------------------
|
||||
|
||||
#. Go to the sample application directory:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
export RTE_SDK=/path/to/rte_sdk
|
||||
cd ${RTE_SDK}/examples/l3fwd-acl
|
||||
|
||||
#. Set the target (a default target is used if not specified). For example:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
export RTE_TARGET=x86_64-native-linuxapp-gcc
|
||||
|
||||
See the DPDK Getting Started Guide for possible RTE_TARGET values.
|
||||
|
||||
#. Build the application:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
make
|
||||
|
||||
Running the Application
|
||||
-----------------------
|
||||
|
||||
#. The application has a number of command line options:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
./build/distributor_app [EAL options] -- -p PORTMASK
|
||||
|
||||
where,
|
||||
|
||||
* -p PORTMASK: Hexadecimal bitmask of ports to configure
|
||||
|
||||
#. To run the application in linuxapp environment with 11 lcores, 4 ports,
|
||||
issue the command:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
$ ./build/distributor_app -c 0x4003fe -n 4 -- -p f
|
||||
|
||||
#. Refer to the DPDK Getting Started Guide for general information on running
|
||||
applications and the Environment Abstraction Layer (EAL) options.
|
||||
|
||||
Explanation
|
||||
-----------
|
||||
|
||||
The distributor application consists of three types of threads: a receive
|
||||
thread (lcore_rx()), a set of worker threads(locre_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.
|
||||
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).
|
||||
|
||||
The receive thread receives the packets using rte_eth_rx_burst() and gives
|
||||
them to the distributor (using rte_distributor_process() API) which will
|
||||
be called in context of the receive thread itself. The distributor distributes
|
||||
the packets to workers threads based on the tagging of the packet -
|
||||
indicated by the hash field in the mbuf. For IP traffic, this field is
|
||||
automatically filled by the NIC with the "usr" hash value for the packet,
|
||||
which works as a per-flow tag.
|
||||
|
||||
More than one worker thread can exist as part of the application, and these
|
||||
worker threads do simple packet processing by requesting packets from
|
||||
the distributor, doing a simple XOR operation on the input port mbuf field
|
||||
(to indicate the output port which will be used later for packet transmission)
|
||||
and then finally returning the packets back to the distributor in the RX thread.
|
||||
|
||||
Meanwhile, the receive thread will call the distributor api
|
||||
rte_distributor_returned_pkts() to get the packets processed, and will enqueue
|
||||
them to a ring for transfer to the TX thread for transmission on the output port.
|
||||
The transmit thread will dequeue the packets from the ring and transmit them on
|
||||
the output port specified in packet mbuf.
|
||||
|
||||
Users who wish to terminate the running of the application have to press ctrl+C
|
||||
(or send SIGINT to the app). Upon this signal, a signal handler provided
|
||||
in the application will terminate all running threads gracefully and print
|
||||
final statistics to the user.
|
||||
|
||||
.. _figure_23:
|
||||
|
||||
**Figure 23. Distributor Sample Application Layout**
|
||||
|
||||
|dist_app|
|
||||
|
||||
Debug Logging Support
|
||||
---------------------
|
||||
|
||||
Debug logging is provided as part of the application; the user needs to uncomment
|
||||
the line "#define DEBUG" defined in start of the application in main.c to enable debug logs.
|
||||
|
||||
Statistics
|
||||
----------
|
||||
|
||||
Upon SIGINT (or) ctrl+C, the print_stats() function displays the count of packets
|
||||
processed at the different stages in the application.
|
||||
|
||||
Application Initialization
|
||||
--------------------------
|
||||
|
||||
Command line parsing is done in the same way as it is done in the L2 Forwarding Sample
|
||||
Application. See Section 9.4.1, "Command Line Arguments".
|
||||
|
||||
Mbuf pool initialization is done in the same way as it is done in the L2 Forwarding
|
||||
Sample Application. See Section 9.4.2, "Mbuf Pool Initialization".
|
||||
|
||||
Driver Initialization is done in same way as it is done in the L2 Forwarding Sample
|
||||
Application. See Section 9.4.3, "Driver Initialization".
|
||||
|
||||
RX queue initialization is done in the same way as it is done in the L2 Forwarding
|
||||
Sample Application. See Section 9.4.4, "RX Queue Initialization".
|
||||
|
||||
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
|
442
doc/guides/sample_app_ug/img/dist_app.svg
Normal file
442
doc/guides/sample_app_ug/img/dist_app.svg
Normal file
@ -0,0 +1,442 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="526.94379"
|
||||
height="379.53668"
|
||||
id="svg4090"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.5 r10040"
|
||||
sodipodi:docname="New document 2">
|
||||
<defs
|
||||
id="defs4092">
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Mend"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path10501"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="marker4017"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4019"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="marker4021"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4023"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="marker4025"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4027"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="marker4029"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4031"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="marker4033"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4035"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mstart"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Mstart"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path10498"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(0.4,0,0,0.4,4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mstart"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="marker4039"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4041"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(0.4,0,0,0.4,4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mstart"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="marker4043"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4045"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(0.4,0,0,0.4,4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mstart"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="marker4047"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4049"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(0.4,0,0,0.4,4,0)" />
|
||||
</marker>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="1"
|
||||
inkscape:cx="339.92174"
|
||||
inkscape:cy="120.32038"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1017"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1" />
|
||||
<metadata
|
||||
id="metadata4095">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-35.078263,-28.308125)">
|
||||
<rect
|
||||
style="fill:none;stroke:#000000;stroke-width:0.99999988;stroke-opacity:0.98412697"
|
||||
id="rect10443"
|
||||
width="152.9641"
|
||||
height="266.92566"
|
||||
x="122.95611"
|
||||
y="34.642567" />
|
||||
<rect
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-opacity:0.98412697"
|
||||
id="rect10445"
|
||||
width="124.71397"
|
||||
height="46.675529"
|
||||
x="435.7746"
|
||||
y="28.808125" />
|
||||
<rect
|
||||
style="fill:none;stroke:#000000;stroke-width:0.99999988;stroke-opacity:0.98412697"
|
||||
id="rect10445-2"
|
||||
width="124.71397"
|
||||
height="46.675529"
|
||||
x="435.42999"
|
||||
y="103.92654" />
|
||||
<rect
|
||||
style="fill:none;stroke:#000000;stroke-width:0.99999988;stroke-opacity:0.98412697"
|
||||
id="rect10445-0"
|
||||
width="124.71397"
|
||||
height="46.675529"
|
||||
x="436.80811"
|
||||
y="178.31572" />
|
||||
<rect
|
||||
style="fill:none;stroke:#000000;stroke-width:0.99999988;stroke-opacity:0.98412697"
|
||||
id="rect10445-9"
|
||||
width="124.71397"
|
||||
height="46.675529"
|
||||
x="436.80811"
|
||||
y="246.87038" />
|
||||
<rect
|
||||
style="fill:none;stroke:#000000;stroke-width:0.99999988;stroke-opacity:0.98412697"
|
||||
id="rect10445-7"
|
||||
width="124.71397"
|
||||
height="46.675529"
|
||||
x="135.7057"
|
||||
y="360.66928" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.99200004;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow1Mstart)"
|
||||
d="M 277.293,44.129101 433.02373,43.388655"
|
||||
id="path10486"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connector-curvature="3" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.99200004;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow1Mstart)"
|
||||
d="m 277.83855,110.78109 155.73073,-0.74044"
|
||||
id="path10486-2"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connector-curvature="3" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.99200004;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow1Mstart)"
|
||||
d="m 278.48623,189.32721 155.73073,-0.74042"
|
||||
id="path10486-1"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connector-curvature="3" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.99200004;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow1Mstart)"
|
||||
d="m 278.48623,255.19448 155.73073,-0.74043"
|
||||
id="path10486-4"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connector-curvature="3" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.99200004;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-mid:none;marker-end:url(#Arrow1Mend)"
|
||||
d="M 277.11852,66.041829 432.84924,65.301384"
|
||||
id="path10486-0"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connector-curvature="3" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.99200004;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-mid:none;marker-end:url(#Arrow1Mend)"
|
||||
d="M 277.46746,136.71727 433.1982,135.97682"
|
||||
id="path10486-0-4"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connector-curvature="3" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.99200004;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-mid:none;marker-end:url(#Arrow1Mend)"
|
||||
d="m 276.77843,210.37709 155.73073,-0.74044"
|
||||
id="path10486-0-7"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connector-curvature="3" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.99200004;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-mid:none;marker-end:url(#Arrow1Mend)"
|
||||
d="M 277.46746,282.5783 433.1982,281.83785"
|
||||
id="path10486-0-77"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connector-curvature="3" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:9.32312489px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="348.03241"
|
||||
y="34.792767"
|
||||
id="text11995"
|
||||
sodipodi:linespacing="125%"
|
||||
transform="scale(0.93992342,1.0639165)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan11997"
|
||||
x="348.03241"
|
||||
y="34.792767">Request packet</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:9.32312489px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="349.51935"
|
||||
y="74.044792"
|
||||
id="text11995-7"
|
||||
sodipodi:linespacing="125%"
|
||||
transform="scale(0.93992342,1.0639165)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan11997-3"
|
||||
x="349.51935"
|
||||
y="74.044792">Mbuf pointer</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:9.32312489px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="504.26611"
|
||||
y="52.165989"
|
||||
id="text11995-7-3"
|
||||
sodipodi:linespacing="125%"
|
||||
transform="scale(0.93992342,1.0639165)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan11997-3-5"
|
||||
x="504.26611"
|
||||
y="52.165989">WorkerThread1</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:9.32312489px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="501.65793"
|
||||
y="121.54361"
|
||||
id="text11995-7-3-9"
|
||||
sodipodi:linespacing="125%"
|
||||
transform="scale(0.93992342,1.0639165)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan11997-3-5-9"
|
||||
x="501.65793"
|
||||
y="121.54361">WorkerThread2</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:9.32312489px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="499.45868"
|
||||
y="191.46367"
|
||||
id="text11995-7-3-8"
|
||||
sodipodi:linespacing="125%"
|
||||
transform="scale(0.93992342,1.0639165)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan11997-3-5-1"
|
||||
x="499.45868"
|
||||
y="191.46367">WorkerThread3</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:9.32312489px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="500.1918"
|
||||
y="257.9563"
|
||||
id="text11995-7-3-82"
|
||||
sodipodi:linespacing="125%"
|
||||
transform="scale(0.93992342,1.0639165)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan11997-3-5-6"
|
||||
x="500.1918"
|
||||
y="257.9563">WorkerThreadN</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:9.32312489px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="193.79703"
|
||||
y="362.85193"
|
||||
id="text11995-7-3-6"
|
||||
sodipodi:linespacing="125%"
|
||||
transform="scale(0.93992342,1.0639165)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan11997-3-5-0"
|
||||
x="193.79703"
|
||||
y="362.85193">TX thread</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:9.32312489px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="162.2476"
|
||||
y="142.79382"
|
||||
id="text11995-7-3-3"
|
||||
sodipodi:linespacing="125%"
|
||||
transform="scale(0.93992342,1.0639165)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan11997-3-5-8"
|
||||
x="162.2476"
|
||||
y="142.79382">RX thread & Distributor</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.75945646;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-mid:none;marker-end:url(#Arrow1Mend)"
|
||||
d="m 35.457991,109.77995 85.546359,-0.79004"
|
||||
id="path10486-0-4-5"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connector-curvature="3" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.75945646;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-mid:none;marker-end:url(#Arrow1Mend)"
|
||||
d="m 135.70569,384.00706 -85.546361,0.79003"
|
||||
id="path10486-0-4-5-7"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connector-curvature="3" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:9.32312489px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="58.296661"
|
||||
y="96.037407"
|
||||
id="text11995-7-8"
|
||||
sodipodi:linespacing="125%"
|
||||
transform="scale(0.93992342,1.0639165)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan11997-3-3"
|
||||
x="58.296661"
|
||||
y="96.037407">Mbufs In</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:9.32312489px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="83.4814"
|
||||
y="352.62543"
|
||||
id="text11995-7-8-5"
|
||||
sodipodi:linespacing="125%"
|
||||
transform="scale(0.93992342,1.0639165)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan11997-3-3-1"
|
||||
x="83.4814"
|
||||
y="352.62543">Mbufs Out</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1.05720723;stroke-miterlimit:3;stroke-opacity:0.98412697;stroke-dasharray:none"
|
||||
d="m 171.68192,303.16236 0.21464,30.4719 -8.6322,0.40574 -11.33877,0.1956 25.75778,14.79103 23.25799,11.11792 18.87014,-7.32926 31.83305,-17.26495 -10.75831,-0.32986 -10.37586,-0.44324 -0.22443,-31.54093 z"
|
||||
id="path12188"
|
||||
inkscape:connector-curvature="0"
|
||||
inkscape:transform-center-y="7.6863474"
|
||||
sodipodi:nodetypes="cccccccccccc" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:9.32312489px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="193.68871"
|
||||
y="309.26349"
|
||||
id="text11995-7-3-6-2"
|
||||
sodipodi:linespacing="125%"
|
||||
transform="scale(0.93992342,1.0639165)"><tspan
|
||||
sodipodi:role="line"
|
||||
x="193.68871"
|
||||
y="309.26349"
|
||||
id="tspan12214">SW Ring</tspan></text>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 17 KiB |
459
doc/guides/sample_app_ug/img/dist_perf.svg
Normal file
459
doc/guides/sample_app_ug/img/dist_perf.svg
Normal file
@ -0,0 +1,459 @@
|
||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||
|
||||
<svg
|
||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||
xmlns:cc="http://creativecommons.org/ns#"
|
||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:svg="http://www.w3.org/2000/svg"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||
width="524.65625"
|
||||
height="387.59375"
|
||||
id="svg4116"
|
||||
version="1.1"
|
||||
inkscape:version="0.48.5 r10040"
|
||||
sodipodi:docname="New document 2">
|
||||
<defs
|
||||
id="defs4118">
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mstart"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Mstart"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path10498"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(0.4,0,0,0.4,4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="Arrow1Mend"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path10501"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mstart"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="marker4038"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4040"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(0.4,0,0,0.4,4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mstart"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="marker4042"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4044"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(0.4,0,0,0.4,4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="marker4046"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4048"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mstart"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="marker4050"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4052"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(0.4,0,0,0.4,4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mstart"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="marker4054"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4056"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(0.4,0,0,0.4,4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="marker4058"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4060"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mstart"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="marker4062"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4064"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(0.4,0,0,0.4,4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mstart"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="marker4066"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4068"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(0.4,0,0,0.4,4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mend"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="marker4070"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4072"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(-0.4,0,0,-0.4,-4,0)" />
|
||||
</marker>
|
||||
<marker
|
||||
inkscape:stockid="Arrow1Mstart"
|
||||
orient="auto"
|
||||
refY="0"
|
||||
refX="0"
|
||||
id="marker4074"
|
||||
style="overflow:visible">
|
||||
<path
|
||||
inkscape:connector-curvature="0"
|
||||
id="path4076"
|
||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
||||
transform="matrix(0.4,0,0,0.4,4,0)" />
|
||||
</marker>
|
||||
</defs>
|
||||
<sodipodi:namedview
|
||||
id="base"
|
||||
pagecolor="#ffffff"
|
||||
bordercolor="#666666"
|
||||
borderopacity="1.0"
|
||||
inkscape:pageopacity="0.0"
|
||||
inkscape:pageshadow="2"
|
||||
inkscape:zoom="1"
|
||||
inkscape:cx="354.46875"
|
||||
inkscape:cy="78.904643"
|
||||
inkscape:document-units="px"
|
||||
inkscape:current-layer="layer1"
|
||||
showgrid="false"
|
||||
fit-margin-top="0"
|
||||
fit-margin-left="0"
|
||||
fit-margin-right="0"
|
||||
fit-margin-bottom="0"
|
||||
inkscape:window-width="1920"
|
||||
inkscape:window-height="1017"
|
||||
inkscape:window-x="-8"
|
||||
inkscape:window-y="-8"
|
||||
inkscape:window-maximized="1" />
|
||||
<metadata
|
||||
id="metadata4121">
|
||||
<rdf:RDF>
|
||||
<cc:Work
|
||||
rdf:about="">
|
||||
<dc:format>image/svg+xml</dc:format>
|
||||
<dc:type
|
||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||
<dc:title></dc:title>
|
||||
</cc:Work>
|
||||
</rdf:RDF>
|
||||
</metadata>
|
||||
<g
|
||||
inkscape:label="Layer 1"
|
||||
inkscape:groupmode="layer"
|
||||
id="layer1"
|
||||
transform="translate(-20.53125,-22.84375)">
|
||||
<rect
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-opacity:0.98412697"
|
||||
id="rect10443"
|
||||
width="165.52779"
|
||||
height="376.84436"
|
||||
x="21.023544"
|
||||
y="24.286175" />
|
||||
<rect
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-opacity:0.98412697"
|
||||
id="rect10445"
|
||||
width="156.95697"
|
||||
height="386.59042"
|
||||
x="387.73376"
|
||||
y="23.352676" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.99199992;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow1Mstart)"
|
||||
d="m 188.27904,66.970932 195.99264,0.833121"
|
||||
id="path10486"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connector-curvature="3" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.99199992;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-mid:none;marker-end:url(#Arrow1Mend)"
|
||||
d="M 188.05945,91.53983 384.0521,90.566545"
|
||||
id="path10486-0"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connector-curvature="3" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:11.9913578px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="460.4104"
|
||||
y="292.91855"
|
||||
id="text11995"
|
||||
sodipodi:linespacing="125%"
|
||||
transform="scale(0.91971036,1.0872988)"><tspan
|
||||
sodipodi:role="line"
|
||||
x="460.4104"
|
||||
y="292.91855"
|
||||
id="tspan12218">Port2</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:11.9913578px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="459.06958"
|
||||
y="59.738571"
|
||||
id="text11995-7"
|
||||
sodipodi:linespacing="125%"
|
||||
transform="scale(0.91971036,1.0872988)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan11997-3"
|
||||
x="459.06958"
|
||||
y="59.738571">Port0</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:15.28272438px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="474.06027"
|
||||
y="184.77933"
|
||||
id="text11995-7-3"
|
||||
sodipodi:linespacing="125%"
|
||||
transform="scale(0.8986678,1.1127582)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan11997-3-5"
|
||||
x="474.06027"
|
||||
y="184.77933">DPDK board</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:16.0002594px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="54.009655"
|
||||
y="171.28656"
|
||||
id="text11995-7-3-3"
|
||||
sodipodi:linespacing="125%"
|
||||
transform="scale(0.81894062,1.2210897)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan11997-3-5-8"
|
||||
x="54.009655"
|
||||
y="171.28656">Traffic Generator</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:11.9913578px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="459.46732"
|
||||
y="91.195976"
|
||||
id="text11995-7-8"
|
||||
sodipodi:linespacing="125%"
|
||||
transform="scale(0.91971036,1.0872988)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan11997-3-3"
|
||||
x="459.46732"
|
||||
y="91.195976">Port1</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:11.9913578px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="460.15295"
|
||||
y="326.05963"
|
||||
id="text11995-7-3-6-2"
|
||||
sodipodi:linespacing="125%"
|
||||
transform="scale(0.91971036,1.0872988)"><tspan
|
||||
sodipodi:role="line"
|
||||
x="460.15295"
|
||||
y="326.05963"
|
||||
id="tspan12214">Port3</tspan></text>
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.99199992;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3;stroke-opacity:1;stroke-dasharray:0.99199999, 1.98399994;stroke-dashoffset:0;marker-start:url(#Arrow1Mstart);display:inline"
|
||||
d="m 389.46894,68.26125 12.5232,0 c 1.5,0 3,1.5 3,3 l 0,21.198419"
|
||||
id="path10486-06"
|
||||
inkscape:connector-type="orthogonal"
|
||||
inkscape:connector-curvature="3"
|
||||
sodipodi:nodetypes="ccc" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3;stroke-opacity:1;stroke-dasharray:0.99999997, 1.99999998;stroke-dashoffset:0"
|
||||
d="m 398.43415,91.043274 -11.52714,0 0.98804,0"
|
||||
id="path12267"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.99199992;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow1Mstart)"
|
||||
d="m 190.33387,103.00575 195.99267,0.97328"
|
||||
id="path10486-43"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connector-curvature="3" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.99199992;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-mid:none;marker-end:url(#Arrow1Mend)"
|
||||
d="M 187.50304,56.857383 383.49569,55.884111"
|
||||
id="path10486-0-9"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connector-curvature="3" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.99199992;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3;stroke-opacity:1;stroke-dasharray:0.99199997, 1.98399998;stroke-dashoffset:0;marker-start:url(#Arrow1Mstart);display:inline"
|
||||
d="m 388.42391,103.27876 27.61666,0 c 1.5,0 3,-1.5 3,-3 l 0,-41.462569"
|
||||
id="path10486-06-7"
|
||||
inkscape:connector-type="orthogonal"
|
||||
inkscape:connector-curvature="3"
|
||||
sodipodi:nodetypes="ccc" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3;stroke-opacity:1;stroke-dasharray:0.99999997, 1.99999994;stroke-dashoffset:0"
|
||||
d="m 417.31173,56.402625 -26.65144,0 2.2844,0"
|
||||
id="path12267-7"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.99199992;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow1Mstart)"
|
||||
d="m 186.54351,319.92933 195.99264,0.83313"
|
||||
id="path10486-07"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connector-curvature="3" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.99199992;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-mid:none;marker-end:url(#Arrow1Mend)"
|
||||
d="m 185.45351,344.49822 195.99262,-0.97328"
|
||||
id="path10486-0-3"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connector-curvature="3" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.99199992;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3;stroke-opacity:1;stroke-dasharray:0.99199997, 1.98399993;stroke-dashoffset:0;marker-start:url(#Arrow1Mstart);display:inline"
|
||||
d="m 387.7334,321.21965 12.52321,0 c 1.5,0 3,1.5 3,3 l 0,21.19843"
|
||||
id="path10486-06-4"
|
||||
inkscape:connector-type="orthogonal"
|
||||
inkscape:connector-curvature="3"
|
||||
sodipodi:nodetypes="ccc" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3;stroke-opacity:1;stroke-dasharray:0.99999997, 1.99999994;stroke-dashoffset:0"
|
||||
d="m 396.69862,344.00166 -11.52714,0 0.98804,0"
|
||||
id="path12267-9"
|
||||
inkscape:connector-curvature="0" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.99199992;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3;stroke-opacity:1;stroke-dasharray:none;marker-start:url(#Arrow1Mstart)"
|
||||
d="m 190.33918,355.96416 195.99266,0.97327"
|
||||
id="path10486-43-6"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connector-curvature="3" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.99199992;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3;stroke-opacity:1;stroke-dasharray:none;marker-start:none;marker-mid:none;marker-end:url(#Arrow1Mend)"
|
||||
d="m 185.76751,309.8158 195.99266,-0.97331"
|
||||
id="path10486-0-9-5"
|
||||
inkscape:connector-type="polyline"
|
||||
inkscape:connector-curvature="3" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:0.99199992;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3;stroke-opacity:1;stroke-dasharray:0.99199997, 1.98399994;stroke-dashoffset:0;marker-start:url(#Arrow1Mstart);display:inline"
|
||||
d="m 386.68838,356.23716 27.61666,0 c 1.5,0 3,-1.5 3,-3 l 0,-41.46255"
|
||||
id="path10486-06-7-1"
|
||||
inkscape:connector-type="orthogonal"
|
||||
inkscape:connector-curvature="3"
|
||||
sodipodi:nodetypes="ccc" />
|
||||
<path
|
||||
style="fill:none;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:3;stroke-opacity:1;stroke-dasharray:0.99999995, 1.99999991;stroke-dashoffset:0"
|
||||
d="m 415.57618,309.36103 -26.65143,0 2.28441,0"
|
||||
id="path12267-7-0"
|
||||
inkscape:connector-curvature="0" />
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:11.9913578px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="168.01332"
|
||||
y="295.95398"
|
||||
id="text11995-9"
|
||||
sodipodi:linespacing="125%"
|
||||
transform="scale(0.91971036,1.0872988)"><tspan
|
||||
sodipodi:role="line"
|
||||
x="168.01332"
|
||||
y="295.95398"
|
||||
id="tspan12218-9">Port2</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:11.9913578px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="166.67253"
|
||||
y="62.774006"
|
||||
id="text11995-7-6"
|
||||
sodipodi:linespacing="125%"
|
||||
transform="scale(0.91971036,1.0872988)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan11997-3-8"
|
||||
x="166.67253"
|
||||
y="62.774006">Port0</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:11.9913578px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="167.07025"
|
||||
y="94.231415"
|
||||
id="text11995-7-8-3"
|
||||
sodipodi:linespacing="125%"
|
||||
transform="scale(0.91971036,1.0872988)"><tspan
|
||||
sodipodi:role="line"
|
||||
id="tspan11997-3-3-4"
|
||||
x="167.07025"
|
||||
y="94.231415">Port1</tspan></text>
|
||||
<text
|
||||
xml:space="preserve"
|
||||
style="font-size:11.9913578px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
||||
x="167.75591"
|
||||
y="329.09506"
|
||||
id="text11995-7-3-6-2-8"
|
||||
sodipodi:linespacing="125%"
|
||||
transform="scale(0.91971036,1.0872988)"><tspan
|
||||
sodipodi:role="line"
|
||||
x="167.75591"
|
||||
y="329.09506"
|
||||
id="tspan12214-4">Port3</tspan></text>
|
||||
</g>
|
||||
</svg>
|
After Width: | Height: | Size: 18 KiB |
@ -100,6 +100,7 @@ Copyright © 2012 - 2014, Intel Corporation. All rights reserved.
|
||||
netmap_compatibility
|
||||
internet_proto_ip_pipeline
|
||||
test_pipeline
|
||||
dist_app
|
||||
|
||||
**Figures**
|
||||
|
||||
@ -147,6 +148,10 @@ Copyright © 2012 - 2014, Intel Corporation. All rights reserved.
|
||||
|
||||
:ref:`Figure 21.Test Pipeline Application <figure_21>`
|
||||
|
||||
:ref:`Figure 22.Performance Benchmarking Setup (Basic Environment) <figure_22>`
|
||||
|
||||
:ref:`Figure 23.Distributor Sample Application Layout <figure_23>`
|
||||
|
||||
**Tables**
|
||||
|
||||
:ref:`Table 1.Output Traffic Marking <table_1>`
|
||||
|
Loading…
Reference in New Issue
Block a user