Programmable networks project for M2 study at the University of Strasbourg.
The project has been tested on a virtual machine QEMU provided by p4.
Before starting, it is necessary to patch this virtual machine with the following script:
cd patch
./patch.sh
The project requires many python libraries. To install them, you can use the following command:
sudo pip install -r requirements.txt
You need to install it as root because all the python programs are launched with sudo.
To start the project, you first need to start the "physical" network with :
sudo python phyNet.py --<light|medium|complex> --layer <2|3>
The
--layer
option allows you to choose the layer of the network (layer 2 or 3). The--<light|medium|complex>
option allows you to choose the topology of the network corresponding to the predefined topologies (light, medium or complex).
After that, you can start the "logical" network with :
sudo python logiNet.py --input <input_file>
The
--input
option allows you to choose the input file of the logical network corresponding to the predefined input files in thetopology
folder.
Other options are available:
Option | Description |
---|---|
--no-compile |
Do not compile the p4 program |
--compile <p4_program> |
Compile the p4 program only |
--no-cli |
Do not start the API CLI |
It will also start the API CLI. You can see the available commands with help
.
- The traceroute is available in TCP using the
--layer 3
option only.