forked from cslev/nfpa
-
Notifications
You must be signed in to change notification settings - Fork 3
/
nfpa.cfg
333 lines (272 loc) · 12.2 KB
/
nfpa.cfg
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
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
### ----------------- User Settings ------------------ ###
#The username you will use later for sharing and accessing the
#central web site. Register first at http://nfpa.tmit.bme.hu
#to take the desired username.
username=levi
### ================================================== ###
### ----------------- Email Settings ------------------ ###
#Email sending service. This will send you an email with the
#measured results trace by trace. A log file is also attached
#to know whether a failure has occurred. You need to have an
#email address and access to the smtp server of it. GMAIL is
#definitely working, others may not. Ensure your firewall does
#not block such outgoing requests! Use true/false to indicate
#your preference.
email_service=false
#The sender email address. Usually, the same as
#email_username
#The recipient email address, where the results are sent
#The SMTP server's port
email_server=smtp.gmail.com
#The SMTP server's port
email_port=587
#Your username for SMTP server - usually the same as
#email_from
#Your password for SMTP server
email_password=
#Define here the timeout in seconds you allow for NFPA to connect
#to SMTP server. Setting it to 5 is a reasonable
#configuration.
email_timeout=5
### ================================================== ###
### ------ Filesystem & OS Related Settings ---------- ###
#The root directory of your installed PktGen. Required for copying
#helper scripts to control PktGen. OMIT THE LAST '/'.
PKTGEN_ROOT=/home/barrredkola/pktgen-3.1.2
#The path to PktGen binary under the above-set Pktgen's root
#directory. So, pay attention that this is a relative path.
#OMIT THE LAST '/'.
PKTGEN_BIN=app/app/x86_64-native-linuxapp-gcc/pktgen
#The root directory of NFPA. It is necessary to set it correctly,
#since libraries and other directories are accessed relatively
#to this. OMIT THE LAST '/'.
MAIN_ROOT=/home/barrredkola/cbt
#The generated charts (plotted by Gnuplot) will be saved under
#this directory. It will be created (if not exists) under the
#above-set NFPA's main root.
RES_DIR=res
#The desired logging level. Log files are generated in log/
#directory under the above-set NFPA's main root.levels: DEBUG,
#INFO, WARNING, ERROR, CRITICAL (incase sensitive)
LOG_LEVEL=INFO
### ================================================== ###
### ------------- DPDK and Pktgen arguments ------------- ###
#CPU Core Mask in HEX. For instance, 'e' means 1110 in binary
#indicating that the usable CPU cores' ids are 1,2,3. Or if
#you set 2e, it means that you want to use core 5,3,2,1. Note
#that 1 core per NIC port should be allocated.
cpu_core_mask=ff
#Number of memory channels to use (e.g., 4). If not sure, use
#4!
mem_channels=4
#Size of hugepages to be used, for instance 1024. Note that
#for using NUMA nodes this setting is like 1024,1024 - Setup
#for both sockets!If all available hugepages are required, leave
#this field empty!
socket_mem=4096
#For any further DPDK parameters, such as setting up a vhost
#inteface, use this variable. Pay attention to type these additional
#parameters properly, since NFPA is not going to check its correctness.
#Leave it empty if NOT NEEDED!
other_dpdk_params=--file-prefix cbt_huge
#Port mask in HEX. For instance, '3' means (11 in BIN) that
#two port will be used. This is the common case. However, it
#is possible to use one port for sending and receiving the traffic
#(for instance, if you have one 40GNIC with only one port).
#In such cases port mask should be '1' (01 in BIN) and accordingly
#both the sendPort and recvPort (to be set later) should be
#'0'!
port_mask=1
#Set here which core to be used for which port (in decimal).
#If not sure, use "2.0,3.1".To see how multicore assingment
#should be set, go to
#http://pktgen.readthedocs.io/en/latest/usage_pktgen.html
cpu_port_assign="[2-3:4-5].0"
### ================================================== ###
### Network Function Hardware & Software Related Settings#
#Set here the make of the CPU where the NF being tested is running,
#e.g., intel xeon, intel atom, intel core, amd opteron.
cpu_make=intel xeon
#Set here the model of the CPU where the NF being tested is
#running, e.g., e5-2620, i7-4600u.
cpu_model=e5-2620v3
#Set here the make of the NIC the NF being tested is using,
#e.g., intel, realtek, broadcom.
nic_make=intel
#Set here the model of the NIC the NF being tested is using,
#e.g., xl710, x710, 82599es, 8139.
nic_model=xl710
#Set up here the port type, e.g. 10G, 40G, 100M in the highest
#INTEGER UNIT!!! So, USE 1_G instead of 1000_M!!!This is important
#to show/plot the theoretical results as well. Format: [bitrate]_[UNIT](case
#sensitive, use capitals for UNIT).
port_type=40_G
#Set here, whether the NF being tested is VIRTUALIZED. If it
#is running on a pure bare-metal, set 'no'.Otherwise, set the
#virtualization type, e.g., lxc,docker, kvm, xen,
#virtualbox.
virtualization=no
#Set here the NAME that the NF being tested is using, e.g.,
#ovs, xdpd, my_own_NAT.
vnf_name=ovs
#Set here the VERSION of the NF being tested, e.g., 2.3.90,
#0.7.5. In order to get to know the version, for instance, in
#case of OVS type ovs-vsctl -V.
vnf_version=2.5.1
#Set here the DRIVER that the NF being tested is using, e.g.,
#kernel, dpdk, netmap, odp.
vnf_driver=kernel
#Set here the VERSION of the used VNF's DRIVER, e.g., 3.16 (for
#linux kernel driver, 1.7.1, 1.8.0, 2.0.0 (for DPDK
#driver).
vnf_driver_version=3.16
#Set here the FUNCTION that the NF being tested is using, e.g.,
#bridge, l2-switch, l3-router, vxlan, mpls. Therefore, if only
#port forward rules are installed in the vnf, then use the term
#bridge. If l2-switch is set, then it is assumed that DMAC forwarding
#is used, i.e., corresponding L2 rules are installed in the
#flow table. It also infers that some traces, for instance,
#trXe and trXi could not be used in one measurement scenario.
#In such cases, please do two different measurements, even if
#the application is capable of doing both at the same
#time!
vnf_function=load_balancer_10
#New feature since NFPA v2. Set here the number of cpu cores
#the vnf is using
vnf_num_cores=0
# Additional arguments for VNF
vnf_args=
#Write here some comment to the function, for instance, ivshmem
#or userspace vhost for virtual ethernet, or other methods how
#the virtual interface are connected. So, anything you feel
#necessary to position the results.
vnf_comment=kernel driver autoscales to the available cores
### ================================================== ###
### ----- Gnuplot/Presenting Related Settings -------- ###
#Change plotting language here: currently supported: eng,hun
#To create the same plots with different languages, use this
#line more times defining the different languages, as in case of
#packetSize"
plot_language=eng
#plot_language=hun
#Set up the unit of the desired packet/s results in order to
#obtain them more human readable. Set this to empty string if
#normal units shall be used!
pps_unit=M
#Set Bit/s unit here similarly to the above-set Packet/s.
bps_unit=G
#Define here the percentage of outlier results that should be
#omitted during calculating average, min and max values (format:
#5% -> 0.05). Use 0 to take into account all results!
outlier_min_percentage=0.15
#Define here the percentage of outlier results that should be
#omitted during calculating average, min and max values (format:
#5% -> 0.05). Use 0 to take into account all results!
outlier_max_percentage=0.15
### ================================================== ###
### ------------- Let NFPA configure your VNF -------- ###
# NFPA can start, initialize, and configure the VNF under measurement.
#
# It works only with some predefined vnf_function use-cases, and
# traffic traces. See the use-cases subpage of the NFPA website.
# Whether NFPA should configure the VNF (true or false)
control_nfpa=true
# Method for (remote) VNF configuration (openflow, vpp, bess, ...)
# Available methods are in the directory: lib/plugin
control_vnf=openflow
# Path to your control application's binary.
#
# E.g., in case of openflow, the path to "ovs-ofctl"
control_path=/usr/bin/ovs-ofctl
# Additional arguments to control_path, for instance, OpenFlow
# version, i.e., -O OpenFlow13. Can be empty.
control_args=-O OpenFlow13
# Input Port ID for metadata substitution.
#
# NFPA substitutes metadata in openflow rules before sending them to
# the VNF. E.g., <INPORT1> and <OUTPORT2> are replaced with the
# values of 'control_vnf_inport' and 'control_vnf_outport',
# respectively. If 'biDir' is set, <INPORT2> and <OUTPORT1> is
# substituted as well. Cannot be empty.
control_vnf_inport=1
# Output port ID for metadata substitution.
control_vnf_outport=IN_PORT
# Connection management info to reach the VNF.
#
# If 'control_vnf' is openflow, then NFPA excepts an already running
# OVS instance with a passive tcp control channel. Once OVS is
# running, the following command adjusts the control channel:
# ovs-vsctl set-controller ptcp:6634
control_mgmt=tcp:192.168.22.2:6634
### ================================================== ###
### --- Traffic Generating/PktGen Related Settings --- ###
#Define the desired packet sizes to be used. Note that in case
#of User defined synthetic traffic traces (traces that do not
#exists originally in NFPA's PCAP repository), PCAP files need
#to be existed in PCAP directory under NFPA's main root with
#the following naming convention: nfpa.[your_special_name].[packetsize]bytes.pcap,
#for instance, nfpa.mySynthetic.64bytes.pcap. If you edit the
#config file manually, use numerous packetSize= lines if multiple
#packetSizes are needed to be used.
packetSize=64
packetSize=128
packetSize=256
packetSize=512
packetSize=1024
packetSize=1280
packetSize=1500
#Define here the desired syntethic traffic traces. Note that
#in case of User defined synthetic traffic traces (traces that
#do not exists originally in NFPA's PCAP directory under NFPA's
#main root with the following naming convention: nfpa.[your_special_name].[packetsize]bytes.pcap,
#for instance, nfpa.mySynthetic.64bytes.pcap. If two traffic
#types are separated via 1 'PIPE (|)' then two different pcaps
#could be loaded to the two ports, so bidirectional measurement
#will be done. For this traffic type irrespectively whether
#the latterbidirectional property is 1 or 0. On the other hand,
#biDir property works the same as it worked for other traffic
#types. Similarly to packetSize, if you edit the config file
#manually, use numerous trafficType= lines if multiple trafficTypes
#are need to be used.
trafficType=LB_ACL_1
trafficType=LB_ACL_10
trafficType=LB_ACL_100
trafficType=LB_ACL_1000
trafficType=LB_ACL_10000
trafficType=LB_ACL_100000
#Set here your special realistic traffic trace, e.g., WIFI.
#NFPA will search for a pcap file in MAIN_ROOT/PCAP folder named
#nfpa.WIFI.pcap! So, name your pcap properly! Since realistic
#traces are not restricted to one and only packet size, this
#setting is not related to the above-set Packet Sizes property.
#Similarly to packetSize, if you edit the config file manually,
#use numerous realisticTraffic= lines if multiple trafficTypes
#are need to be used.
#realisticTraffic=
#Desired number of measurements. Pktgen will be started 'measurement_num'
#times per trafficTypes per packetSize. If not sure, use
#2!
measurement_num=2
#Time in seconds one measurement lasts, For instance, 30 means
#that traffic will be generated for 20 seconds for each pre-set
#packet sizes, or even 30 seconds long will be the pcap-files
#replayed (in case of synthetic or realistic traffic traces).
#If not sure, use 30! Use 0 to indicate an infinite, never ending
#measurement for running in the background. In this case, measurement_num
#argument has no meaning
measurementDuration=30
#The port desired to be used for sending. In case of bidirectional
#measurement, the word 'send' has no meaning, it is only for
#identifying the ports. If not sure, use 0!
sendPort=0
#The port desired to be used for receiving. In case of bidirectional
#measurement, the word 'receive' has no meaning, it is only
#for identifying the ports. If not sure, use 1!
recvPort=0
#Set this to 1 for bi-directional (duplex) measurement, or set
#it to 0 for uni-directional scenario (simplex).
biDir=0
### ================================================== ###