d9a69015e4e14e732b482c1e396c68c45658bded
[csit.git] / docs / report / vpp_performance_tests / packet_throughput_graphs / l2.rst
1 L2 Ethernet Switching
2 =====================
3
4 Following sections include summary graphs of VPP Phy-to-Phy performance
5 with L2 Ethernet switching, 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-l2-ndrdisc.html"></iframe>
40
41 *Figure 1. VPP 1thread 1core - NDR Throughput for Phy-to-Phy L2 Ethernet
42 Switching.*
43
44 CSIT source code for the test cases used for above plots can be found in CSIT
45 git repository:
46
47 .. code-block:: bash
48
49     $ cd $CSIT/tests/perf
50     $ grep -E "64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc" *
51
52     10ge2p1vic1227-eth-l2bdbasemaclrn-ndrpdrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-ndrdisc
53     10ge2p1x520-dot1ad-l2xcbase-ndrpdrdisc.robot:| tc01-64B-1t1c-dot1ad-l2xcbase-ndrdisc
54     10ge2p1x520-dot1q-l2xcbase-ndrpdrdisc.robot:| tc01-64B-1t1c-dot1q-l2xcbase-ndrdisc
55     10ge2p1x520-eth-l2bdbasemaclrn-ndrpdrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-ndrdisc
56     10ge2p1x520-eth-l2xcbase-ndrpdrdisc.robot:| tc01-64B-1t1c-eth-l2xcbase-ndrdisc
57     10ge2p1x710-eth-l2bdbasemaclrn-ndrpdrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-ndrdisc
58     40ge2p1vic1385-eth-l2bdbasemaclrn-ndrpdrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-ndrdisc
59     40ge2p1xl710-eth-l2bdbasemaclrn-ndrpdrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-ndrdisc
60     40ge2p1xl710-eth-l2xcbase-ndrpdrdisc.robot:| tc01-64B-1t1c-eth-l2xcbase-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-l2-ndrdisc.html"></iframe>
68
69 *Figure 2. VPP 2threads 2cores - NDR Throughput for Phy-to-Phy L2 Ethernet
70 Switching.*
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 -E "64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc" *
79
80     10ge2p1vic1227-eth-l2bdbasemaclrn-ndrpdrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-ndrdisc
81     10ge2p1x520-dot1ad-l2xcbase-ndrpdrdisc.robot:| tc07-64B-2t2c-dot1ad-l2xcbase-ndrdisc
82     10ge2p1x520-dot1q-l2xcbase-ndrpdrdisc.robot:| tc07-64B-2t2c-dot1q-l2xcbase-ndrdisc
83     10ge2p1x520-eth-l2bdbasemaclrn-ndrpdrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-ndrdisc
84     10ge2p1x520-eth-l2xcbase-ndrpdrdisc.robot:| tc07-64B-2t2c-eth-l2xcbase-ndrdisc
85     10ge2p1x710-eth-l2bdbasemaclrn-ndrpdrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-ndrdisc
86     40ge2p1vic1385-eth-l2bdbasemaclrn-ndrpdrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-ndrdisc
87     40ge2p1xl710-eth-l2bdbasemaclrn-ndrpdrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-ndrdisc
88     40ge2p1xl710-eth-l2xcbase-ndrpdrdisc.robot:| tc07-64B-2t2c-eth-l2xcbase-ndrdisc
89
90 PDR Throughput
91 ~~~~~~~~~~~~~~
92
93 VPP PDR 64B packet throughput in 1t1c setup (1thread, 1core) is presented
94 in the graph below. PDR measured for 0.5% packet loss ratio.
95
96 .. raw:: html
97
98     <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/64B-1t1c-l2-pdrdisc.html"></iframe>
99
100 *Figure 3. VPP 1thread 1core - PDR Throughput for Phy-to-Phy L2 Ethernet
101 Switching.*
102
103 CSIT source code for the test cases used for above plots can be found in CSIT
104 git repository:
105
106 .. code-block:: bash
107
108     $ cd $CSIT/tests/perf
109     $ grep -E "64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-pdrdisc" *
110
111     10ge2p1vic1227-eth-l2bdbasemaclrn-ndrpdrdisc.robot:| tc02-64B-1t1c-eth-l2bdbasemaclrn-pdrdisc
112     10ge2p1x520-dot1ad-l2xcbase-ndrpdrdisc.robot:| tc02-64B-1t1c-dot1ad-l2xcbase-pdrdisc
113     10ge2p1x520-dot1q-l2xcbase-ndrpdrdisc.robot:| tc02-64B-1t1c-dot1q-l2xcbase-pdrdisc
114     10ge2p1x520-eth-l2bdbasemaclrn-ndrpdrdisc.robot:| tc02-64B-1t1c-eth-l2bdbasemaclrn-pdrdisc
115     10ge2p1x520-eth-l2xcbase-ndrpdrdisc.robot:| tc02-64B-1t1c-eth-l2xcbase-pdrdisc
116     10ge2p1x710-eth-l2bdbasemaclrn-ndrpdrdisc.robot:| tc02-64B-1t1c-eth-l2bdbasemaclrn-pdrdisc
117     40ge2p1vic1385-eth-l2bdbasemaclrn-ndrpdrdisc.robot:| tc02-64B-1t1c-eth-l2bdbasemaclrn-pdrdisc
118
119 VPP PDR 64B packet throughput in 2t2c setup (2thread, 2core) is presented
120 in the graph below. PDR measured for 0.5% packet loss ratio.
121
122 .. raw:: html
123
124     <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/64B-2t2c-l2-pdrdisc.html"></iframe>
125
126 *Figure 4. VPP 2thread 2core - PDR Throughput for Phy-to-Phy L2 Ethernet
127 Switching.*
128
129 CSIT source code for the test cases used for above plots can be found in CSIT
130 git repository:
131
132 .. code-block:: bash
133
134     $ cd $CSIT/tests/perf
135     $ grep -E "64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-pdrdisc" *
136
137 10ge2p1vic1227-eth-l2bdbasemaclrn-ndrpdrdisc.robot:| tc08-64B-2t2c-eth-l2bdbasemaclrn-pdrdisc
138 10ge2p1x520-dot1ad-l2xcbase-ndrpdrdisc.robot:| tc08-64B-2t2c-dot1ad-l2xcbase-pdrdisc
139 10ge2p1x520-dot1q-l2xcbase-ndrpdrdisc.robot:| tc08-64B-2t2c-dot1q-l2xcbase-pdrdisc
140 10ge2p1x520-eth-l2bdbasemaclrn-ndrpdrdisc.robot:| tc08-64B-2t2c-eth-l2bdbasemaclrn-pdrdisc
141 10ge2p1x520-eth-l2xcbase-ndrpdrdisc.robot:| tc08-64B-2t2c-eth-l2xcbase-pdrdisc
142 10ge2p1x710-eth-l2bdbasemaclrn-ndrpdrdisc.robot:| tc08-64B-2t2c-eth-l2bdbasemaclrn-pdrdisc
143 40ge2p1vic1385-eth-l2bdbasemaclrn-ndrpdrdisc.robot:| tc08-64B-2t2c-eth-l2bdbasemaclrn-pdrdisc
144