The goal of this tutorial is to teach you the basics of P4, P4Runtime, and ONOS. It is targetted to beginners who have little or no knowledge of the P4 language and would like to learn more using ONOS as the control plane. It includes hands-on exercises where you will learn how to create an emulated network of P4 devices using Mininet and BMv2 (the reference P4 software switch) controlled by ONOS via P4Runtime, while using a simple P4 program implementing a custom tunneling protocol named "MyTunnel".
Advanced ONOS+P4 Tutorial
If you already have intermediate knowledge of the P4 language and you would like to learn more about using ONOS for more realistic networking applications, we suggest you use this tutorial:
Download the tutorial VM
While you go through the slides, it is a good idea to start downloading the VM (~4 GB):
I want more!
Here are some pointers for you to learn more about P4 and ONOS:
- Basic ONOS Tutorial: learn more about ONOS
- Official P4 language tutorials: learn more about the P4 language
- Advanced ONOS+P4 Tutorial: use ONOS and P4 for more realistic networking applications while building an SRv6-enabled leaf-fabric from scratch
- Trellis+P4 tutorial: use Trellis, the built-in set of fabric apps in ONOS, with an existing P4 program (fabric.p4) and learn more about advanced use-cases such as VNF offloading of mobile S/PGW