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