This repository is the entry point for the artefacts of the paper "oFIQUIC: Leveraging QUIC in OSPF for seamless network topology changes" presented at IFIP Networking'24.
Code artefacts are encoded as git submodules towards the exact version of the code used for the paper. Raw data are stored on the UCLouvain dataverse and should be downloaded separately.
First, clone it from GitHub:
$ git clone https://github.com/nrybowski/ofiquic-artefactsThen pull the submodules with:
$ git submodule update --init --recursiveThe remaining of this document is divided in two parts: (i) a description of the different parts of the oFIQUIC prototype and (ii) the experimental part described in the paper.
The oFIQUIC prototype is composed of multiple sub-projects.
This modules computes the ordered list of distant nodes to contact.
Please, refer to the related README for more details.
I would like to thank Thomas Wirtgen for making QUIC available in the BIRD protocol suite
This submodule contains the actual implementation of oFIQUIC in the BIRD implementation of OSPF.
We provide a container embedding the required libraries to build our oFIQUIC prototype. First, build the container:
$ docker build -t ofiquic-builder -f build.cf .Then, use the container to build the prototype:
$ docker run -v $(pwd):/build -w /build ofiquic-builder:latest bash build.shThis will produce the oFIQUIC binary at ofiquic-bird/bird.
This section of the artefacts describes the tools and raw data related to the experiments discussed in the paper.
We evaluate our oFIQUIC prototype on multiple network topologies. Manually setting up various topologies and running experiments are tedious tasks. To lower this overhead, we developed two different tools: (i) DUNE, a framework to orchestrate reproducible network emulation experiments and (ii) mpf, a framework automating the execution of the experiments.
This is a custom orchestration framework aimed at providing more reproducible emulation experiments.
Refer to the related README for more details.
We use a slightly modified version of the original mpf tool.
Refer to the related README for more details.
The experiments directory contains the various helper scripts required to configure the experimental setup, run the experiments, collect and parse the raw results, and generate the figures of the paper.
Refer to the related README for more details.
Raw data of the different experiments described in the paper are available as a zip archive on the UCLouvain dataverse. This archive also contains the results of intermediate processing stages of the raw data as described in the README of the experiment scripts.