41c0a1cb91030a279f57123b0ac75bbed265a164
[csit.git] / docs / report / vpp_performance_tests / packet_throughput_graphs / ipv4.rst
1 IPv4 Routed-Forwarding
2 ======================
3
4 Following sections include summary graphs of VPP Phy-to-Phy performance
5 with IPv4 Routed-Forwarding, including NDR throughput (zero packet loss)
6 and PDR throughput (<0.5% packet loss). Performance is reported for VPP
7 running in multiple configurations of VPP worker thread(s), a.k.a. VPP
8 data plane thread(s), and their physical CPU core(s) placement.
9
10 Results are generated by multiple executions of the same CSIT tests.
11 In order to display variation in measured throughput values, Box-and-
12 whisker plots are used to show their quartiles (Min, 1st quartile / 25th
13 percentile, 2nd quartile / 50th percentile / mean, 3rd quartile / 75th
14 percentile, Max). Outliers are plotted as individual points.
15
16 *Title of each graph* is a regex (regular expression) matching all
17 throughput test cases plotted on this graph, *X-axis labels* are indices
18 of individual test suites executed by csit-vpp-perf-1704-all jobs that
19 created result output files used as data sources for the graph, *Y-axis
20 labels* are measured Packets Per Second [pps] values, and the *Graph
21 legend* lists the plotted test suites and their indices.
22
23 .. note::
24
25     Test results have been generated by FD.io test executor jobs
26     `csit-vpp-perf-1704-all
27     <https://jenkins.fd.io/view/csit/job/csit-vpp-perf-1704-all/>`_,
28     with Robot Framework result files csit-vpp-perf-1704-all-<id>.zip
29     `archived here <../../_static/archive/>`_
30
31 NDR Throughput
32 ~~~~~~~~~~~~~~
33
34 VPP NDR 64B packet throughput in 1t1c setup (1thread, 1core) is presented
35 in the graph below.
36
37 .. raw:: html
38
39     <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/64B-1t1c-ethip4-ip4-ndrdisc.html"></iframe>
40
41 *Figure 1. VPP 1thread 1core - NDR Throughput for Phy-to-Phy IPv4 Routed-Forwarding.*
42
43 CSIT source code for the test cases used for above plots can be found in CSIT
44 git repository:
45
46 .. code-block:: bash
47
48     $ cd $CSIT/tests/perf
49     $ grep -E "64B-1t1c-ethip4-ip4[a-z0-9]+-[a-z-]*ndrdisc" *
50
51     10ge2p1x520-ethip4-ip4base-copwhtlistbase-ndrpdrdisc.robot:| tc01-64B-1t1c-ethip4-ip4base-copwhtlistbase-ndrdisc
52     10ge2p1x520-ethip4-ip4base-iacldstbase-ndrpdrdisc.robot:| tc01-64B-1t1c-ethip4-ip4base-iacldstbase-ndrdisc
53     10ge2p1x520-ethip4-ip4base-ipolicemarkbase-ndrpdrdisc.robot:| tc01-64B-1t1c-ethip4-ip4base-ipolicemarkbase-ndrdisc
54     10ge2p1x520-ethip4-ip4base-ndrpdrdisc.robot:| tc01-64B-1t1c-ethip4-ip4base-ndrdisc
55     10ge2p1x520-ethip4-ip4scale200k-ndrpdrdisc.robot:| tc01-64B-1t1c-ethip4-ip4scale200k-ndrdisc
56     10ge2p1x520-ethip4-ip4scale20k-ndrpdrdisc.robot:| tc01-64B-1t1c-ethip4-ip4scale20k-ndrdisc
57     10ge2p1x520-ethip4-ip4scale2m-ndrpdrdisc.robot:| tc01-64B-1t1c-ethip4-ip4scale2m-ndrdisc
58     40ge2p1xl710-ethip4-ip4base-ndrpdrdisc.robot:| tc01-64B-1t1c-ethip4-ip4base-ndrdisc
59
60 VPP NDR 64B packet throughput in 2t2c setup (2thread, 2core) is presented
61 in the graph below.
62
63 .. raw:: html
64
65     <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/64B-2t2c-ethip4-ip4-ndrdisc.html"></iframe>
66
67 *Figure 2. VPP 2threads 2cores - NDR Throughput for Phy-to-Phy IPv4
68 Routed-Forwarding.*
69
70 CSIT source code for the test cases used for above plots can be found in CSIT
71 git repository:
72
73 .. code-block:: bash
74
75     $ cd $CSIT/tests/perf
76     $ grep -E "64B-2t2c-ethip4-ip4[a-z0-9]+-[a-z-]*ndrdisc" *
77
78     10ge2p1x520-ethip4-ip4base-copwhtlistbase-ndrpdrdisc.robot:| tc07-64B-2t2c-ethip4-ip4base-copwhtlistbase-ndrdisc
79     10ge2p1x520-ethip4-ip4base-iacldstbase-ndrpdrdisc.robot:| tc07-64B-2t2c-ethip4-ip4base-iacldstbase-ndrdisc
80     10ge2p1x520-ethip4-ip4base-ipolicemarkbase-ndrpdrdisc.robot:| tc07-64B-2t2c-ethip4-ip4base-ipolicemarkbase-ndrdisc
81     10ge2p1x520-ethip4-ip4base-ndrpdrdisc.robot:| tc07-64B-2t2c-ethip4-ip4base-ndrdisc
82     10ge2p1x520-ethip4-ip4scale200k-ndrpdrdisc.robot:| tc07-64B-2t2c-ethip4-ip4scale200k-ndrdisc
83     10ge2p1x520-ethip4-ip4scale20k-ndrpdrdisc.robot:| tc07-64B-2t2c-ethip4-ip4scale20k-ndrdisc
84     10ge2p1x520-ethip4-ip4scale2m-ndrpdrdisc.robot:| tc07-64B-2t2c-ethip4-ip4scale2m-ndrdisc
85     40ge2p1xl710-ethip4-ip4base-ndrpdrdisc.robot:| tc07-64B-2t2c-ethip4-ip4base-ndrdisc
86
87 PDR Throughput
88 ~~~~~~~~~~~~~~
89
90 VPP PDR 64B packet throughput in 1t1c setup (1thread, 1core) is presented
91 in the graph below. PDR measured for 0.5% packet loss ratio.
92
93 .. raw:: html
94
95     <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/64B-1t1c-ethip4-ip4-pdrdisc.html"></iframe>
96
97 *Figure 3. VPP 1thread 1core - PDR Throughput for Phy-to-Phy IPv4
98 Routed-Forwarding.*
99
100 CSIT source code for the test cases used for above plots can be found in CSIT
101 git repository:
102
103 .. code-block:: bash
104
105     $ cd $CSIT/tests/perf
106     $ grep -E "64B-1t1c-ethip4-ip4[a-z0-9]+-[a-z-]*pdrdisc" *
107
108     10ge2p1x520-ethip4-ip4base-copwhtlistbase-ndrpdrdisc.robot:| tc02-64B-1t1c-ethip4-ip4base-copwhtlistbase-pdrdisc
109     10ge2p1x520-ethip4-ip4base-iacldstbase-ndrpdrdisc.robot:| tc02-64B-1t1c-ethip4-ip4base-iacldstbase-pdrdisc
110     10ge2p1x520-ethip4-ip4base-ipolicemarkbase-ndrpdrdisc.robot:| tc02-64B-1t1c-ethip4-ip4base-ipolicemarkbase-pdrdisc
111     10ge2p1x520-ethip4-ip4base-ndrpdrdisc.robot:| tc02-64B-1t1c-ethip4-ip4base-pdrdisc
112     10ge2p1x520-ethip4-ip4scale200k-ndrpdrdisc.robot:| tc02-64B-1t1c-ethip4-ip4scale200k-pdrdisc
113     10ge2p1x520-ethip4-ip4scale20k-ndrpdrdisc.robot:| tc02-64B-1t1c-ethip4-ip4scale20k-pdrdisc
114     10ge2p1x520-ethip4-ip4scale2m-ndrpdrdisc.robot:| tc02-64B-1t1c-ethip4-ip4scale2m-pdrdisc
115
116 VPP PDR 64B packet throughput in 2t2c setup (2thread, 2core) is presented
117 in the graph below. PDR measured for 0.5% packet loss ratio.
118
119 .. raw:: html
120
121     <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/64B-2t2c-ethip4-ip4-pdrdisc.html"></iframe>
122
123 *Figure 4. VPP 2thread 2core - PDR Throughput for Phy-to-Phy IPv4
124 Routed-Forwarding.*
125
126 CSIT source code for the test cases used for above plots can be found in CSIT
127 git repository:
128
129 .. code-block:: bash
130
131     $ cd $CSIT/tests/perf
132     $ grep -E "64B-2t2c-ethip4-ip4[a-z0-9]+-[a-z-]*pdrdisc" *
133
134     10ge2p1x520-ethip4-ip4base-copwhtlistbase-ndrpdrdisc.robot:| tc08-64B-2t2c-ethip4-ip4base-copwhtlistbase-pdrdisc
135     10ge2p1x520-ethip4-ip4base-iacldstbase-ndrpdrdisc.robot:| tc08-64B-2t2c-ethip4-ip4base-iacldstbase-pdrdisc
136     10ge2p1x520-ethip4-ip4base-ipolicemarkbase-ndrpdrdisc.robot:| tc08-64B-2t2c-ethip4-ip4base-ipolicemarkbase-pdrdisc
137     10ge2p1x520-ethip4-ip4base-ndrpdrdisc.robot:| tc08-64B-2t2c-ethip4-ip4base-pdrdisc
138     10ge2p1x520-ethip4-ip4scale200k-ndrpdrdisc.robot:| tc08-64B-2t2c-ethip4-ip4scale200k-pdrdisc
139     10ge2p1x520-ethip4-ip4scale20k-ndrpdrdisc.robot:| tc08-64B-2t2c-ethip4-ip4scale20k-pdrdisc
140     10ge2p1x520-ethip4-ip4scale2m-ndrpdrdisc.robot:| tc08-64B-2t2c-ethip4-ip4scale2m-pdrdisc
141