CSIT 1701 report files and script
[csit.git] / docs / report / vpp_performance_tests_hw / packet_throughput_graphs / l2.rst
1 L2 Ethernet Switching\r
2 =====================\r
3 \r
4 Following sections provide a summary of VPP Phy-to-Phy L2 Ethernet switching\r
5 performance illustrating NDR throughput (zero packet loss) and PDR throughput\r
6 (<0.5% packet loss). Performance is reported for VPP running in multiple\r
7 configurations of VPP worker thread(s), a.k.a. VPP data plane thread (s), and\r
8 their physical CPU core(s) placement.\r
9 \r
10 Title of each graph is a regex (regular expression) matching all plotted\r
11 test case throughput measurements.\r
12 \r
13 .. note::\r
14 \r
15     Data sources for reported test results: i) FD.io test executor jobs\r
16     `csit-vpp-perf-1701-all\r
17     <https://jenkins.fd.io/view/csit/job/csit-vpp-perf-1701-all/>`_ and\r
18     `csit-vpp-perf-1701-long\r
19     <https://jenkins.fd.io/view/csit/job/csit-vpp-perf-1701-long/>`_\r
20     , ii) archived FD.io jobs test result output files\r
21     `csit-vpp-perf-1701-all#job-number <https://nexus.fd.io/link>`_.\r
22 \r
23 NDR Throughput\r
24 ~~~~~~~~~~~~~~\r
25 \r
26 VPP NDR Throughput - running in configuration of **one worker thread (1t) on\r
27 one physical core (1c)** - is presented in the figure below.\r
28 \r
29 .. raw:: html\r
30 \r
31     <iframe width="700" height="700" frameborder="0" scrolling="no" src="../../_static/vpp/64B-1t1c-l2-ndrdisc.html"></iframe>\r
32 \r
33 *Figure 1. VPP 1thread 1core - NDR Throughput for Phy-to-Phy L2 Ethernet\r
34 Switching.*\r
35 \r
36 CSIT test cases used to generate results presented above can be found in CSIT\r
37 git repository by filtering with specified regex as follows:\r
38 \r
39 .. code-block:: bash\r
40 \r
41     $ csit/tests/perf\r
42     $ grep -E "64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc" *\r
43 \r
44     10ge2p1vic1227-eth-l2bdbasemaclrn-ndrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-ndrdisc\r
45     10ge2p1x520-dot1ad-l2xcbase-ndrdisc.robot:| tc01-64B-1t1c-dot1ad-l2xcbase-ndrdisc\r
46     10ge2p1x520-dot1q-l2xcbase-ndrdisc.robot:| tc01-64B-1t1c-dot1q-l2xcbase-ndrdisc\r
47     10ge2p1x520-eth-l2bdbasemaclrn-ndrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-ndrdisc\r
48     10ge2p1x520-eth-l2xcbase-ndrdisc.robot:| tc01-64B-1t1c-eth-l2xcbase-ndrdisc\r
49     10ge2p1x710-eth-l2bdbasemaclrn-ndrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-ndrdisc\r
50     40ge2p1vic1385-eth-l2bdbasemaclrn-ndrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-ndrdisc\r
51     40ge2p1xl710-eth-l2bdbasemaclrn-ndrdisc.robot:| tc01-64B-1t1c-eth-l2bdbasemaclrn-ndrdisc\r
52     40ge2p1xl710-eth-l2xcbase-ndrdisc.robot:| tc01-64B-1t1c-eth-l2xcbase-ndrdisc\r
53 \r
54 VPP NDR Throughput - running in configuration of **two worker threads (2t) on two\r
55 physical cores (2c)** - is presented in the figure below.\r
56 \r
57 .. raw:: html\r
58 \r
59     <iframe width="700" height="700" frameborder="0" scrolling="no" src="../../_static/vpp/64B-2t2c-l2-ndrdisc.html"></iframe>\r
60 \r
61 *Figure 2. VPP 2threads 2cores - NDR Throughput for Phy-to-Phy L2 Ethernet\r
62 Switching.*\r
63 \r
64 CSIT test cases used to generate results presented above can be found in CSIT\r
65 git repository by filtering with specified regex as follows:\r
66 \r
67 .. code-block:: bash\r
68 \r
69     $ csit/tests/perf\r
70     $ grep -E "64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc" *\r
71 \r
72     10ge2p1vic1227-eth-l2bdbasemaclrn-ndrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-ndrdisc\r
73     10ge2p1x520-dot1ad-l2xcbase-ndrdisc.robot:| tc07-64B-2t2c-dot1ad-l2xcbase-ndrdisc\r
74     10ge2p1x520-dot1q-l2xcbase-ndrdisc.robot:| tc07-64B-2t2c-dot1q-l2xcbase-ndrdisc\r
75     10ge2p1x520-eth-l2bdbasemaclrn-ndrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-ndrdisc\r
76     10ge2p1x520-eth-l2xcbase-ndrdisc.robot:| tc07-64B-2t2c-eth-l2xcbase-ndrdisc\r
77     10ge2p1x710-eth-l2bdbasemaclrn-ndrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-ndrdisc\r
78     40ge2p1vic1385-eth-l2bdbasemaclrn-ndrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-ndrdisc\r
79     40ge2p1xl710-eth-l2bdbasemaclrn-ndrdisc.robot:| tc07-64B-2t2c-eth-l2bdbasemaclrn-ndrdisc\r
80     40ge2p1xl710-eth-l2xcbase-ndrdisc.robot:| tc07-64B-2t2c-eth-l2xcbase-ndrdisc\r
81 \r
82 VPP NDR Throughput - running in configuration of **four worker threads (4t) on\r
83 four physical cores (4c)** - is presented in the figure below.\r
84 \r
85 .. raw:: html\r
86 \r
87     <iframe width="700" height="700" frameborder="0" scrolling="no" src="../../_static/vpp/64B-4t4c-l2-ndrdisc.html"></iframe>\r
88 \r
89 *Figure 3. VPP 4threads 4cores - NDR Throughput for Phy-to-Phy L2 Ethernet\r
90 Switching.*\r
91 \r
92 CSIT test cases used to generate results presented above can be found in CSIT\r
93 git repository by filtering with specified regex as follows:\r
94 \r
95 .. code-block:: bash\r
96 \r
97     $ csit/tests/perf\r
98     $ grep -E "64B-4t4c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-ndrdisc" *\r
99 \r
100     10ge2p1vic1227-eth-l2bdbasemaclrn-ndrdisc.robot:| tc13-64B-4t4c-eth-l2bdbasemaclrn-ndrdisc\r
101     10ge2p1x520-dot1ad-l2xcbase-ndrdisc.robot:| tc13-64B-4t4c-dot1ad-l2xcbase-ndrdisc\r
102     10ge2p1x520-dot1q-l2xcbase-ndrdisc.robot:| tc13-64B-4t4c-dot1q-l2xcbase-ndrdisc\r
103     10ge2p1x520-eth-l2bdbasemaclrn-ndrdisc.robot:| tc13-64B-4t4c-eth-l2bdbasemaclrn-ndrdisc\r
104     10ge2p1x520-eth-l2xcbase-ndrdisc.robot:| tc13-64B-4t4c-eth-l2xcbase-ndrdisc\r
105     10ge2p1x710-eth-l2bdbasemaclrn-ndrdisc.robot:| tc13-64B-4t4c-eth-l2bdbasemaclrn-ndrdisc\r
106     40ge2p1vic1385-eth-l2bdbasemaclrn-ndrdisc.robot:| tc13-64B-4t4c-eth-l2bdbasemaclrn-ndrdisc\r
107     40ge2p1xl710-eth-l2bdbasemaclrn-ndrdisc.robot:| tc13-64B-4t4c-eth-l2bdbasemaclrn-ndrdisc\r
108     40ge2p1xl710-eth-l2xcbase-ndrdisc.robot:| tc13-64B-4t4c-eth-l2xcbase-ndrdisc\r
109 \r
110 PDR Throughput\r
111 ~~~~~~~~~~~~~~\r
112 \r
113 VPP PDR Throughput - running in configuration of **one worker thread (1t) on one\r
114 physical core (1c)** - is presented in the figure below. PDR at below 0.5% packet\r
115 loss ratio.\r
116 \r
117 .. raw:: html\r
118 \r
119     <iframe width="700" height="700" frameborder="0" scrolling="no" src="../../_static/vpp/64B-1t1c-l2-pdrdisc.html"></iframe>\r
120 \r
121 *Figure 4. VPP 1thread 1core - PDR Throughput for Phy-to-Phy L2 Ethernet\r
122 Switching.*\r
123 \r
124 CSIT test cases used to generate results presented above can be found in CSIT\r
125 git repository by filtering with specified regex as follows:\r
126 \r
127 .. code-block:: bash\r
128 \r
129     $ csit/tests/perf\r
130     $ grep -E "64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-pdrdisc" *\r
131 \r
132     10ge2p1vic1227-eth-l2bdbasemaclrn-ndrdisc.robot:| tc02-64B-1t1c-eth-l2bdbasemaclrn-pdrdisc\r
133     10ge2p1x520-dot1ad-l2xcbase-ndrdisc.robot:| tc02-64B-1t1c-dot1ad-l2xcbase-pdrdisc\r
134     10ge2p1x520-dot1q-l2xcbase-ndrdisc.robot:| tc02-64B-1t1c-dot1q-l2xcbase-pdrdisc\r
135     10ge2p1x520-eth-l2bdbasemaclrn-ndrdisc.robot:| tc02-64B-1t1c-eth-l2bdbasemaclrn-pdrdisc\r
136     10ge2p1x520-eth-l2xcbase-ndrdisc.robot:| tc02-64B-1t1c-eth-l2xcbase-pdrdisc\r
137     10ge2p1x710-eth-l2bdbasemaclrn-ndrdisc.robot:| tc02-64B-1t1c-eth-l2bdbasemaclrn-pdrdisc\r
138     40ge2p1vic1385-eth-l2bdbasemaclrn-ndrdisc.robot:| tc02-64B-1t1c-eth-l2bdbasemaclrn-pdrdisc\r
139 \r
140 VPP PDR Throughput - running in configuration of **two worker threads (2t) on\r
141 two physical cores (2c)** - is presented in the figure below.\r
142 \r
143 .. raw:: html\r
144 \r
145     <iframe width="700" height="700" frameborder="0" scrolling="no" src="../../_static/vpp/64B-2t2c-l2-pdrdisc.html"></iframe>\r
146 \r
147 *Figure 5. VPP 2thread 2core - PDR Throughput for Phy-to-Phy L2 Ethernet\r
148 Switching.*\r
149 \r
150 CSIT test cases used to generate results presented above can be found in CSIT\r
151 git repository by filtering with specified regex as follows:\r
152 \r
153 .. code-block:: bash\r
154 \r
155     $ csit/tests/perf\r
156     $ grep -E "64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-pdrdisc" *\r
157 \r
158     10ge2p1vic1227-eth-l2bdbasemaclrn-ndrdisc.robot:| tc08-64B-2t2c-eth-l2bdbasemaclrn-pdrdisc\r
159     10ge2p1x520-dot1ad-l2xcbase-ndrdisc.robot:| tc08-64B-2t2c-dot1ad-l2xcbase-pdrdisc\r
160     10ge2p1x520-dot1q-l2xcbase-ndrdisc.robot:| tc08-64B-2t2c-dot1q-l2xcbase-pdrdisc\r
161     10ge2p1x520-eth-l2bdbasemaclrn-ndrdisc.robot:| tc08-64B-2t2c-eth-l2bdbasemaclrn-pdrdisc\r
162     10ge2p1x520-eth-l2xcbase-ndrdisc.robot:| tc08-64B-2t2c-eth-l2xcbase-pdrdisc\r
163     10ge2p1x710-eth-l2bdbasemaclrn-ndrdisc.robot:| tc08-64B-2t2c-eth-l2bdbasemaclrn-pdrdisc\r
164     40ge2p1vic1385-eth-l2bdbasemaclrn-ndrdisc.robot:| tc08-64B-2t2c-eth-l2bdbasemaclrn-pdrdisc\r
165 \r
166 VPP PDR Throughput - running in configuration of **four worker threads (4t) on\r
167 four physical cores (4c)** - is presented in the figure below.\r
168 \r
169 .. raw:: html\r
170 \r
171     <iframe width="700" height="700" frameborder="0" scrolling="no" src="../../_static/vpp/64B-4t4c-l2-pdrdisc.html"></iframe>\r
172 \r
173 *Figure 6. VPP 4thread 4core - PDR Throughput for Phy-to-Phy L2 Ethernet\r
174 Switching.*\r
175 \r
176 CSIT test cases used to generate results presented above can be found in CSIT\r
177 git repository by filtering with specified regex as follows:\r
178 \r
179 .. code-block:: bash\r
180 \r
181     $ csit/tests/perf\r
182     $ grep -E "64B-4t4c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn)-pdrdisc" *\r
183 \r
184     10ge2p1vic1227-eth-l2bdbasemaclrn-ndrdisc.robot:| tc14-64B-4t4c-eth-l2bdbasemaclrn-pdrdisc\r
185     10ge2p1x520-dot1ad-l2xcbase-ndrdisc.robot:| tc14-64B-4t4c-dot1ad-l2xcbase-pdrdisc\r
186     10ge2p1x520-dot1q-l2xcbase-ndrdisc.robot:| tc14-64B-4t4c-dot1q-l2xcbase-pdrdisc\r
187     10ge2p1x520-eth-l2bdbasemaclrn-ndrdisc.robot:| tc14-64B-4t4c-eth-l2bdbasemaclrn-pdrdisc\r
188     10ge2p1x520-eth-l2xcbase-ndrdisc.robot:| tc14-64B-4t4c-eth-l2xcbase-pdrdisc\r
189     10ge2p1x710-eth-l2bdbasemaclrn-ndrdisc.robot:| tc14-64B-4t4c-eth-l2bdbasemaclrn-pdrdisc\r
190 \r