This scenario allows to create several traffics, to schedule and launch them with OpenBACH. The four traffics available are:
|voip||VoIP traffic||voip_qoe_src, voip_qoe_dest|
|dash||DASH video transfer||dash player&server, dash client|
|web_browsing||Web browsing||apache2, web_browsing_qoe|
The description of each traffic to be launched has to be put in an extra_args file, which will be described in the next section. This scenario can be found here.
You can launch the service scenario with the following command:
python3 generate_service_traffic.py -o -p your_project --extra_args_traffic path_to_traffic_args_file --entity_pp your_entity run
This file contains all the information needed to generate the traffics. It is composed of several lines, one per traffic. Each line can be split into 2 parts: first the arguments common to all the traffics, then the arguments linked to the traffic declared in this line. An example can be found here.
The first part must be formatted as follows:
id traffic_type src_entity dst_entity duration wait_launched wait_finished wait_delay src_ip dst_ip
Here is a description of each element:
For example, if we enter the following line, assuming traffics with id 1, 2 and 3 have already been declared in the file:
4 dash src_node dst_node 60 3 1-2 10 192.168.1.1 192.168.1.2
This line says: launch a DASH traffic (with id=4) between src_node (whose address is 192.168.1.1) and dst_node (whose address is 192.168.1.2), during 60 seconds. This traffic will be launched 10 seconds after 1 and 2 are finished and 3 is launched.
The second part of the line depends on the traffic chosen, and is described in the following table.
|Traffic||Arguments format||Warnings and additional information|
|voip||dst_port codecs||Actually it is impossible to launch simultaneously to VoIP traffics. Codecs available are G.711.1, G.711.2, G.723.1, G.729.2 and G.729.3|
|dash||protocol||Protocol value is http/1.1 or http/2|
|web_browsing||nb_runs nb_parallel_runs||Do not forget to edit the config file with correct address to fetch in the installation folder of the job (/opt/openbach/agent/jobs/web_browsing_qoe)|
|data_transfer||dst_port file_size tos mtu||If file_size is 0, the transfer will last duration seconds. Otherwise, it will transfer file_size bytes, regardless of the duration|
Any traffic not correctly formatted will be ignored.
The scenario returns the metrics generated by the exploited jobs as a raw csv file. time_series and histograms plots are generated: