RARE (Router for Academia, Research & Education) is an ongoing effort under the GÉANT 4th programme which focus 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: RARE uses FreeRouter under the hood used as the control plane component
- data plane: (not only P4)
P4behavioural language is used to describe the packet processing behaviour of RARE data plane
- and communication interface between the control plane and data plane: Interface compliant to P4Runtime specification ensure this function
A key part of the work consists in enabling a control plane software to pilot a data plane via a programmatic interface.
- Software interface that maps the forwarding state used by a an Open source control plane (FreeRouter)
- to programmable data plane running RARE software
P4 is an example of language proposing an interface that allows data plane programmability.
P4 core language attempts to be as much as possible independent from the target or Programmable Switching ASIC processor architecture. However architecture dependance is still prominent. Code adjustments followed by a target specific compilation is necessary if you want to run your p4 program on a specific architecture.