Merge "Add Pktgen traffic generator for vCMTS"
[yardstick.git] / docs / testing / user / userguide / nsb / tc_prox_context_l2fwd_port.rst
1 .. This work is licensed under a Creative Commons Attribution 4.0 International
2 .. License.
3 .. http://creativecommons.org/licenses/by/4.0
4 .. (c) OPNFV, 2017 Intel Corporation.
5
6 ***********************************************
7 Yardstick Test Case Description: NSB PROX L2FWD
8 ***********************************************
9
10 +-----------------------------------------------------------------------------+
11 |NSB PROX test for NFVI characterization                                      |
12 |                                                                             |
13 +--------------+--------------------------------------------------------------+
14 |test case id  | tc_prox_{context}_l2fwd-{port_num}                           |
15 |              |                                                              |
16 |              | * context = baremetal or heat_context;                       |
17 |              | * port_num = 2 or 4;                                         |
18 |              |                                                              |
19 +--------------+--------------------------------------------------------------+
20 |metric        | * Network Throughput;                                        |
21 |              | * TG Packets Out;                                            |
22 |              | * TG Packets In;                                             |
23 |              | * VNF Packets Out;                                           |
24 |              | * VNF Packets In;                                            |
25 |              | * Dropped packets;                                           |
26 |              |                                                              |
27 +--------------+--------------------------------------------------------------+
28 |test purpose  | The PROX L2FWD test has 3 types of test cases:               |
29 |              | L2FWD: The application will take packets in from one port    |
30 |              | and forward them unmodified to another port                  |
31 |              | L2FWD_Packet_Touch: The application will take packets in     |
32 |              | from one port, update src and dst MACs and forward them to   |
33 |              | another port.                                                |
34 |              | L2FWD_Multi_Flow: The application will take packets in       |
35 |              | from one port, update src and dst MACs and forward them to   |
36 |              | another port. This test case exercises the softswitch        |
37 |              | with 200k flows.                                             |
38 |              |                                                              |
39 |              | The above test cases are implemented for baremetal and heat  |
40 |              | context for 2 port and 4 port configuration.                 |
41 |              |                                                              |
42 +--------------+--------------------------------------------------------------+
43 |configuration | The L2FWD test cases are listed below:                       |
44 |              |                                                              |
45 |              | * tc_prox_baremetal_l2fwd-2.yaml                             |
46 |              | * tc_prox_baremetal_l2fwd-4.yaml                             |
47 |              | * tc_prox_baremetal_l2fwd_pktTouch-2.yaml                    |
48 |              | * tc_prox_baremetal_l2fwd_pktTouch-4.yaml                    |
49 |              | * tc_prox_baremetal_l2fwd_multiflow-2.yaml                   |
50 |              | * tc_prox_baremetal_l2fwd_multiflow-4.yaml                   |
51 |              | * tc_prox_heat_context_l2fwd-2.yaml                          |
52 |              | * tc_prox_heat_context_l2fwd-4.yaml                          |
53 |              | * tc_prox_heat_context_l2fwd_pktTouch-2.yaml                 |
54 |              | * tc_prox_heat_context_l2fwd_pktTouch-4.yaml                 |
55 |              | * tc_prox_heat_context_l2fwd_multiflow-2.yaml                |
56 |              | * tc_prox_heat_context_l2fwd_multiflow-4.yaml                |
57 |              |                                                              |
58 |              | Test duration is set as 300sec for each test.                |
59 |              | Packet size set as 64 bytes in traffic profile               |
60 |              | These can be configured                                      |
61 |              |                                                              |
62 +--------------+--------------------------------------------------------------+
63 |test tool     | PROX                                                         |
64 |              | PROX is a DPDK application that can simulate VNF workloads   |
65 |              | and can generate traffic and used for NFVI characterization  |
66 |              |                                                              |
67 +--------------+--------------------------------------------------------------+
68 |applicability | The PROX L2FWD test cases can be configured with different:  |
69 |              |                                                              |
70 |              |  * packet sizes;                                             |
71 |              |  * test durations;                                           |
72 |              |  * tolerated loss;                                           |
73 |              |                                                              |
74 |              | Default values exist.                                        |
75 |              |                                                              |
76 +--------------+--------------------------------------------------------------+
77 |pre-test      | For Openstack test case image (yardstick-samplevnfs) needs   |
78 |conditions    | to be installed into Glance with Prox and Dpdk included in   |
79 |              | it.                                                          |
80 |              |                                                              |
81 |              | For Baremetal tests cases Prox and Dpdk must be installed in |
82 |              | the hosts where the test is executed. The pod.yaml file must |
83 |              | have the necessary system and NIC information                |
84 |              |                                                              |
85 +--------------+--------------------------------------------------------------+
86 |test sequence | description and expected result                              |
87 |              |                                                              |
88 +--------------+--------------------------------------------------------------+
89 |step 1        | For Baremetal test: The TG and VNF are started on the hosts  |
90 |              | based on the pod file.                                       |
91 |              |                                                              |
92 |              | For Heat test: Two host VMs are booted, as Traffic generator |
93 |              | and VNF(L2FWD workload) based on the test flavor.            |
94 |              |                                                              |
95 +--------------+--------------------------------------------------------------+
96 |step 2        | Yardstick is connected with the TG and VNF by using ssh.     |
97 |              | The test will resolve the topology and instantiate the VNF   |
98 |              | and TG and collect the KPI's/metrics.                        |
99 |              |                                                              |
100 +--------------+--------------------------------------------------------------+
101 |step 3        | The TG will send packets to the VNF. If the number of        |
102 |              | dropped packets is more than the tolerated loss the line     |
103 |              | rate or throughput is halved. This is done until the dropped |
104 |              | packets are within an acceptable tolerated loss.             |
105 |              |                                                              |
106 |              | The KPI is the number of packets per second for 64 bytes     |
107 |              | packet size with an accepted minimal packet loss for the     |
108 |              | default configuration.                                       |
109 |              |                                                              |
110 +--------------+--------------------------------------------------------------+
111 |step 4        | In Baremetal test: The test quits the application and unbind |
112 |              | the dpdk ports.                                              |
113 |              |                                                              |
114 |              | In Heat test: Two host VMs are deleted on test completion.   |
115 |              |                                                              |
116 +--------------+--------------------------------------------------------------+
117 |test verdict  | The test case will achieve a Throughput with an accepted     |
118 |              | minimal tolerated packet loss.                               |
119 +--------------+--------------------------------------------------------------+
120