1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
|
# Copyright (c) 2016 Cisco and/or its affiliates.
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at:
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
*** Settings ***
| Resource | resources/libraries/robot/performance.robot
| Library | resources.libraries.python.topology.Topology
| Library | resources.libraries.python.NodePath
| Library | resources.libraries.python.InterfaceUtil
| Library | resources.libraries.python.IPv4Setup.Dut | ${nodes['DUT1']} | WITH NAME | dut1_v4
| Library | resources.libraries.python.IPv4Setup.Dut | ${nodes['DUT2']} | WITH NAME | dut2_v4
| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG
| Suite Setup | 3-node Performance Suite Setup | L3
| Suite Teardown | 3-node Performance Suite Teardown
| Test Setup | Setup all DUTs before test
| Test Teardown | Run Keywords | Show statistics on all DUTs
| ... | AND | Reset startup configuration of VPP on all DUTs
| Documentation | *Throughput search suite (based on RFC2544).*
*** Test Cases ***
| Find NDR by using RFC2544 linear search and 64B frames through IPv4 forwarding in 3-node topology
| | [Documentation]
| | ... | Find throughput with non drop rate for 64B frames by using
| | ... | linear search starting at 4.1Mpps, stepping down with step of 0.1Mpps
| | [Tags] | 1_THREAD_NOHTT_RSS_1 | SINGLE_THREAD
| | # Variables
| | ${framesize}= | Set Variable | 64
| | ${start_rate}= | Set Variable | 4400000
| | ${step_rate}= | Set Variable | 100000
| | ${min_rate}= | Set Variable | 100000
| | ${max_rate}= | Set Variable | 14880952
| | # VPP setup
| | Given Setup '1' worker threads and rss '1' without HTT on all DUTs
| | AND IPv4 forwarding initialized in a 3-node circular topology
| | # Linear search
| | Then Find NDR using linear search and pps | ${framesize} | ${start_rate}
| | ... | ${step_rate} | 3-node-IPv4
| | ... | ${min_rate} | ${max_rate}
| Find NDR by using RFC2544 linear search and 1518B frames through IPv4 forwarding in 3-node topology
| | [Documentation]
| | ... | Find throughput with non drop rate for 1518B frames by using
| | ... | linear search starting at 812,743pps, stepping down with step of
| | ... | 10,000pps
| | [Tags] | 1_THREAD_NOHTT_RSS_1 | SINGLE_THREAD
| | # Variables
| | ${framesize}= | Set Variable | 1518
| | ${start_rate}= | Set Variable | 812743
| | ${step_rate}= | Set Variable | 10000
| | ${min_rate}= | Set Variable | 10000
| | ${max_rate}= | Set Variable | 812743
| | # VPP setup
| | Given Setup '1' worker threads and rss '1' without HTT on all DUTs
| | AND IPv4 forwarding initialized in a 3-node circular topology
| | # Linear search
| | Then Find NDR using linear search and pps | ${framesize} | ${start_rate}
| | ... | ${step_rate} | 3-node-IPv4
| | ... | ${min_rate} | ${max_rate}
| Find NDR by using RFC2544 linear search and 9000B frames through IPv4 forwarding in 3-node topology
| | [Documentation]
| | ... | Find throughput with non drop rate for 9000B frames by using
| | ... | linear search starting at 138,580pps, stepping down with step of
| | ... | 5,000pps
| | [Tags] | 1_THREAD_NOHTT_RSS_1 | SINGLE_THREAD
| | # Variables
| | ${framesize}= | Set Variable | 9000
| | ${start_rate}= | Set Variable | 138580
| | ${step_rate}= | Set Variable | 5000
| | ${min_rate}= | Set Variable | 5000
| | ${max_rate}= | Set Variable | 138580
| | # VPP setup
| | Given Setup '1' worker threads and rss '1' without HTT on all DUTs
| | AND IPv4 forwarding initialized in a 3-node circular topology
| | # Linear search
| | Then Find NDR using linear search and pps | ${framesize} | ${start_rate}
| | ... | ${step_rate} | 3-node-IPv4
| | ... | ${min_rate} | ${max_rate}
| Find NDR with 2 cores and rss 1 by using RFC2544 linear search and 64B frames through IPv4 forwarding in 3-node topology
| | [Documentation]
| | ... | Find throughput on 2 cores with non drop rate for 64B frames by using
| | ... | linear search starting at 8.8Mpps, stepping down with step of 0.1Mpps
| | [Tags] | 2_THREAD_NOHTT_RSS_1 | MULTI_THREAD
| | # Variables
| | ${framesize}= | Set Variable | 64
| | ${start_rate}= | Set Variable | 8800000
| | ${step_rate}= | Set Variable | 100000
| | ${min_rate}= | Set Variable | 100000
| | ${max_rate}= | Set Variable | 14880952
| | # VPP setup
| | Given Setup '2' worker threads and rss '1' without HTT on all DUTs
| | AND IPv4 forwarding initialized in a 3-node circular topology
| | # Linear search
| | Then Find NDR using linear search and pps | ${framesize} | ${start_rate}
| | ... | ${step_rate} | 3-node-IPv4
| | ... | ${min_rate} | ${max_rate}
| Find NDR with 4 cores and rss 2 by using RFC2544 linear search and 64B frames through IPv4 forwarding in 3-node topology
| | [Documentation]
| | ... | Find throughput on 2 cores with non drop rate for 64B frames by using
| | ... | linear search starting at 9.8Mpps, stepping down with step of 0.1Mpps
| | [Tags] | 4_THREAD_NOHTT_RSS_2 | MULTI_THREAD
| | # Variables
| | ${framesize}= | Set Variable | 64
| | ${start_rate}= | Set Variable | 9800000
| | ${step_rate}= | Set Variable | 100000
| | ${min_rate}= | Set Variable | 100000
| | ${max_rate}= | Set Variable | 14880952
| | # VPP setup
| | Given Setup '4' worker threads and rss '2' without HTT on all DUTs
| | AND IPv4 forwarding initialized in a 3-node circular topology
| | # Linear search
| | Then Find NDR using linear search and pps | ${framesize} | ${start_rate}
| | ... | ${step_rate} | 3-node-IPv4
| | ... | ${min_rate} | ${max_rate}
|