Add license info and update structure
[yardstick.git] / docs / userguide / opnfv_yardstick_tc020.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, Intel Corporation and others.
5
6 *************************************
7 Yardstick Test Case Description TC020
8 *************************************
9
10 .. _DPDKpktgen: https://github.com/Pktgen/Pktgen-DPDK/
11 .. _rfc2544: https://www.ietf.org/rfc/rfc2544.txt
12
13 +-----------------------------------------------------------------------------+
14 |Network Performance                                                          |
15 |                                                                             |
16 +--------------+--------------------------------------------------------------+
17 |test case id  | OPNFV_YARDSTICK_TC0020_Virtual Traffic Classifier            |
18 |              | Instantiation Test                                           |
19 |              |                                                              |
20 +--------------+--------------------------------------------------------------+
21 |metric        | Failure                                                      |
22 |              |                                                              |
23 +--------------+--------------------------------------------------------------+
24 |test purpose  | To verify that a newly instantiated vTC is 'alive' and       |
25 |              | functional and its instantiation is correctly supported by   |
26 |              | the infrastructure.                                          |
27 |              |                                                              |
28 +--------------+--------------------------------------------------------------+
29 |configuration | file: opnfv_yardstick_tc020.yaml                             |
30 |              |                                                              |
31 |              | vnic_type: type of VNIC to be used.                          |
32 |              |      Allowed values are:                                     |
33 |              |           - normal: for default OvS port configuration       |
34 |              |           - direct: for SR-IOV port configuration            |
35 |              |      Default value: None                                     |
36 |              |                                                              |
37 |              | vtc_flavor: OpenStack flavor to be used for the vTC          |
38 |              |      Default available values are: m1.small, m1.medium,      |
39 |              |      and m1.large, but the user can create his/her own       |
40 |              |      flavor and give it as input                             |
41 |              |      Default value: None                                     |
42 |              |                                                              |
43 |              | vlan_sender: vlan tag of the network on which the vTC will   |
44 |              |      receive traffic (VLAN Network 1).                       |
45 |              |      Allowed values: range (1, 4096)                         |
46 |              |                                                              |
47 |              | vlan_receiver: vlan tag of the network on which the vTC      |
48 |              |      will send traffic back to the packet generator          |
49 |              |      (VLAN Network 2).                                       |
50 |              |      Allowed values: range (1, 4096)                         |
51 |              |                                                              |
52 |              | default_net_name: neutron name of the defaul network that    |
53 |              |      is used for access to the internet from the vTC         |
54 |              |      (vNIC 1).                                               |
55 |              |                                                              |
56 |              | default_subnet_name: subnet name for vNIC1                   |
57 |              |      (information available through Neutron).                |
58 |              |                                                              |
59 |              | vlan_net_1_name: Neutron Name for VLAN Network 1             |
60 |              |      (information available through Neutron).                |
61 |              |                                                              |
62 |              | vlan_subnet_1_name: Subnet Neutron name for VLAN Network 1   |
63 |              |      (information available through Neutron).                |
64 |              |                                                              |
65 |              | vlan_net_2_name: Neutron Name for VLAN Network 2             |
66 |              |      (information available through Neutron).                |
67 |              |                                                              |
68 |              | vlan_subnet_2_name: Subnet Neutron name for VLAN Network 2   |
69 |              |      (information available through Neutron).                |
70 |              |                                                              |
71 +--------------+--------------------------------------------------------------+
72 |test tool     | DPDK pktgen                                                  |
73 |              |                                                              |
74 |              | DPDK Pktgen is not part of a Linux distribution,             |
75 |              | hence it needs to be installed by the user.                  |
76 |              |                                                              |
77 +--------------+--------------------------------------------------------------+
78 |references    | DPDKpktgen_                                                  |
79 |              |                                                              |
80 |              | ETSI-NFV-TST001                                              |
81 |              |                                                              |
82 |              | rfc2544_                                                     |
83 |              |                                                              |
84 +--------------+--------------------------------------------------------------+
85 |applicability | Test can be configured with different flavors, vNIC type     |
86 |              | and packet sizes. Default values exist as specified above.   |
87 |              | The vNIC type and flavor MUST be specified by the user.      |
88 |              |                                                              |
89 +--------------+--------------------------------------------------------------+
90 |pre-test      | The vTC has been successfully instantiated and configured.   |
91 |              | The user has correctly assigned the values to the deployment |
92 |              |  configuration parameters.                                   |
93 |              |                                                              |
94 |              | - Multicast traffic MUST be enabled on the network.          |
95 |              |      The Data network switches need to be configured in      |
96 |              |      order to manage multicast traffic.                      |
97 |              |      Installation and configuration of smcroute is required  |
98 |              |      before to run the test case.                            |
99 |              |      (For further instructions please refer to the ApexLake  |
100 |              |      documentation).                                         |
101 |              | - In the case of SR-IOV vNICs use, SR-IOV compatible NICs    |
102 |              |      must be used on the compute node.                       |
103 |              | - Yarsdtick needs to be installed on a host connected to the |
104 |              |      data network and the host must have 2 DPDK-compatible   |
105 |              |      NICs. Proper configuration of DPDK and DPDK pktgen is   |
106 |              |      required before to run the test case.                   |
107 |              |      (For further instructions please refer to the ApexLake  |
108 |              |      documentation).                                         |
109 |              |                                                              |
110 +--------------+--------------------------------------------------------------+
111 |test sequence | Description and expected results                             |
112 |              |                                                              |
113 +--------------+--------------------------------------------------------------+
114 |step 1        | The vTC is deployed, according to the configuration provided |
115 |              | by the user.                                                 |
116 |              |                                                              |
117 +--------------+--------------------------------------------------------------+
118 |step 2        | The vTC is correctly deployed and configured as necessary.   |
119 |              | The initialization script has been correctly executed and    |
120 |              | the vTC is ready to receive and process the traffic.         |
121 |              |                                                              |
122 +--------------+--------------------------------------------------------------+
123 |step 3        | Test case is executed with the parameters specified by the   |
124 |              | the user:                                                    |
125 |              | - vTC flavor                                                 |
126 |              | - vNIC type                                                  |
127 |              | A constant rate traffic is sent to the vTC for 10 seconds.   |
128 |              |                                                              |
129 +--------------+--------------------------------------------------------------+
130 |step 4        | The vTC instance tags all the packets and sends them back to |
131 |              | the packet generator for 10 seconds.                         |
132 |              |                                                              |
133 |              | The framework checks that the packet generator receives      |
134 |              | back all the packets with the correct tag from the vTC.      |
135 |              |                                                              |
136 +--------------+--------------------------------------------------------------+
137 |test verdict  |  The vTC is deemed to be successfully instantiated if all    |
138 |              |  packets are sent back with the right tag as requested,      |
139 |              |  else it is deemed DoA (Dead on arrival)                     |
140 |              |                                                              |
141 +--------------+--------------------------------------------------------------+