Flent: The Flexible Network Tester
This is the companion website to the paper “Flent: The Flexible Network Tester“ by Toke Høiland-Jørgensen, Carlo Augusto Grazia, Per Hurtig and Anna Brunstrom, which will be presented at ValueTools 2017. The paper presents Flent, a tool for easily running network experiments.
Test data
The full dataset from our experiments is available in the files below:
- flent-paper-data.tar.gz (3.4 GiB, sha256sum 212ae676ab8a56d0cf4b4351a2ac84c2798e5b1e3d886b5087b5b1a9c9d611b1)
This file contains the log files and Flent data files generated in the experiments described in the paper. The data files can be explored with the Flent GUI tool.
Replicating our experiments
Our experiments can be replicated using Flent version 1.1 or newer. The
flent-paper.batch
file included with the Flent source code was used to
generate the over-the-internet dataset and can be reused as-is. The
contents of this file is also available below, stripped of comments. To
run the testbed experiments, the batch file needs to be adjusted
accordingly, which will depend on the exact makeup of the testbed.
Anyone interested in replicating the testbed setup is welcome to contact
us (contact details below) for help in setting up an appropriate testbed.
[Command::setup_qdisc]
exec = ./setup_qdisc.sh ${qdisc}
type = pre
essential = yes
[Batch::global]
extended_metadata = yes
socket_stats = yes
debug_error = yes
debug_log = yes
title = ${batch_title} qdisc:${qdisc} cc:${cc} rep:${repetition}
output_path = batch-${batch_time}-${batch_title}/${batch_name}
ip_version = 4
length = 140
hosts = netperf-eu.bufferbloat.net
test_parameters= tcp_cong_control=${cc};
filename_extra = ${qdisc}-${cc}-${repetition}
commands = setup_qdisc
repetitions = 1
pause = 5
abstract = yes
batch_title = untitled
qdisc = fq
for_cc = cubic, cubic_nopacing, bbr
[Batch::tcp-upload]
inherits = global
test_name = tcp_1up_noping
disabled = no
[Batch::rrul]
inherits = global
test_name = rrul
disabled = no
[Arg::cubic_nopacing]
cc = cubic
qdisc = fq_codel
hosts = vlan820-28.cs.kau.se
[Arg::cubic]
cc = cubic
[Arg::bbr]
cc = bbr
The setup_qdisc.sh
script used to install the right qdisc at the
beginning of each test run is listed below; the user running Flent needs
sudo access to run the commands without supplying a password.
#!/bin/sh
set -o errexit
set -o nounset
IFACE=enp5s0
QDISC=$1
sudo ethtool -K $IFACE gso off tso off gro off
sudo sysctl -w net.ipv4.tcp_no_metrics_save=1
sudo tc qdisc replace dev $IFACE root $QDISC
Contact
This page written and maintained by Toke Høiland-Jørgensen. Questions, comments, etc. are very welcome on toke DOT hoiland-jorgensen AT kau DOT se.