e1afabf1d830f88b33fbd2946a09c50f754445a4
[csit.git] / docs / report / vpp_performance_tests_hw / overview.rst
1 Overview\r
2 ========\r
3 \r
4 Tested Topologies HW\r
5 --------------------\r
6 \r
7 CSIT VPP performance tests are executed on physical baremetal servers hosted by LF\r
8 FD.io project. Testbed physical topology is shown in the figure below.\r
9 \r
10 ::\r
11 \r
12     +------------------------+           +------------------------+\r
13     |                        |           |                        |\r
14     |  +------------------+  |           |  +------------------+  |\r
15     |  |                  |  |           |  |                  |  |\r
16     |  |                  <----------------->                  |  |\r
17     |  |       DUT1       |  |           |  |       DUT2       |  |\r
18     |  +--^---------------+  |           |  +---------------^--+  |\r
19     |     |                  |           |                  |     |\r
20     |     |            SUT1  |           |  SUT2            |     |\r
21     +------------------------+           +------------------^-----+\r
22           |                                                 |\r
23           |                                                 |\r
24           |                  +-----------+                  |\r
25           |                  |           |                  |\r
26           +------------------>    TG     <------------------+\r
27                              |           |\r
28                              +-----------+\r
29 \r
30 SUT1 and SUT2 are two System Under Test servers (Cisco UCS C240, each with two\r
31 Intel XEON CPUs), TG is a Traffic Generator (TG, another Cisco UCS C240, with\r
32 two Intel XEON CPUs). SUTs run VPP SW application in Linux user-mode as a\r
33 Device Under Test (DUT). TG runs TRex SW application as a packet Traffic\r
34 Generator. Physical connectivity between SUTs and to TG is provided using\r
35 different NIC models that need to be tested for performance. Currently\r
36 installed and tested NIC models include:\r
37 \r
38 #. 2port10GE X520-DA2 Intel.\r
39 #. 2port10GE X710 Intel.\r
40 #. 2port10GE VIC1227 Cisco.\r
41 #. 2port40GE VIC1385 Cisco.\r
42 #. 2port40GE XL710 Intel.\r
43 \r
44 Detailed LF FD.io test bed specification and physical topology are described\r
45 in `wiki CSIT LF testbed <https://wiki.fd.io/view/CSIT/CSIT_LF_testbed>`_.\r
46 \r
47 For test cases that require DUT (VPP) to communicate with VM over vhost-user\r
48 interfaces, a VM is created on SUT1 and SUT2. DUT (VPP) test topology with VM\r
49 is shown in the figure below including applicable packet flow thru the VM\r
50 (marked in the figure with ``***``).\r
51 \r
52 ::\r
53 \r
54     +------------------------+           +------------------------+\r
55     |      +----------+      |           |      +----------+      |\r
56     |      |    VM    |      |           |      |    VM    |      |\r
57     |      |  ******  |      |           |      |  ******  |      |\r
58     |      +--^----^--+      |           |      +--^----^--+      |\r
59     |        *|    |*        |           |        *|    |*        |\r
60     |  +------v----v------+  |           |  +------v----v------+  |\r
61     |  |      *    *      |**|***********|**|      *    *      |  |\r
62     |  |  *****    *******<----------------->*******    *****  |  |\r
63     |  |  *    DUT1       |  |           |  |       DUT2    *  |  |\r
64     |  +--^---------------+  |           |  +---------------^--+  |\r
65     |    *|                  |           |                  |*    |\r
66     |    *|            SUT1  |           |  SUT2            |*    |\r
67     +------------------------+           +------------------^-----+\r
68          *|                                                 |*\r
69          *|                                                 |*\r
70          *|                  +-----------+                  |*\r
71          *|                  |           |                  |*\r
72          *+------------------>    TG     <------------------+*\r
73          ******************* |           |********************\r
74                              +-----------+\r
75 \r
76 Note that for VM tests, packets are switched by DUT (VPP) twice, hence the\r
77 throughput rates measured by TG (and listed in this report) must be multiplied\r
78 by two to represent the actual DUT aggregate packet forwarding rate.\r
79 \r
80 VPP Performance Tests Overview\r
81 ------------------------------\r
82 \r
83 Performance tests are split into the two main categories:\r
84 \r
85 - Throughput discovery - discovery of packet forwarding rate using binary search\r
86   in accordance to RFC2544.\r
87 \r
88   - NDR - discovery of Non Drop Rate packet throughput, at zero packet loss;\r
89     followed by packet one-way latency measurements at 10%, 50% and 100% of\r
90     discovered NDR throughput.\r
91   - PDR - discovery of Partial Drop Rate, with specified non-zero packet loss\r
92     currently set to 0.5%; followed by packet one-way latency measurements at\r
93     100% of discovered PDR throughput.\r
94 \r
95 - Throughput verification - verification of packet forwarding rate against\r
96   previously discovered throughput rate. These tests are currently done against\r
97   0.9 of reference NDR, with reference rates updated periodically.\r
98 \r
99 CSIT |release| includes following performance test suites, listed per NIC type:\r
100 \r
101 - 2port10GE X520-DA2 Intel\r
102 \r
103   - **L2XC** - L2 Cross-Connect switched-forwarding of untagged, dot1q, dot1ad\r
104     VLAN tagged Ethernet frames.\r
105   - **L2BD** - L2 Bridge-Domain switched-forwarding of untagged Ethernet frames\r
106     with MAC learning; disabled MAC learning i.e. static MAC tests to be added.\r
107   - **IPv4** - IPv4 routed-forwarding.\r
108   - **IPv6** - IPv6 routed-forwarding.\r
109   - **IPv4 Scale** - IPv4 routed-forwarding with 20k, 200k and 2M FIB entries.\r
110   - **IPv6 Scale** - IPv6 routed-forwarding with 20k, 200k and 2M FIB entries.\r
111   - **VM with vhost-user** - switching between NIC ports and VM over vhost-user\r
112     interfaces in different switching modes incl. L2 Cross-Connect, L2\r
113     Bridge-Domain, VXLAN with L2BD, IPv4 routed-forwarding.\r
114   - **COP** - IPv4 and IPv6 routed-forwarding with COP address security.\r
115   - **iACL** - IPv4 and IPv6 routed-forwarding with iACL address security.\r
116   - **LISP** - LISP overlay tunneling for IPv4-over-IPV4, IPv6-over-IPv4,\r
117     IPv6-over-IPv6, IPv4-over-IPv6 in IPv4 and IPv6 routed-forwarding modes.\r
118   - **VXLAN** - VXLAN overlay tunnelling integration with L2XC and L2BD.\r
119   - **QoS Policer** - ingress packet rate measuring, marking and limiting\r
120     (IPv4).\r
121 \r
122 - 2port40GE XL710 Intel\r
123 \r
124   - **L2XC** - L2 Cross-Connect switched-forwarding of untagged Ethernet frames.\r
125   - **L2BD** - L2 Bridge-Domain switched-forwarding of untagged Ethernet frames\r
126     with MAC learning.\r
127   - **IPv4** - IPv4 routed-forwarding.\r
128   - **IPv6** - IPv6 routed-forwarding.\r
129   - **VM with vhost-user** - switching between NIC ports and VM over vhost-user\r
130     interfaces in different switching modes incl. L2 Bridge-Domain.\r
131 \r
132 - 2port10GE X710 Intel\r
133 \r
134   - **L2BD** - L2 Bridge-Domain switched-forwarding of untagged Ethernet frames\r
135     with MAC learning.\r
136   - **VM with vhost-user** - switching between NIC ports and VM over vhost-user\r
137     interfaces in different switching modes incl. L2 Bridge-Domain.\r
138 \r
139 - 2port10GE VIC1227 Cisco\r
140 \r
141   - **L2BD** - L2 Bridge-Domain switched-forwarding of untagged Ethernet frames\r
142     with MAC learning.\r
143 \r
144 - 2port40GE VIC1385 Cisco\r
145 \r
146   - **L2BD** - L2 Bridge-Domain switched-forwarding of untagged Ethernet frames\r
147      with MAC learning.\r
148 \r
149 Execution of performance tests takes time, especially the throughput discovery\r
150 tests. Due to limited HW testbed resources available within FD.io labs hosted\r
151 by Linux Foundation, the number of tests for NICs other than X520 (a.k.a.\r
152 Niantic) has been limited to few baseline tests. Over time we expect the HW\r
153 testbed resources to grow, and will be adding complete set of performance\r
154 tests for all models of hardware to be executed regularly and(or)\r
155 continuously.\r
156 \r