Skip to content

GitLab

  • Menu
Projects Groups Snippets
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in / Register
  • P p4-learning
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Packages & Registries
    • Packages & Registries
    • Package Registry
    • Infrastructure Registry
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • p4git
  • p4-learning
  • Wiki
  • Getting Started

Getting Started · Changes

Page history
Updated Getting Started (markdown) authored Sep 01, 2021 by Jurij Nota's avatar Jurij Nota
Hide whitespace changes
Inline Side-by-side
Showing with 2 additions and 19 deletions
+2 -19
  • Getting-Started.md Getting-Started.md +2 -19
  • No files found.
Getting-Started.md
View page @ 47738e7d
......@@ -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:
```bash
git clone https://github.com/nsg-ethz/p4-utils.git
cd p4-utils
sudo ./install.sh
```
> 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`.
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
Clone repository

P4-Learning Documentation

  • Getting Started
  • Migrate to the new version
  • BMv2 Simple Switch
  • Control Plane
  • Debugging and Troubleshooting
  • Scapy
  • FAQ

沪ICP备19002739号