RARE (Router for Academia, Research & Education) focus is on determining if a routing software platform solution can fit R&E use cases. The project aims to integrate different pieces of software related to these building blocks:
- control plane
- data plane
- and communication between the control plane and data plane
A key part of the work consists in enabling a control plane software to pilot a data plane via a programmatic interface. P4 is such a language proposing an interface that allows data plane programmability. P4 core language try to be as much as possibble independent from the target or NPU processor architecture. Though architecture dependance is still prominent.
Using P4 language leverages several existing software components. A feature rich dataplane software switch written in P4 is already available; communication between the control plane and data plane is also already part of the specification standard.
./RARE/
├── 00-unit-labs
├── 01-P-labs
├── 02-PE-labs
├── 03-IX-labs
├── 04-DC-labs
├── 05-SR-labs
├── include
├── resources
└── utils
utils
folder includes tools derived from P4Lang/tutorialresources
folder includes resources such as images used in this repositoryunit-labs
includes all the standalone labs meant to test specific P4 features<USE-CASE>-labs
include the whole set of labs organized in layer meant to elaborate the use case. These labs are organized in layers. Each layer[n] is built on top of layer [n-1]`
These <USE-CASE>-labs
are work in progress and each project participant can indepently tackle the use case of their interest.
Dependencies for various Ubuntu versions can be found along with a ppa repos at Launchpad
RARE is a GÉANT project with the following partners
All materials here inherit from several P4Lang public resources:
- Csaba Mate for his excellent FreeRTR
- P4Lang project resources
- Andy Fingerhut P4 guides
- P4Lang material from ETH Zurich / Advanced Topics in Communication Networks lecture
- Kevin Cyu
- And others that I may have forgotten ...