cf7a5d2e349b6a96b3adac004a7184a839489828
[csit.git] / docs / report / vpp_functional_tests_virl / overview.rst
1 Overview\r
2 ========\r
3 \r
4 VPP Functional Test Topologies in VIRL\r
5 --------------------------------------\r
6 \r
7 CSIT VPP functional tests are executed on virtualized topologies created using\r
8 Virtual Internet Routing Lab (VIRL) simulation platform contributed by Cisco.\r
9 VIRL runs on physical baremetal servers hosted by LF FD.io project.  Majority\r
10 of the tests are executed in the three node logical test topology - Traffic\r
11 Generator (TG) node and two Systems Under Test (SUT) nodes connected in a\r
12 loop. Some tests use two node logical test topology - TG node and SUT node.\r
13 Both logical test topologies are shown in the figures below:::\r
14 \r
15     +------------------------+           +------------------------+\r
16     |                        |           |                        |\r
17     |  +------------------+  |           |  +------------------+  |\r
18     |  |                  <----------------->                  |  |\r
19     |  |                  |  |           |  |                  |  |\r
20     |  |       DUT1       <----------------->       DUT2       |  |\r
21     |  +--^--^------------+  |           |  +------------^--^--+  |\r
22     |     |  |               |           |               |  |     |\r
23     |     |  |         SUT1  |           |  SUT2         |  |     |\r
24     +------------------------+           +------------------------+\r
25           |  |                                           |  |\r
26           |  |                                           |  |\r
27           |  |               +-----------+               |  |\r
28           |  +--------------->           <---------------+  |\r
29           |                  |    TG     |                  |\r
30           +------------------>           <------------------+\r
31                              +-----------+\r
32 \r
33                        +------------------------+\r
34                        |                        |\r
35                        |  +------------------+  |\r
36           +--------------->                  <--------------+\r
37           |            |  |                  |  |           |\r
38           |  |------------>       DUT1       <-----------+  |\r
39           |  |         |  +--^--^------------+  |        |  |\r
40           |  |         |                        |        |  |\r
41           |  |         |                  SUT1  |        |  |\r
42           |  |         +------------------------+        |  |\r
43           |  |                                           |  |\r
44           |  |                                           |  |\r
45           |  |               +-----------+               |  |\r
46           |  +--------------->           <---------------+  |\r
47           |                  |    TG     |                  |\r
48           +------------------>           <------------------+\r
49                              +-----------+\r
50 \r
51 Virtual testbeds are created dynamically whenever a verification job is\r
52 started triggered by the patch submission to gerrit and destroyed upon\r
53 completion of all functional tests. During test execution, all nodes are\r
54 reachable thru the MGMT network connected to every node via dedicated NICs and\r
55 links (not shown above for clarity). Each node is a Virtual Machine and each\r
56 connection that is drawn on the diagram is available for use in any test case.\r
57 \r
58 For test cases that require DUT (VPP) to communicate with VM over vhost-user\r
59 interfaces, a nested VM is created on SUT1 and/or SUT2 for the duration of\r
60 that particular test case only. DUT (VPP) test topology with VM is shown in\r
61 the figure below including the applicable packet flow thru the VM (marked with\r
62 ``*``).::\r
63 \r
64     +------------------------+           +------------------------+\r
65     |      +----------+      |           |      +----------+      |\r
66     |      |    VM    |      |           |      |    VM    |      |\r
67     |      |  ******  |      |           |      |  ******  |      |\r
68     |      +--^----^--+      |           |      +--^----^--+      |\r
69     |        *|    |*        |           |        *|    |*        |\r
70     |  +------v----v------+  |           |  +------v----v------+  |\r
71     |  |      *    *      |**|***********|**|      *    *      |  |\r
72     |  |  *****    *******<----------------->*******    *****  |  |\r
73     |  |  *    DUT1       |  |           |  |       DUT2    *  |  |\r
74     |  +--^---------------+  |           |  +---------------^--+  |\r
75     |    *|                  |           |                  |*    |\r
76     |    *|            SUT1  |           |  SUT2            |*    |\r
77     +------------------------+           +------------------^-----+\r
78          *|                                                 |*\r
79          *|                                                 |*\r
80          *|                  +-----------+                  |*\r
81          *|                  |           |                  |*\r
82          *+------------------>    TG     <------------------+*\r
83          ******************* |           |********************\r
84                              +-----------+\r
85 \r
86 VPP Functional Tests Overview\r
87 -----------------------------\r
88 \r
89 Following VPP functional test areas are included in the CSIT |release| with\r
90 results listed in this report:\r
91 \r
92 - **DHCP - Client and Proxy** - Dynamic Host Control Protocol Client and Proxy\r
93   for IPv4, IPv6.\r
94 - **GRE Overlay Tunnels** - Generic Routing Encapsulation for IPv4.\r
95 - **L2BD Ethernet Switching** - L2 Bridge-Domain switched-forwarding for\r
96   untagged Ethernet, dot1q and dot1ad tagged.\r
97 - **L2XC Ethernet Switching** - L2 Cross-Connect switched-forwarding for\r
98   untagged Ethernet, dot1q and dot1ad tagged.\r
99 - **LISP Overlay Tunnels** - Locator/ID Separation Protocol overlay tunnels and\r
100   locator/id mapping control.\r
101 - **Softwire Tunnels** - IPv4-in-IPv6 softwire tunnels.\r
102 - **Cop Address Security** - address white-list and black-list filtering for\r
103   IPv4, IPv6.\r
104 - **IPSec - Tunnels and Transport** - IPSec tunnel and transport modes.\r
105 - **IPv6 Routed-Forwarding** - IPv6 routed-forwarding, NS/ND, RA, ICMPv6.\r
106 - **uRPF Source Security** - unicast Reverse Path Forwarding security.\r
107 - **Tap Interface** - baseline Linux tap interface tests.\r
108 - **Telemetry - IPFIX and SPAN** - IPFIX netflow statistics and SPAN port\r
109   mirroring.\r
110 - **VRF Routed-Forwarding** - multi-context IPVPN routed-forwarding for IPv4,\r
111   IPv6.\r
112 - **iACL Security** - ingress Access Control List security for IPv4, IPv6, MAC.\r
113 - **IPv4 Routed-Forwarding** - IPv4 routed-forwarding, RPF, ARP, Proxy ARP,\r
114   ICMPv4.\r
115 - **QoS Policer Metering** - ingress packet rate measuring and marking for IPv4,\r
116   IPv6.\r
117 - **VLAN Tag Translation** - L2 VLAN tag translation 2to2, 2to1, 1to2, 1to1.\r
118 - **VXLAN Overlay Tunnels** - VXLAN tunneling for L2-over-IP, for IPv4, IPv6.\r