be4af20e847c12b243cc79736aef839bb5e9d3c5
[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 -P '64B-1t1c-ethip4-ip4(base|scale)[a-z0-9]*(?!-eth-[0-9]vhost).*-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-ip4base-snat-ndrpdrdisc.robot:| tc01-64B-1t1c-ethip4-ip4base-snat-1u-1p-ndrdisc
56     10ge2p1x520-ethip4-ip4scale200k-ndrpdrdisc.robot:| tc01-64B-1t1c-ethip4-ip4scale200k-ndrdisc
57     10ge2p1x520-ethip4-ip4scale20k-ndrpdrdisc.robot:| tc01-64B-1t1c-ethip4-ip4scale20k-ndrdisc
58     10ge2p1x520-ethip4-ip4scale2m-ndrpdrdisc.robot:| tc01-64B-1t1c-ethip4-ip4scale2m-ndrdisc
59     10ge2p1x520-ethip4-ip4scale-snat-ndrpdrdisc.robot:| tc11-64B-1t1c-ethip4-ip4base-snat-4000u-15p-ndrdisc
60     40ge2p1xl710-ethip4-ip4base-ndrpdrdisc.robot:| tc01-64B-1t1c-ethip4-ip4base-ndrdisc
61
62 VPP NDR 64B packet throughput in 2t2c setup (2thread, 2core) is presented
63 in the graph below.
64
65 .. raw:: html
66
67     <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/64B-2t2c-ethip4-ip4-ndrdisc.html"></iframe>
68
69 *Figure 2. VPP 2threads 2cores - NDR Throughput for Phy-to-Phy IPv4
70 Routed-Forwarding.*
71
72 CSIT source code for the test cases used for above plots can be found in CSIT
73 git repository:
74
75 .. code-block:: bash
76
77     $ cd $CSIT/tests/perf
78     $ grep -P '64B-2t2c-ethip4-ip4(base|scale)[a-z0-9]*(?!-eth-[0-9]vhost).*-ndrdisc' *
79
80     10ge2p1x520-ethip4-ip4base-copwhtlistbase-ndrpdrdisc.robot:| tc07-64B-2t2c-ethip4-ip4base-copwhtlistbase-ndrdisc
81     10ge2p1x520-ethip4-ip4base-iacldstbase-ndrpdrdisc.robot:| tc07-64B-2t2c-ethip4-ip4base-iacldstbase-ndrdisc
82     10ge2p1x520-ethip4-ip4base-ipolicemarkbase-ndrpdrdisc.robot:| tc07-64B-2t2c-ethip4-ip4base-ipolicemarkbase-ndrdisc
83     10ge2p1x520-ethip4-ip4base-ndrpdrdisc.robot:| tc07-64B-2t2c-ethip4-ip4base-ndrdisc
84     10ge2p1x520-ethip4-ip4scale200k-ndrpdrdisc.robot:| tc07-64B-2t2c-ethip4-ip4scale200k-ndrdisc
85     10ge2p1x520-ethip4-ip4scale20k-ndrpdrdisc.robot:| tc07-64B-2t2c-ethip4-ip4scale20k-ndrdisc
86     10ge2p1x520-ethip4-ip4scale2m-ndrpdrdisc.robot:| tc07-64B-2t2c-ethip4-ip4scale2m-ndrdisc
87     40ge2p1xl710-ethip4-ip4base-ndrpdrdisc.robot:| tc07-64B-2t2c-ethip4-ip4base-ndrdisc
88
89 PDR Throughput
90 ~~~~~~~~~~~~~~
91
92 VPP PDR 64B packet throughput in 1t1c setup (1thread, 1core) is presented
93 in the graph below. PDR measured for 0.5% packet loss ratio.
94
95 .. raw:: html
96
97     <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/64B-1t1c-ethip4-ip4-pdrdisc.html"></iframe>
98
99 *Figure 3. VPP 1thread 1core - PDR Throughput for Phy-to-Phy IPv4
100 Routed-Forwarding.*
101
102 CSIT source code for the test cases used for above plots can be found in CSIT
103 git repository:
104
105 .. code-block:: bash
106
107     $ cd $CSIT/tests/perf
108     $ grep -P '64B-1t1c-ethip4-ip4(base|scale)[a-z0-9]*(?!-eth-[0-9]vhost).*-pdrdisc' *
109
110     10ge2p1x520-ethip4-ip4base-copwhtlistbase-ndrpdrdisc.robot:| tc01-64B-1t1c-ethip4-ip4base-copwhtlistbase-pdrdisc
111     10ge2p1x520-ethip4-ip4base-iacldstbase-ndrpdrdisc.robot:| tc01-64B-1t1c-ethip4-ip4base-iacldstbase-pdrdisc
112     10ge2p1x520-ethip4-ip4base-ipolicemarkbase-ndrpdrdisc.robot:| tc01-64B-1t1c-ethip4-ip4base-ipolicemarkbase-pdrdisc
113     10ge2p1x520-ethip4-ip4base-ndrpdrdisc.robot:| tc01-64B-1t1c-ethip4-ip4base-pdrdisc
114     10ge2p1x520-ethip4-ip4base-snat-ndrpdrdisc.robot:| tc01-64B-1t1c-ethip4-ip4base-snat-1u-1p-pdrdisc
115     10ge2p1x520-ethip4-ip4scale200k-ndrpdrdisc.robot:| tc01-64B-1t1c-ethip4-ip4scale200k-pdrdisc
116     10ge2p1x520-ethip4-ip4scale20k-ndrpdrdisc.robot:| tc01-64B-1t1c-ethip4-ip4scale20k-pdrdisc
117     10ge2p1x520-ethip4-ip4scale2m-ndrpdrdisc.robot:| tc01-64B-1t1c-ethip4-ip4scale2m-pdrdisc
118     10ge2p1x520-ethip4-ip4scale-snat-ndrpdrdisc.robot:| tc11-64B-1t1c-ethip4-ip4base-snat-4000u-15p-pdrdisc
119     40ge2p1xl710-ethip4-ip4base-ndrpdrdisc.robot:| tc01-64B-1t1c-ethip4-ip4base-pdrdisc
120
121 VPP PDR 64B packet throughput in 2t2c setup (2thread, 2core) is presented
122 in the graph below. PDR measured for 0.5% packet loss ratio.
123
124 .. raw:: html
125
126     <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/64B-2t2c-ethip4-ip4-pdrdisc.html"></iframe>
127
128 *Figure 4. VPP 2thread 2core - PDR Throughput for Phy-to-Phy IPv4
129 Routed-Forwarding.*
130
131 CSIT source code for the test cases used for above plots can be found in CSIT
132 git repository:
133
134 .. code-block:: bash
135
136     $ cd $CSIT/tests/perf
137     $ grep -P '64B-2t2c-ethip4-ip4(base|scale)[a-z0-9]*(?!-eth-[0-9]vhost).*-pdrdisc' *
138
139     10ge2p1x520-ethip4-ip4base-copwhtlistbase-ndrpdrdisc.robot:| tc07-64B-2t2c-ethip4-ip4base-copwhtlistbase-pdrdisc
140     10ge2p1x520-ethip4-ip4base-iacldstbase-ndrpdrdisc.robot:| tc07-64B-2t2c-ethip4-ip4base-iacldstbase-pdrdisc
141     10ge2p1x520-ethip4-ip4base-ipolicemarkbase-ndrpdrdisc.robot:| tc07-64B-2t2c-ethip4-ip4base-ipolicemarkbase-pdrdisc
142     10ge2p1x520-ethip4-ip4base-ndrpdrdisc.robot:| tc07-64B-2t2c-ethip4-ip4base-pdrdisc
143     10ge2p1x520-ethip4-ip4scale200k-ndrpdrdisc.robot:| tc07-64B-2t2c-ethip4-ip4scale200k-pdrdisc
144     10ge2p1x520-ethip4-ip4scale20k-ndrpdrdisc.robot:| tc07-64B-2t2c-ethip4-ip4scale20k-pdrdisc
145     10ge2p1x520-ethip4-ip4scale2m-ndrpdrdisc.robot:| tc07-64B-2t2c-ethip4-ip4scale2m-pdrdisc
146     40ge2p1xl710-ethip4-ip4base-ndrpdrdisc.robot:| tc07-64B-2t2c-ethip4-ip4base-pdrdisc
147