Merge "Yardstick verify job could base on the filetype to run the test"
[yardstick.git] / docs / testing / user / userguide / nsb / tc_bng_pppoe_rfc2544_ixia.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, 2019 Intel Corporation.
5
6 ***************************************************************
7 Yardstick Test Case Description: NSB vBNG RFC2544 QoS TEST CASE
8 ***************************************************************
9
10 +-----------------------------------------------------------------------------+
11 |NSB vBNG RFC2544 QoS base line test case without link congestion             |
12 |                                                                             |
13 +--------------+--------------------------------------------------------------+
14 |test case id  | tc_bng_pppoe_rfc2544_ixia_IMIX_scale_up                      |
15 |              |                                                              |
16 +--------------+--------------------------------------------------------------+
17 | metric       | Network metrics:                                             |
18 |              | * TxThroughput                                               |
19 |              | * RxThroughput                                               |
20 |              | * TG packets in                                              |
21 |              | * TG packets out                                             |
22 |              | * Max Latency                                                |
23 |              | * Min Latency                                                |
24 |              | * Average Latency                                            |
25 |              | * Packets drop percentage                                    |
26 |              |                                                              |
27 |              | PPPoE subscribers metrics:                                   |
28 |              | * Sessions up                                                |
29 |              | * Sessions down                                              |
30 |              | * Sessions Not Started                                       |
31 |              | * Sessions Total                                             |
32 |              |                                                              |
33 |              | NOTE: the same network metrics list are collecting:          |
34 |              | * summary for all ports                                      |
35 |              | * per port                                                   |
36 |              | * per priority flows summary on all ports                    |
37 |              |                                                              |
38 +--------------+--------------------------------------------------------------+
39 |test purpose  | This test allows to measure performance of BNG network device|
40 |              | according to RFC2544 testing methodology. Test case creates  |
41 |              | PPPoE subscriber connections to BNG, runs prioritized traffic|
42 |              | on maximum throughput on all ports and collects network      |
43 |              | and PPPoE subscriber metrics.                                |
44 |              |                                                              |
45 +--------------+--------------------------------------------------------------+
46 |configuration | The BNG QoS RFC2544 test cases are listed below:             |
47 |              |                                                              |
48 |              | * tc_bng_pppoe_rfc2544_ixia_IMIX_scale_up.yaml               |
49 |              |                                                              |
50 |              | Mentioned test case is a template and number of ports in the |
51 |              | setup could be passed using cli arguments, e.g:              |
52 |              |                                                              |
53 |              | yardstick -d task start --task-args='{vports: 8}' <tc_yaml>  |
54 |              |                                                              |
55 |              | By default, vports=2.                                        |
56 |              |                                                              |
57 |              | Test duration:                                               |
58 |              | * set as 30sec;                                              |
59 |              |                                                              |
60 |              | Traffic type:                                                |
61 |              | * IPv4;                                                      |
62 |              |                                                              |
63 |              | Packet sizes:                                                |
64 |              | * IMIX. The following default IMIX distribution is using:    |
65 |              |                                                              |
66 |              |   uplink: 70B - 33%, 940B - 33%, 1470B - 34%                 |
67 |              |   downlink: 68B - 3%, 932B - 1%, 1470B - 96%                 |
68 |              |                                                              |
69 |              | VLAN settings:                                               |
70 |              | * QinQ on access ports;                                      |
71 |              | * VLAN on core ports;                                        |
72 |              |                                                              |
73 |              | Number of PPPoE subscribers:                                 |
74 |              | * 4000 per access port;                                      |
75 |              | * 1000 per SVLAN;                                            |
76 |              |                                                              |
77 |              | Default ToS bits settings:                                   |
78 |              | * 0 - (000) Routine                                          |
79 |              | * 4 - (100) Flash Override                                   |
80 |              | * 7 - (111) Network Control.                                 |
81 |              |                                                              |
82 |              | The above fields are the main options used for the test case |
83 |              | and could be configured using cli options on test run or     |
84 |              | directly in test case yaml file.                             |
85 |              |                                                              |
86 +--------------+--------------------------------------------------------------+
87 |test tool     | IXIA IxNetwork                                               |
88 |              |                                                              |
89 |              | IXIA IxNetwork is using to emulates PPPoE sessions, generate |
90 |              | L2-L3 traffic, analyze traffic flows and collect network     |
91 |              | metrics during test run.                                     |
92 |              |                                                              |
93 +--------------+--------------------------------------------------------------+
94 |applicability | Mentioned BNG QoS RFC2544 test case can be configured with   |
95 |              | different:                                                   |
96 |              |                                                              |
97 |              |  * Number of PPPoE subscribers sessions;                     |
98 |              |  * Setup ports number;                                       |
99 |              |  * IP Priority type;                                         |
100 |              |  * Packet size;                                              |
101 |              |  * Enable/disable BGP protocol on core ports;                |
102 |              |                                                              |
103 |              | Default values exist.                                        |
104 |              |                                                              |
105 +--------------+--------------------------------------------------------------+
106 |references    | RFC2544                                                      |
107 |              |                                                              |
108 +--------------+--------------------------------------------------------------+
109 | pre-test     | 1. BNG is up and running and has configured:                 |
110 | conditions   |   * access ports with QinQ tagging;                          |
111 |              |   * core ports with configured IP addresses and VLAN;        |
112 |              |   * PPPoE subscribers authorization settings (no auth or     |
113 |              |     Radius server, PAP auth protocol);                       |
114 |              |   * QoS settings;                                            |
115 |              |                                                              |
116 |              | 2. IxNetwork API server is running on specified in pod.yaml  |
117 |              |    file TCL port;                                            |
118 |              |                                                              |
119 |              | 3. BNG ports are connected to IXIA ports (IXIA uplink        |
120 |              |    ports are connected to BNG access ports and IXIA          |
121 |              |    downlink ports are connected to BNG core ports;           |
122 |              |                                                              |
123 |              | 4. The pod.yaml file contains all necessary information      |
124 |              |    (BNG access and core ports settings, core ports IP        |
125 |              |    address, NICs, IxNetwork TCL port, IXIA uplink/downlink   |
126 |              |    ports, etc).                                              |
127 |              |                                                              |
128 +--------------+--------------------------------------------------------------+
129 |test sequence | description and expected result                              |
130 |              |                                                              |
131 +--------------+--------------------------------------------------------------+
132 |step 1        | Yardstick resolves the topology and connects to IxNetwork    |
133 |              | API server by TCL.                                           |
134 |              |                                                              |
135 +--------------+--------------------------------------------------------------+
136 |step 2        | Test scenarios run, which performs the following steps:      |
137 |              |                                                              |
138 |              |  1. Create access network topologies (this topologies are    |
139 |              |     based on IXIA ports which are connected to BNG access    |
140 |              |     ports);                                                  |
141 |              |  2. Configure access network topologies with multiple device |
142 |              |     groups. Each device group represents single SVLAN with   |
143 |              |     PPPoE subscribers sessions (number of created on port    |
144 |              |     SVLANs and subscribers depends on specified if test case |
145 |              |     file options);                                           |
146 |              |  3. Create core network topologies (this topologies are      |
147 |              |     based on IXIA ports which are connected to BNG core      |
148 |              |     ports);                                                  |
149 |              |  4. Configure core network topologies with single device     |
150 |              |     group which represents one connection with configured    |
151 |              |     VLAN and BGP protocol;                                   |
152 |              |  5. Establish PPPoE subscribers connections to BNG;          |
153 |              |  6. Create traffic flows between access and core ports       |
154 |              |     (traffic flows are creating between access-core ports    |
155 |              |     pairs, traffic is bi-directional);                       |
156 |              |  7. Configure each traffic flow with specified in traffic    |
157 |              |     profile options;                                         |
158 |              |  8. Run traffic with specified in test case file duration;   |
159 |              |  9. Collect network metrics after traffic was stopped;       |
160 |              | 10. In case drop percentage rate is higher than expected,    |
161 |              |     reduce traffic line rate and repeat steps 7-10 again;    |
162 |              | 11. In case drop percentage rate is as expected or number    |
163 |              |     of maximum iterations in step 10 achieved, disconnect    |
164 |              |     PPPoE subscribers and stop traffic;                      |
165 |              | 12. Stop test.                                               |
166 |              |                                                              |
167 +--------------+--------------------------------------------------------------+
168 |step 3        | During each iteration interval in the test run, all specified|
169 |              | metrics are retrieved from IxNetwork and stored in the       |
170 |              | yardstick dispatcher.                                        |
171 |              |                                                              |
172 +--------------+--------------------------------------------------------------+
173 |test verdict  | The vBNG RFC2544 test case will achieve maximum traffic line |
174 |              | rate with zero packet loss (or other non-zero allowed        |
175 |              | partial drop rate).                                          |
176 |              |                                                              |
177 +--------------+--------------------------------------------------------------+