Skip to content
Router for Academia, Research & Education
P4 Python Shell Makefile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


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.

Repository structure (Work in progress ...)

├── 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/tutorial
  • resources folder includes resources such as images used in this repository
  • unit-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

Project partners

RARE is a GÉANT project with the following partners


All materials here inherit from several P4Lang public resources:

You can’t perform that action at this time.