This repository comes from lectures on advanced topics in communication networks at TU dresden. If you would like more information, please visit our course website.
@TODO
If you already have the required software and you want to solve the exercises, run the examples or simply download the content, get a local copy of this repository on your machine:
git clone https://github.com/HapCommSys/ComNets2-Hands-on.git
We will periodically add new content to this repository (especially documentation and new examples), so make sure to check it regularly or git pull it from your machine.
If you are starting this tutorial at one of the proctored tutorial events, then we've already provided you with a virtual machine (vagrant@comnetsemu) that has some of the required software installed. Ask an instructor for a USB stick with the VM image, or build the virtual machine from the Vagrantfile by yourself.
- Vagrant
- VirtualBox
- At least 12 GB of free disk space, otherwise the installation can fail in unpredictable ways.
This test depends on the following software that needs to be installed before any exercises or examples can be run. Please install it with scripts (in dir ./utils) on your device before running the examples or exercises.
The utils file directory contains the scripts required for installation. In order to facilitate the experiment, binary installation is used. It should be noted that bmv2 will install an official build version and an unofficial version. The unofficial version will be used in the experiment. It is added New features (single Egress allows multiple queues), and use the built *.deb package to install.
-
Run with
./install_p4_utils.sh, this will install thep4lang-bmv2,p4lang-p4candp4lang-piautomaticly. The install dir will be/usr/bin/p4c, if you have already install that by yourself, please notice whichtoolsyou are using. -
Run with
./install_bmv2_dev.sh, this can install thebmv2(with open the multi-queue for one egress port feature.), PS: this*.debonly suit forxUbuntu_20.04. -
Get the examples with
./get_src_test.sh, will download the examples. The dir will beexamples/p4-demos.-
ip-routing
This demo shows how to implement a basic IP routers with static routing entries using P4, BMv2 and Mininet. In this exercise, you'll learn the basic IPv4 packet forwarding and routring using P4. The switch will forwarding packets based on predefined rules. -
ip-routing-pro
A complex demo with ip-routing./small>
-
TODO
- P4-Open-Source-Programming-Language
- ComNetsEmu
- mininet
- tutorials from p4lang.
- p4-learning from Networked Systems Group (NSG), a research group in Computer Networks at ETH Zürich.
- https://github.com/nsg-ethz/p4-utils from NSG.
- p4-demos from Tomasz Osiński.