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.
13 VPP NDR 64B packet throughput in 1t1c setup (1thread, 1core) is presented
18 <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/64B-1t1c-l2-sel1-ndrdisc.html"></iframe>
24 \graphicspath{{../_build/_static/vpp/}}
25 \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{64B-1t1c-l2-sel1-ndrdisc}
26 \label{fig:64B-1t1c-l2-sel1-ndrdisc}
29 *Figure 1. VPP 1thread 1core - NDR Throughput for Phy-to-Phy L2 Ethernet
32 CSIT source code for the test cases used for above plots can be found in CSIT
37 .. program-output:: cd ../../../../../ && set +x && cd tests/vpp/perf/l2/ && grep -E "64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn|l2bdscale.*|l2dbscale.*)-(eth.*)*ndrdisc" *
44 $ grep -E "64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn|l2bdscale.*|l2dbscale.*)-(eth.*)*ndrdisc" tests/vpp/perf/l2/*
49 <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/64B-1t1c-l2-sel2-ndrdisc.html"></iframe>
55 \graphicspath{{../_build/_static/vpp/}}
56 \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{64B-1t1c-l2-sel2-ndrdisc}
57 \label{fig:64B-1t1c-l2-sel2-ndrdisc}
60 *Figure 2. VPP 1thread 1core - NDR Throughput for Phy-to-Phy L2 Ethernet
63 CSIT source code for the test cases used for above plots can be found in CSIT
68 .. program-output:: cd ../../../../../ && set +x && cd tests/vpp/perf/l2 && grep -E "64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn).*-(iacl(10|50)(-state(ful|less)|sl)-(flows10k.*|10kflows.*)|oacl(10|50)-state(ful|less)-flows10k.*)-ndrdisc" *
75 $ cd tests/vpp/perf/l2
76 $ grep -E "64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn).*-(iacl(10|50)(-state(ful|less)|sl)-(flows10k.*|10kflows.*)|oacl(10|50)-state(ful|less)-flows10k.*)-ndrdisc" *
78 VPP NDR 64B packet throughput in 2t2c setup (2thread, 2core) is presented
83 <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/64B-2t2c-l2-sel1-ndrdisc.html"></iframe>
89 \graphicspath{{../_build/_static/vpp/}}
90 \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{64B-2t2c-l2-sel1-ndrdisc}
91 \label{fig:64B-2t2c-l2-sel1-ndrdisc}
94 *Figure 3. VPP 2threads 2cores - NDR Throughput for Phy-to-Phy L2 Ethernet
97 CSIT source code for the test cases used for above plots can be found in CSIT
102 .. program-output:: cd ../../../../../ && set +x && cd tests/vpp/perf/l2/ && grep -E "64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn|l2bdscale.*|l2dbscale.*)-(eth.*)*ndrdisc" *
109 $ grep -E "64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn|l2bdscale.*|l2dbscale.*)-(eth.*)*ndrdisc" tests/vpp/perf/l2/*
114 <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/64B-2t2c-l2-sel2-ndrdisc.html"></iframe>
120 \graphicspath{{../_build/_static/vpp/}}
121 \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{64B-2t2c-l2-sel2-ndrdisc}
122 \label{fig:64B-2t2c-l2-sel2-ndrdisc}
125 *Figure 4. VPP 2threads 2cores - NDR Throughput for Phy-to-Phy L2 Ethernet
126 Switching (feature).*
128 CSIT source code for the test cases used for above plots can be found in CSIT
133 .. program-output:: cd ../../../../../ && set +x && cd tests/vpp/perf/l2 && grep -E "64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn).*-(iacl(10|50)(-state(ful|less)|sl)-(flows10k.*|10kflows.*)|oacl(10|50)-state(ful|less)-flows10k.*)-ndrdisc" *
140 $ cd tests/vpp/perf/l2
141 $ grep -E "64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn).*-(iacl(10|50)(-state(ful|less)|sl)-(flows10k.*|10kflows.*)|oacl(10|50)-state(ful|less)-flows10k.*)-ndrdisc" *
147 VPP PDR 64B packet throughput in 1t1c setup (1thread, 1core) is presented
148 in the graph below. PDR measured for 0.5% packet loss ratio.
152 <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/64B-1t1c-l2-sel1-pdrdisc.html"></iframe>
158 \graphicspath{{../_build/_static/vpp/}}
159 \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{64B-1t1c-l2-sel1-pdrdisc}
160 \label{fig:64B-1t1c-l2-sel1-pdrdisc}
163 *Figure 5. VPP 1thread 1core - PDR Throughput for Phy-to-Phy L2 Ethernet
166 CSIT source code for the test cases used for above plots can be found in CSIT
171 .. program-output:: cd ../../../../../ && set +x && cd tests/vpp/perf/l2/ && grep -E "64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn|l2bdscale.*|l2dbscale.*)-(eth.*)*pdrdisc" *
178 $ grep -E "64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn|l2bdscale.*|l2dbscale.*)-(eth.*)*ndrdisc" tests/vpp/perf/l2/*
183 <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/64B-1t1c-l2-sel2-pdrdisc.html"></iframe>
189 \graphicspath{{../_build/_static/vpp/}}
190 \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{64B-1t1c-l2-sel2-pdrdisc}
191 \label{fig:64B-1t1c-l2-sel2-pdrdisc}
194 *Figure 6. VPP 1thread 1core - PDR Throughput for Phy-to-Phy L2 Ethernet
195 Switching (feature).*
197 CSIT source code for the test cases used for above plots can be found in CSIT
202 .. program-output:: cd ../../../../../ && set +x && cd tests/vpp/perf/l2 && grep -E "64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn).*-(iacl(10|50)(-state(ful|less)|sl)-(flows10k.*|10kflows.*)|oacl(10|50)-state(ful|less)-flows10k.*)-pdrdisc" *
209 $ cd tests/vpp/perf/l2
210 $ grep -E "64B-1t1c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn).*-(iacl(10|50)(-state(ful|less)|sl)-(flows10k.*|10kflows.*)|oacl(10|50)-state(ful|less)-flows10k.*)-pdrdisc" *
212 VPP PDR 64B packet throughput in 2t2c setup (2thread, 2core) is presented
213 in the graph below. PDR measured for 0.5% packet loss ratio.
217 <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/64B-2t2c-l2-sel1-pdrdisc.html"></iframe>
223 \graphicspath{{../_build/_static/vpp/}}
224 \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{64B-2t2c-l2-sel1-pdrdisc}
225 \label{fig:64B-2t2c-l2-sel1-pdrdisc}
228 *Figure 7. VPP 2thread 2core - PDR Throughput for Phy-to-Phy L2 Ethernet
231 CSIT source code for the test cases used for above plots can be found in CSIT
236 .. program-output:: cd ../../../../../ && set +x && cd tests/vpp/perf/l2/ && grep -E "64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn|l2bdscale.*|l2dbscale.*)-(eth.*)*pdrdisc" *
243 $ grep -E "64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn|l2bdscale.*|l2dbscale.*)-(eth.*)*ndrdisc" tests/vpp/perf/l2/*
248 <iframe width="700" height="1000" frameborder="0" scrolling="no" src="../../_static/vpp/64B-2t2c-l2-sel2-pdrdisc.html"></iframe>
254 \graphicspath{{../_build/_static/vpp/}}
255 \includegraphics[clip, trim=0cm 8cm 5cm 0cm, width=0.70\textwidth]{64B-2t2c-l2-sel2-pdrdisc}
256 \label{fig:64B-2t2c-l2-sel2-pdrdisc}
259 *Figure 8. VPP 2thread 2core - PDR Throughput for Phy-to-Phy L2 Ethernet
260 Switching (feature).*
264 .. program-output:: cd ../../../../../ && set +x && cd tests/vpp/perf/l2 && grep -E "64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn).*-(iacl(10|50)(-state(ful|less)|sl)-(flows10k.*|10kflows.*)|oacl(10|50)-state(ful|less)-flows10k.*)-pdrdisc" *
271 $ cd tests/vpp/perf/l2
272 $ grep -E "64B-2t2c-(eth|dot1q|dot1ad)-(l2xcbase|l2bdbasemaclrn).*-(iacl(10|50)(-state(ful|less)|sl)-(flows10k.*|10kflows.*)|oacl(10|50)-state(ful|less)-flows10k.*)-pdrdisc" *