... | ... | @@ -20,24 +20,7 @@ In order to be able to compile P4 code, run it in a software switch and create v |
|
|
- [*FRRouting*](https://frrouting.org/) is a free and open source Internet routing protocol suite for Linux and Unix platforms. It implements BGP, OSPF, RIP, IS-IS, PIM, LDP, BFD, Babel, PBR, OpenFabric and VRRP, with alpha support for EIGRP and NHRP. Router nodes in *P4-Utils* are based on *FRRouting*. It is not required for topologies without routers.
|
|
|
- [*P4-Utils*](https://github.com/nsg-ethz/p4-utils) is an extension to *Mininet* that supports P4 devices. It was strongly inspired by the original [*p4app*](https://github.com/p4lang/p4app) from the [p4lang](https://github.com/p4lang) repository.
|
|
|
|
|
|
Since the installation process can be a bit tedious and cumbersome, we provide you with a [virtual machine](#virtual-machine-vm) with all the required components already installed.
|
|
|
|
|
|
> **Important**
|
|
|
> Some exercises or examples will only work (due to bug fixes) if you use the same version of BMv2 and P4C that we provide. See the following [installation](https://github.com/nsg-ethz/p4-learning/blob/junota/vm/bin/install-p4-tools.sh) script and use the same `commits`.
|
|
|
|
|
|
## Virtual Machine (VM)
|
|
|
|
|
|
If you build the VM from the vagrant script we provide or directly download the OVA package you will have *P4-Utils* already installed, however if you already have the required software and use your own machine/VM you can manally install it:
|
|
|
> Some exercises or examples will only work (due to bug fixes) if you use the same version of BMv2 and P4C that we provide. Take a look at this [installation script](https://github.com/nsg-ethz/p4-learning/blob/junota/vm/bin/install-p4-tools.sh) and make sure you use the same `commits`.
|
|
|
|
|
|
```bash
|
|
|
git clone https://github.com/nsg-ethz/p4-utils.git
|
|
|
cd p4-utils
|
|
|
sudo ./install.sh
|
|
|
```
|
|
|
|
|
|
To update you just simply run:
|
|
|
|
|
|
```bash
|
|
|
cd /home/p4/p4-tools/p4-utils
|
|
|
git pull
|
|
|
``` |
|
|
\ No newline at end of file |
|
|
**Since the installation process can be a bit tedious and cumbersome, please check out the [*P4-Utils* installation guide](https://nsg-ethz.github.io/p4-utils/installation.html)**. Indeed, since *P4-Learning* is simply a compilation of examples and exercises for *P4-Utils*, their software requirements are the same. You can choose among different ways of installing the *P4-Tools* suite (including *P4-Learning* and *P4-Utils*). |
|
|
\ No newline at end of file |