This page provides instructions to exploit
network_configure_link scenario written using scenario_builder. This scenario relies on the OpenBACH jobs tc_configure_link which uses Linux Traffic Control (tc) with Network Emulation (netem) to emulate a network link or simulate networking conditions like WIFI, 4G. Many link characteristiscs can be emulated including:
You must already have a project (i.e. “your_project”), one entity in the project (i.e. “your_entity”), with the following jobs installed on this entity: configure_link.
The executors script executor_network_configure_link will allow to launch it as follows.
python3 executor_network_configure_link.py your_project --entity your_entity --ifaces comma_separed_net_interfaces --mode targeted_direction --operation apply --bandwidth bw_value --lm loss_model --lmp loss_model_parameters --dd delay_distribution --delay delay --jitter inter_packet_delay run
Alternatively, it can create a JSON file that could be imported to the OpenBACH web interface:
python3 executor_network_configure_link.py your_project --entity your_entity ---ifaces comma_separed_net_interfaces --mode targeted_direction --operation apply --bandwidth bw_value --lm loss_model --lmp loss_model_parameters --dd delay_distribution --delay delay --jitter inter_packet_delay build .
You can make a parameter as an argument of generated scenario, just by specifying its value starting with '$'.
This script includes a manual page listing all of the command-line options. Issue following commands for more information about paramaters
python3 executor_network_configure_link.py -h
This scenario can be used as module (or building block) to build more complex scenarios. Here is a scenario allowing to launch service_data_transfer under various network conditions (in terms of delay/bandwidth/losses).
The following examples can be used as reference network conditions :
Satellite Broadband (ent-to-end) :
The path characteristics are taken from the following sources :
The generation of data and the exploitation of the configure link scenario on the same host can result in non-expected behaviour. It is recommended to isolate the hosts that generate data and the host that emulate bandwidth or latency limitations.