Fix: Report generation
[csit.git] / docs / report / vpp_performance_tests / packet_throughput_graphs / l2.rst
1 L2 Ethernet Switching
2 =====================
3
4 Following sections provide a summary of VPP Phy-to-Phy L2 Ethernet switching
5 performance illustrating NDR throughput (zero packet loss) and PDR throughput
6 (<0.5% packet loss). Performance is reported for VPP running in multiple
7 configurations of VPP worker thread(s), a.k.a. VPP data plane thread (s), and
8 their physical CPU core(s) placement.
9
10 *Title of each graph* is a regex (regular expression) matching all plotted
11 throughput test cases, *X-axis labels* are indeces of csit-vpp-perf-1704 jobs
12 that created result output files used as data sources for the graph,
13 *Y-axis labels* are measured Packets Per Second [pps] values, and the *graph
14 legend* identifes the plotted test suites.
15
16 .. note::
17
18     Data sources for reported test results: i) FD.io test executor jobs
19     `csit-vpp-perf-1704-all
20     <https://jenkins.fd.io/view/csit/job/csit-vpp-perf-1704-all/>`_ ,
21     ii) archived FD.io jobs test result `output files
22     <../../_static/archive/>`_.
23
24 NDR Throughput
25 ~~~~~~~~~~~~~~
26
27 VPP NDR Throughput - running in configuration of **one worker thread (1t) on
28 one physical core (1c)** - is presented in the figure below.
29
30 .. raw:: html
31
32     <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/64B-1t1c-l2-ndrdisc.html"></iframe>
33
34 *Figure 1. VPP 1thread 1core - NDR Throughput for Phy-to-Phy L2 Ethernet
35 Switching.*
36
37 CSIT test cases used to generate results presented above can be found in CSIT
38 git repository by filtering with specified regex as follows:
39
40 .. code-block:: bash
41
42     $ csit/tests/perf
43     $ grep -E "64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc" *
44
45     10ge2p1vic1227-eth-l2bdbasemaclrn-ndrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-ndrdisc
46     10ge2p1x520-dot1ad-l2xcbase-ndrdisc.robot:| tc01-64B-1t1c-dot1ad-l2xcbase-ndrdisc
47     10ge2p1x520-dot1q-l2xcbase-ndrdisc.robot:| tc01-64B-1t1c-dot1q-l2xcbase-ndrdisc
48     10ge2p1x520-eth-l2bdbasemaclrn-ndrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-ndrdisc
49     10ge2p1x520-eth-l2xcbase-ndrdisc.robot:| tc01-64B-1t1c-eth-l2xcbase-ndrdisc
50     10ge2p1x710-eth-l2bdbasemaclrn-ndrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-ndrdisc
51     40ge2p1vic1385-eth-l2bdbasemaclrn-ndrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-ndrdisc
52     40ge2p1xl710-eth-l2bdbasemaclrn-ndrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-ndrdisc
53     40ge2p1xl710-eth-l2xcbase-ndrdisc.robot:| tc01-64B-1t1c-eth-l2xcbase-ndrdisc
54
55 VPP NDR Throughput - running in configuration of **two worker threads (2t) on two
56 physical cores (2c)** - is presented in the figure below.
57
58 .. raw:: html
59
60     <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/64B-2t2c-l2-ndrdisc.html"></iframe>
61
62 *Figure 2. VPP 2threads 2cores - NDR Throughput for Phy-to-Phy L2 Ethernet
63 Switching.*
64
65 CSIT test cases used to generate results presented above can be found in CSIT
66 git repository by filtering with specified regex as follows:
67
68 .. code-block:: bash
69
70     $ csit/tests/perf
71     $ grep -E "64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc" *
72
73     10ge2p1vic1227-eth-l2bdbasemaclrn-ndrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-ndrdisc
74     10ge2p1x520-dot1ad-l2xcbase-ndrdisc.robot:| tc07-64B-2t2c-dot1ad-l2xcbase-ndrdisc
75     10ge2p1x520-dot1q-l2xcbase-ndrdisc.robot:| tc07-64B-2t2c-dot1q-l2xcbase-ndrdisc
76     10ge2p1x520-eth-l2bdbasemaclrn-ndrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-ndrdisc
77     10ge2p1x520-eth-l2xcbase-ndrdisc.robot:| tc07-64B-2t2c-eth-l2xcbase-ndrdisc
78     10ge2p1x710-eth-l2bdbasemaclrn-ndrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-ndrdisc
79     40ge2p1vic1385-eth-l2bdbasemaclrn-ndrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-ndrdisc
80     40ge2p1xl710-eth-l2bdbasemaclrn-ndrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-ndrdisc
81     40ge2p1xl710-eth-l2xcbase-ndrdisc.robot:| tc07-64B-2t2c-eth-l2xcbase-ndrdisc
82
83 PDR Throughput
84 ~~~~~~~~~~~~~~
85
86 VPP PDR Throughput - running in configuration of **one worker thread (1t) on one
87 physical core (1c)** - is presented in the figure below. PDR at below 0.5% packet
88 loss ratio.
89
90 .. raw:: html
91
92     <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/64B-1t1c-l2-pdrdisc.html"></iframe>
93
94 *Figure 3. VPP 1thread 1core - PDR Throughput for Phy-to-Phy L2 Ethernet
95 Switching.*
96
97 CSIT test cases used to generate results presented above can be found in CSIT
98 git repository by filtering with specified regex as follows:
99
100 .. code-block:: bash
101
102     $ csit/tests/perf
103     $ grep -E "64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-pdrdisc" *
104
105     10ge2p1vic1227-eth-l2bdbasemaclrn-ndrdisc.robot:| tc02-64B-1t1c-eth-l2bdbasemaclrn-pdrdisc
106     10ge2p1x520-dot1ad-l2xcbase-ndrdisc.robot:| tc02-64B-1t1c-dot1ad-l2xcbase-pdrdisc
107     10ge2p1x520-dot1q-l2xcbase-ndrdisc.robot:| tc02-64B-1t1c-dot1q-l2xcbase-pdrdisc
108     10ge2p1x520-eth-l2bdbasemaclrn-ndrdisc.robot:| tc02-64B-1t1c-eth-l2bdbasemaclrn-pdrdisc
109     10ge2p1x520-eth-l2xcbase-ndrdisc.robot:| tc02-64B-1t1c-eth-l2xcbase-pdrdisc
110     10ge2p1x710-eth-l2bdbasemaclrn-ndrdisc.robot:| tc02-64B-1t1c-eth-l2bdbasemaclrn-pdrdisc
111     40ge2p1vic1385-eth-l2bdbasemaclrn-ndrdisc.robot:| tc02-64B-1t1c-eth-l2bdbasemaclrn-pdrdisc
112
113 VPP PDR Throughput - running in configuration of **two worker threads (2t) on
114 two physical cores (2c)** - is presented in the figure below.
115
116 .. raw:: html
117
118     <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/64B-2t2c-l2-pdrdisc.html"></iframe>
119
120 *Figure 4. VPP 2thread 2core - PDR Throughput for Phy-to-Phy L2 Ethernet
121 Switching.*
122
123 CSIT test cases used to generate results presented above can be found in CSIT
124 git repository by filtering with specified regex as follows:
125
126 .. code-block:: bash
127
128     $ csit/tests/perf
129     $ grep -E "64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-pdrdisc" *
130
131     10ge2p1vic1227-eth-l2bdbasemaclrn-ndrdisc.robot:| tc08-64B-2t2c-eth-l2bdbasemaclrn-pdrdisc
132     10ge2p1x520-dot1ad-l2xcbase-ndrdisc.robot:| tc08-64B-2t2c-dot1ad-l2xcbase-pdrdisc
133     10ge2p1x520-dot1q-l2xcbase-ndrdisc.robot:| tc08-64B-2t2c-dot1q-l2xcbase-pdrdisc
134     10ge2p1x520-eth-l2bdbasemaclrn-ndrdisc.robot:| tc08-64B-2t2c-eth-l2bdbasemaclrn-pdrdisc
135     10ge2p1x520-eth-l2xcbase-ndrdisc.robot:| tc08-64B-2t2c-eth-l2xcbase-pdrdisc
136     10ge2p1x710-eth-l2bdbasemaclrn-ndrdisc.robot:| tc08-64B-2t2c-eth-l2bdbasemaclrn-pdrdisc
137     40ge2p1vic1385-eth-l2bdbasemaclrn-ndrdisc.robot:| tc08-64B-2t2c-eth-l2bdbasemaclrn-pdrdisc
138