"Yet another routing/forwarding network stack ... made by network engineers ..."
Overview
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.
Resulting work
- 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.
Note
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.
RARE project includes the following partners under GÉANT GN4-3 programme
Getting started
Select and install a P4 data-plane target platform architecture
Install FreeRouter control-plane
Install RARE software
Build & Run RARE software
Documentation
- Original control plane self-test page: FreeRouter Self-test
- RARE/FreeRtr comprehensive configuration guide: RARE/FreeRtr documentation site
- INTEL/BXD manual TOFINO WEDGE100BF32X installation guide (courtesy of INTEL/BXD approval for publication)
Control plane
FreeRouter
FreeRouter is a free, open source router os process. It speaks routing protocols, and (re)encapsulates packets on interfaces (a huge list of encapsulation and routing test cases can be found under self-test page) since it handles packets itself, it is independent of underlaying os capabilities (optionally, it can export forwarding tables through openflow or p4 to external switch) since it is an unprivilegized process, it receives and sends packets through sockets there are external, privileged processes that place traffic to these sockets (it means that internet can be used as backplane for router processes) the command line tries to mimic the industry standards with one exception: no global routing table: every routed interface must be in a virtual routing table positive side effect: there are no vrf-awareness questions
This control plane supports a tremendous amount of features, in addition FreeRouter lead developer is part of the RARE team, which dramatically increases development effort related to control Plane/data plane interface communication.
Your own custom control plane
You can adapt your own control plane as soon as it is compliant to RARE dataplane P4 interface. It is recommended though to use FreeRouter as it was built and test against it. RARE P4 data plane interface will be published subsequently. For the brave one or people who are in a hurry, just look at bf_forwarder message loop.
Dataplane: P4 targets
- BMv2
BMv2 is the open source P4 switch developed and maintained by the P4Lang p4.org group. It can be downloaded here. It uses the V1Model P4 Switch Architecture depicted below:
- TOFINO target
Similar to BMv2, TOFINO uses the PSA - Portable Switch Architecture. However, while BMv2 is a P4 virtual software switch TOFINO (and his older brother TOFINO 2) is a network processor able to switch packet at tremendous line rate.
While BMv2 is an excellent alternative to learn and develop P4 algorithm, TOFINO & TOFINO 2 open the gate to exciting use cases in real production environment.
More information can be found here.
Software for TOFINO Programmable Switching ASIC is subject to a Software License and Confidentiality Agreement (SLACA)
If you are an R&E organization please submit an application via INTEL/BAREFOOT FASTER portal
- FPGA target
Porting RARE on FPGA is an on-going effort, this target is perfect for enabling RARE/FreeRouter on FPGA card that are produced massively and thus present a very interesting TCO.
- DPDK target
P4 hardware target like TOFINO enable LSR/LER use cases. But in certain context, acquiring P4 hardware for SOHO use cases (primary/secondary schools, small R&E instituions) is financially not possible. In that context, we propose a solution that leverage existing kernel bypass machanism such as DPDK. The resulting work is the creation of p4dpdk which is inherently an emulation of RARE software running on P4 target but written entirely from scratch in C code.
Current status
All the features mentioned below are IPv4/IPv6 compliant. As the project is an on-going work in-progress, the documentation can not reflect all the supported features. The below list is not exhaustive. Please do not hesitate to contact us for more details.
Dataplane specific feature list
Type | Test # | Name |
|
|
|
|
---|---|---|---|---|---|---|
acl | copp |
|
|
|
|
|
acl | ingress access list |
|
|
|
|
|
acl | egress access list |
|
|
|
|
|
acl | nat |
|
|
|
|
|
acl | vlan ingress access list |
|
|
|
|
|
acl | vlan egress access list |
|
|
|
|
|
acl | bundle ingress access list |
|
|
|
|
|
acl | bundle egress access list |
|
|
|
|
|
acl | bundle vlan ingress access list |
|
|
|
|
|
acl | bundle vlan egress access list |
|
|
|
|
|
acl | bridge ingress access list |
|
|
|
|
|
acl | bridge egress access list |
|
|
|
|
|
acl | vlan bridge ingress access list |
|
|
|
|
|
acl | vlan bridge egress access list |
|
|
|
|
|
acl | ingress pppoe access list |
|
|
|
|
|
acl | egress pppoe access list |
|
|
|
|
|
acl | ingress vlan pppoe access list |
|
|
|
|
|
acl | egress vlan pppoe access list |
|
|
|
|
|
acl | hairpin ingress access list |
|
|
|
|
|
acl | hairpin egress access list |
|
|
|
|
|
acl | hairpin vlan ingress access list |
|
|
|
|
|
acl | hairpin vlan egress access list |
|
|
|
|
|
acl | hairpin pppoe ingress access list |
|
|
|
|
|
acl | hairpin pppoe egress access list |
|
|
|
|
|
acl | hairpin vlan pppoe ingress access list |
|
|
|
|
|
acl | hairpin vlan pppoe egress access list |
|
|
|
|
|
acl | ingress gre access list |
|
|
|
|
|
acl | egress gre access list |
|
|
|
|
|
acl | ingress vlan gre access list |
|
|
|
|
|
acl | egress vlan gre access list |
|
|
|
|
|
acl | ingress l2tp access list |
|
|
|
|
|
acl | egress l2tp access list |
|
|
|
|
|
acl | ingress vlan l2tp access list |
|
|
|
|
|
acl | egress vlan l2tp access list |
|
|
|
|
|
acl | ingress ipip access list |
|
|
|
|
|
acl | egress ipip access list |
|
|
|
|
|
acl | ingress vlan ipip access list |
|
|
|
|
|
acl | egress vlan ipip access list |
|
|
|
|
|
acl | ingress common access list |
|
|
|
|
|
acl | egress common access list |
|
|
|
|
|
acl | ingress hybrid access list |
|
|
|
|
|
acl | egress hybrid access list |
|
|
|
|
|
acl | ingress hierarchical access list |
|
|
|
|
|
acl | egress hierarchical access list |
|
|
|
|
|
acl | ingress policer |
|
|
|
|
|
acl | egress policer |
|
|
|
|
|
acl | vlan ingress policer |
|
|
|
|
|
acl | vlan egress policer |
|
|
|
|
|
acl | transmit flowspec |
|
|
|
|
|
acl | drop flowspec |
|
|
|
|
|
acl | policer flowspec |
|
|
|
|
|
acl | priority flowspec |
|
|
|
|
|
acl | ingress amt access list |
|
|
|
|
|
acl | egress amt access list |
|
|
|
|
|
acl | ingress reflexive access list |
|
|
|
|
|
acl | egress reflexive access list |
|
|
|
|
|
acl | interface inspection with egress drop |
|
|
|
|
|
acl | interface inspection with ingress drop |
|
|
|
|
|
acl | vlan interface inspection with egress drop |
|
|
|
|
|
acl | vlan interface inspection with ingress drop |
|
|
|
|
|
acl | bridge interface inspection with ingress drop |
|
|
|
|
|
acl | bridge interface inspection with egress drop |
|
|
|
|
|
acl | pppoe interface inspection with ingress drop |
|
|
|
|
|
acl | pppoe interface inspection with egress drop |
|
|
|
|
|
acl | gre interface inspection with ingress drop |
|
|
|
|
|
acl | gre interface inspection with egress drop |
|
|
|
|
|
acl | l2tp interface inspection with ingress drop |
|
|
|
|
|
acl | l2tp interface inspection with egress drop |
|
|
|
|
|
acl | interface verify source |
|
|
|
|
|
acl | vlan interface verify source |
|
|
|
|
|
acl | bridge interface verify source |
|
|
|
|
|
acl | pppoe interface verify source |
|
|
|
|
|
acl | gre interface verify source |
|
|
|
|
|
acl | l2tp interface verify source |
|
|
|
|
|
acl | interface loose verify source |
|
|
|
|
|
acl | vlan interface loose verify source |
|
|
|
|
|
acl | bridge interface loose verify source |
|
|
|
|
|
acl | pppoe interface loose verify source |
|
|
|
|
|
acl | gre interface loose verify source |
|
|
|
|
|
acl | l2tp interface loose verify source |
|
|
|
|
|
acl | ingress gtp access list |
|
|
|
|
|
acl | egress gtp access list |
|
|
|
|
|
crypt | macsec with des |
|
|
|
|
|
crypt | macsec with 3des |
|
|
|
|
|
crypt | macsec with aes128cbc |
|
|
|
|
|
crypt | macsec with aes192cbc |
|
|
|
|
|
crypt | macsec with aes256cbc |
|
|
|
|
|
crypt | macsec with md5 |
|
|
|
|
|
crypt | macsec with sha1 |
|
|
|
|
|
crypt | macsec with sha256 |
|
|
|
|
|
crypt | macsec with sha512 |
|
|
|
|
|
crypt | macsec over ethernet |
|
|
|
|
|
crypt | macsec over vlan |
|
|
|
|
|
crypt | macsec over bundle vlan |
|
|
|
|
|
crypt | macsec over gre |
|
|
|
|
|
crypt | macsec over pppoe |
|
|
|
|
|
crypt | macsec over l2tp |
|
|
|
|
|
crypt | macsec over hairpin |
|
|
|
|
|
crypt | macsec ingress access list |
|
|
|
|
|
crypt | macsec egress access list |
|
|
|
|
|
crypt | macsec vlan ingress access list |
|
|
|
|
|
crypt | macsec vlan egress access list |
|
|
|
|
|
crypt | ipsec with des |
|
|
|
|
|
crypt | ipsec with 3des |
|
|
|
|
|
crypt | ipsec with aes128cbc |
|
|
|
|
|
crypt | ipsec with aes192cbc |
|
|
|
|
|
crypt | ipsec with aes256cbc |
|
|
|
|
|
crypt | ipsec with md5 |
|
|
|
|
|
crypt | ipsec with sha1 |
|
|
|
|
|
crypt | ipsec with sha256 |
|
|
|
|
|
crypt | ipsec with sha512 |
|
|
|
|
|
crypt | ipv4 over ipsec |
|
|
|
|
|
crypt | ipv6 over ipsec |
|
|
|
|
|
crypt | ipsec over ipv4 |
|
|
|
|
|
crypt | ipsec over ipv6 |
|
|
|
|
|
crypt | ipsec over ipv4 loopback |
|
|
|
|
|
crypt | ipsec over ipv6 loopback |
|
|
|
|
|
crypt | ipsec over vlan |
|
|
|
|
|
crypt | ipv4 over ipsec with ingress access list |
|
|
|
|
|
crypt | ipv4 over ipsec with egress access list |
|
|
|
|
|
crypt | ipv6 over ipsec with ingress access list |
|
|
|
|
|
crypt | ipv6 over ipsec with egress access list |
|
|
|
|
|
crypt | ipsec with ike1 |
|
|
|
|
|
crypt | ipsec with ike2 |
|
|
|
|
|
crypt | openvpn with des |
|
|
|
|
|
crypt | openvpn with 3des |
|
|
|
|
|
crypt | openvpn with aes128cbc |
|
|
|
|
|
crypt | openvpn with aes192cbc |
|
|
|
|
|
crypt | openvpn with aes256cbc |
|
|
|
|
|
crypt | openvpn with md5 |
|
|
|
|
|
crypt | openvpn with sha1 |
|
|
|
|
|
crypt | openvpn with sha256 |
|
|
|
|
|
crypt | openvpn with sha512 |
|
|
|
|
|
crypt | openvpn over ipv4 |
|
|
|
|
|
crypt | openvpn over ipv6 |
|
|
|
|
|
crypt | openvpn over ipv4 loopback |
|
|
|
|
|
crypt | openvpn over ipv6 loopback |
|
|
|
|
|
crypt | openvpn over asymmetric ports |
|
|
|
|
|
crypt | openvpn with ingress access list |
|
|
|
|
|
crypt | openvpn with egress access list |
|
|
|
|
|
crypt | wireguard over ipv4 |
|
|
|
|
|
crypt | wireguard over ipv6 |
|
|
|
|
|
crypt | wireguard over ipv4 loopback |
|
|
|
|
|
crypt | wireguard over ipv6 loopback |
|
|
|
|
|
crypt | wireguard over vlan |
|
|
|
|
|
crypt | wireguard over asymmetric ports |
|
|
|
|
|
crypt | wireguard with ingress access list |
|
|
|
|
|
crypt | wireguard with egress access list |
|
|
|
|
|
crypt | multicast routing over macsec |
|
|
|
|
|
crypt | multicast routing over vlan macsec |
|
|
|
|
|
crypt | replay window with openvpn |
|
|
|
|
|
crypt | replay window with wireguard |
|
|
|
|
|
crypt | openvpn with aes128cfb |
|
|
|
|
|
crypt | openvpn with aes192cfb |
|
|
|
|
|
crypt | openvpn with aes256cfb |
|
|
|
|
|
crypt | openvpn with aes128ecb |
|
|
|
|
|
crypt | openvpn with aes192ecb |
|
|
|
|
|
crypt | openvpn with aes256ecb |
|
|
|
|
|
crypt | openvpn with sha224 |
|
|
|
|
|
crypt | openvpn with sha384 |
|
|
|
|
|
crypt | macsec with aes128cfb |
|
|
|
|
|
crypt | macsec with aes192cfb |
|
|
|
|
|
crypt | macsec with aes256cfb |
|
|
|
|
|
crypt | macsec with aes128ecb |
|
|
|
|
|
crypt | macsec with aes192ecb |
|
|
|
|
|
crypt | macsec with aes256ecb |
|
|
|
|
|
crypt | macsec with sha224 |
|
|
|
|
|
crypt | macsec with sha384 |
|
|
|
|
|
crypt | openvpn with none encryption |
|
|
|
|
|
crypt | openvpn with none hash |
|
|
|
|
|
crypt | macsec with none encryption |
|
|
|
|
|
crypt | macsec with none hash |
|
|
|
|
|
crypt | macsec with aes128gcm and hash |
|
|
|
|
|
crypt | macsec with aes192gcm and hash |
|
|
|
|
|
crypt | macsec with aes256gcm and hash |
|
|
|
|
|
crypt | macsec with aes128gcm and aead |
|
|
|
|
|
crypt | macsec with aes192gcm and aead |
|
|
|
|
|
crypt | macsec with aes256gcm and aead |
|
|
|
|
|
crypt | sgt over ethernet |
|
|
|
|
|
crypt | sgt over vlan |
|
|
|
|
|
crypt | sgt over gre |
|
|
|
|
|
crypt | sgt over pppoe |
|
|
|
|
|
crypt | sgt over l2tp |
|
|
|
|
|
crypt | sgt over hairpin |
|
|
|
|
|
crypt | sgt over macsec over ethernet |
|
|
|
|
|
crypt | sgt over macsec over vlan |
|
|
|
|
|
crypt | sgt ingress access list |
|
|
|
|
|
crypt | sgt egress access list |
|
|
|
|
|
crypt | sgt vlan ingress access list |
|
|
|
|
|
crypt | sgt vlan egress access list |
|
|
|
|
|
rout | routing |
|
|
|
|
|
rout | bridging |
|
|
|
|
|
rout | mpls core |
|
|
|
|
|
rout | mpls edge |
|
|
|
|
|
rout | vlan routing |
|
|
|
|
|
rout | vlan bridging |
|
|
|
|
|
rout | vlan mpls |
|
|
|
|
|
rout | vpn with bgp |
|
|
|
|
|
rout | vpls/ldp with bgp |
|
|
|
|
|
rout | evpn/cmac with bgp |
|
|
|
|
|
rout | eompls |
|
|
|
|
|
rout | vpn with bgp over srv6 |
|
|
|
|
|
rout | evpn/cmac with bgp over srv6 |
|
|
|
|
|
rout | bundle routing |
|
|
|
|
|
rout | bundle mpls |
|
|
|
|
|
rout | bundle vlan routing |
|
|
|
|
|
rout | bundle vlan mpls |
|
|
|
|
|
rout | bundle vlan bridging |
|
|
|
|
|
rout | bridge routing |
|
|
|
|
|
rout | bridge mpls |
|
|
|
|
|
rout | vlan bridge routing |
|
|
|
|
|
rout | vlan bridge mpls |
|
|
|
|
|
rout | vlan vpls/ldp with bgp |
|
|
|
|
|
rout | vlan eompls |
|
|
|
|
|
rout | bundle vlan vpls/ldp with bgp |
|
|
|
|
|
rout | bundle vlan eompls |
|
|
|
|
|
rout | pppoe routing |
|
|
|
|
|
rout | vlan pppoe routing |
|
|
|
|
|
rout | pppoe mpls |
|
|
|
|
|
rout | vlan pppoe mpls |
|
|
|
|
|
rout | hairpin routing |
|
|
|
|
|
rout | hairpin bridging |
|
|
|
|
|
rout | hairpin mpls |
|
|
|
|
|
rout | hairpin vlan routing |
|
|
|
|
|
rout | hairpin vlan bridging |
|
|
|
|
|
rout | hairpin vlan mpls |
|
|
|
|
|
rout | hairpin pppoe routing |
|
|
|
|
|
rout | hairpin vlan pppoe routing |
|
|
|
|
|
rout | hairpin pppoe mpls |
|
|
|
|
|
rout | hairpin vlan pppoe mpls |
|
|
|
|
|
rout | hairpin vpls/ldp with bgp |
|
|
|
|
|
rout | hairpin vlan vpls/ldp with bgp |
|
|
|
|
|
rout | hairpin eompls |
|
|
|
|
|
rout | hairpin vlan eompls |
|
|
|
|
|
rout | vlan evpn/cmac with bgp |
|
|
|
|
|
rout | bundle vlan evpn/cmac with bgp |
|
|
|
|
|
rout | hairpin evpn/cmac with bgp |
|
|
|
|
|
rout | hairpin vlan evpn/cmac with bgp |
|
|
|
|
|
rout | gre routing over ipv4 |
|
|
|
|
|
rout | gre routing over ipv6 |
|
|
|
|
|
rout | gre routing over ipv4 loopback |
|
|
|
|
|
rout | gre routing over ipv6 loopback |
|
|
|
|
|
rout | gre routing over vlan |
|
|
|
|
|
rout | gre routing over bundle |
|
|
|
|
|
rout | gre routing over bundle vlan |
|
|
|
|
|
rout | gre routing over hairpin |
|
|
|
|
|
rout | gre routing over hairpin vlan |
|
|
|
|
|
rout | gre routing over bridge |
|
|
|
|
|
rout | gre routing over vlan bridge |
|
|
|
|
|
rout | gre mpls over ipv4 |
|
|
|
|
|
rout | gre mpls over ipv6 |
|
|
|
|
|
rout | gre mpls over ipv4 loopback |
|
|
|
|
|
rout | gre mpls over ipv6 loopback |
|
|
|
|
|
rout | gre mpls over vlan |
|
|
|
|
|
rout | gre mpls over bundle |
|
|
|
|
|
rout | gre mpls over bundle vlan |
|
|
|
|
|
rout | gre mpls over hairpin |
|
|
|
|
|
rout | gre mpls over hairpin vlan |
|
|
|
|
|
rout | gre mpls over bridge |
|
|
|
|
|
rout | gre mpls over vlan bridge |
|
|
|
|
|
rout | l2tp routing over ipv4 |
|
|
|
|
|
rout | l2tp routing over ipv6 |
|
|
|
|
|
rout | l2tp routing over ipv4 loopback |
|
|
|
|
|
rout | l2tp routing over ipv6 loopback |
|
|
|
|
|
rout | l2tp routing over vlan |
|
|
|
|
|
rout | l2tp routing over bundle |
|
|
|
|
|
rout | l2tp mpls over ipv4 |
|
|
|
|
|
rout | l2tp mpls over ipv6 |
|
|
|
|
|
rout | l2tp mpls over ipv4 loopback |
|
|
|
|
|
rout | l2tp mpls over ipv6 loopback |
|
|
|
|
|
rout | l2tp mpls over vlan |
|
|
|
|
|
rout | l2tp mpls over bundle |
|
|
|
|
|
rout | bridging over gre |
|
|
|
|
|
rout | bridging over gre vlan |
|
|
|
|
|
rout | bridging over pppoe |
|
|
|
|
|
rout | bridging over pppoe vlan |
|
|
|
|
|
rout | bridging over l2tp |
|
|
|
|
|
rout | bridging over l2tp vlan |
|
|
|
|
|
rout | vxlan over ipv4 |
|
|
|
|
|
rout | vxlan over ipv6 |
|
|
|
|
|
rout | vxlan over ipv4 loopback |
|
|
|
|
|
rout | vxlan over ipv6 loopback |
|
|
|
|
|
rout | vxlan over vlan |
|
|
|
|
|
rout | vxlan over bundle |
|
|
|
|
|
rout | evpn/vxlan with bgp |
|
|
|
|
|
rout | vlan evpn/vxlan with bgp |
|
|
|
|
|
rout | bundle vlan evpn/vxlan with bgp |
|
|
|
|
|
rout | hairpin evpn/vxlan with bgp |
|
|
|
|
|
rout | ipip routing over ipv4 |
|
|
|
|
|
rout | ipip routing over ipv6 |
|
|
|
|
|
rout | ipip routing over ipv4 loopback |
|
|
|
|
|
rout | ipip routing over ipv6 loopback |
|
|
|
|
|
rout | ipip routing over vlan |
|
|
|
|
|
rout | ipip routing over bundle |
|
|
|
|
|
rout | pckoudp over ipv4 |
|
|
|
|
|
rout | pckoudp over ipv6 |
|
|
|
|
|
rout | pckoudp over ipv4 loopback |
|
|
|
|
|
rout | pckoudp over ipv6 loopback |
|
|
|
|
|
rout | pckoudp over vlan |
|
|
|
|
|
rout | pckoudp over bundle |
|
|
|
|
|
rout | pckoudp server over ipv4 |
|
|
|
|
|
rout | pckoudp server over ipv6 |
|
|
|
|
|
rout | pckoudp server over ipv4 loopback |
|
|
|
|
|
rout | pckoudp server over ipv6 loopback |
|
|
|
|
|
rout | vxlan server over ipv4 |
|
|
|
|
|
rout | vxlan server over ipv6 |
|
|
|
|
|
rout | vxlan server over ipv4 loopback |
|
|
|
|
|
rout | vxlan server over ipv6 loopback |
|
|
|
|
|
rout | pppoe server routing |
|
|
|
|
|
rout | vlan pppoe server routing |
|
|
|
|
|
rout | pppoe server mpls |
|
|
|
|
|
rout | vlan pppoe server mpls |
|
|
|
|
|
rout | l2tp server routing |
|
|
|
|
|
rout | vlan l2tp server routing |
|
|
|
|
|
rout | l2tp server mpls |
|
|
|
|
|
rout | vlan l2tp server mpls |
|
|
|
|
|
rout | p2p ldp tail+head |
|
|
|
|
|
rout | p2p ldp mid |
|
|
|
|
|
rout | p2p te tail+head |
|
|
|
|
|
rout | p2p te mid |
|
|
|
|
|
rout | sr te over mpls tail+head |
|
|
|
|
|
rout | sr te over mpls mid |
|
|
|
|
|
rout | policy routing between vrfs |
|
|
|
|
|
rout | policy routing with nexthop |
|
|
|
|
|
rout | policy routing with interface and nexthop |
|
|
|
|
|
rout | multicast routing |
|
|
|
|
|
rout | multicast vlan routing |
|
|
|
|
|
rout | multicast bundle routing |
|
|
|
|
|
rout | multicast bundle vlan routing |
|
|
|
|
|
rout | hairpin multicast routing |
|
|
|
|
|
rout | hairpin vlan multicast routing |
|
|
|
|
|
rout | mldp core |
|
|
|
|
|
rout | mldp vlan core |
|
|
|
|
|
rout | mldp core over gre |
|
|
|
|
|
rout | mldp core over l2tp |
|
|
|
|
|
rout | mldp bundle core |
|
|
|
|
|
rout | mldp bundle vlan core |
|
|
|
|
|
rout | hairpin mldp core |
|
|
|
|
|
rout | hairpin vlan mldp core |
|
|
|
|
|
rout | mldp egress edge |
|
|
|
|
|
rout | mldp vlan egress edge |
|
|
|
|
|
rout | mldp ingress edge |
|
|
|
|
|
rout | mldp vlan ingress edge |
|
|
|
|
|
rout | mldp core and egress edge |
|
|
|
|
|
rout | vlan mldp core and egress edge |
|
|
|
|
|
rout | bier core |
|
|
|
|
|
rout | bier vlan core |
|
|
|
|
|
rout | bier core over gre |
|
|
|
|
|
rout | bier core over l2tp |
|
|
|
|
|
rout | bier bundle core |
|
|
|
|
|
rout | bier bundle vlan core |
|
|
|
|
|
rout | hairpin bier core |
|
|
|
|
|
rout | hairpin vlan bier core |
|
|
|
|
|
rout | bier egress edge |
|
|
|
|
|
rout | bier vlan egress edge |
|
|
|
|
|
rout | bier ingress edge |
|
|
|
|
|
rout | bier vlan ingress edge |
|
|
|
|
|
rout | bier core and egress edge |
|
|
|
|
|
rout | vlan bier core and egress edge |
|
|
|
|
|
rout | amt server over ipv4 |
|
|
|
|
|
rout | amt server over ipv6 |
|
|
|
|
|
rout | amt server over ipv4 loopback |
|
|
|
|
|
rout | amt server over ipv6 loopback |
|
|
|
|
|
rout | autoroute to sr te over mpls |
|
|
|
|
|
rout | autoroute to p2p te over mpls |
|
|
|
|
|
rout | policy routing to sr te over mpls |
|
|
|
|
|
rout | policy routing to p2p te over mpls |
|
|
|
|
|
rout | nsh |
|
|
|
|
|
rout | vlan nsh |
|
|
|
|
|
rout | polka |
|
|
|
|
|
rout | vlan polka |
|
|
|
|
|
rout | mpolka core |
|
|
|
|
|
rout | mpolka vlan core |
|
|
|
|
|
rout | mpolka edge |
|
|
|
|
|
rout | mpolka vlan edge |
|
|
|
|
|
rout | gtp server over ipv4 |
|
|
|
|
|
rout | gtp server over ipv6 |
|
|
|
|
|
rout | gtp server over ipv4 loopback |
|
|
|
|
|
rout | gtp server over ipv6 loopback |
|
|
|
|
|
rout | bundle mpls pop |
|
|
|
|
|
rout | bundle vlan mpls pop |
|
|
|
|
|
rout | pppoe mpls pop |
|
|
|
|
|
rout | gre mpls pop |
|
|
|
|
|
rout | l2tp mpls pop |
|
|
|
|
|
rout | bundle mpls push |
|
|
|
|
|
rout | bundle vlan mpls push |
|
|
|
|
|
rout | pppoe mpls push |
|
|
|
|
|
rout | gre mpls push |
|
|
|
|
|
rout | l2tp mpls push |
|
|
|
|
|
rout | lpm routing |
|
|
|
|
|
rout | l2vpn over bundle mpls |
|
|
|
|
|
rout | l2vpn over bundle vlan mpls |
|
|
|
|
|
rout | l2vpn over pppoe mpls |
|
|
|
|
|
rout | l2vpn over gre mpls |
|
|
|
|
|
rout | l2vpn over l2tp mpls |
|
|
|
|
|
rout | l3vpn over bundle mpls |
|
|
|
|
|
rout | l3vpn over bundle vlan mpls |
|
|
|
|
|
rout | l3vpn over pppoe mpls |
|
|
|
|
|
rout | l3vpn over gre mpls |
|
|
|
|
|
rout | l3vpn over l2tp mpls |
|
|
|
|
|
rout | routing over backplane |
|
|
|
|
|
rout | bridging over backplane |
|
|
|
|
|
rout | mpls core over backplane |
|
|
|
|
|
rout | mpls vpn over backplane |
|
|
|
|
|
rout | local connect |
|
|
|
|
|
rout | vlan local connect |
|
|
|
|
|
rout | pmtud |
|
|
|
|
|
rout | vlan pmtud |
|
|
|
|
|
rout | tcpmss |
|
|
|
|
|
rout | vlan tcpmss |
|
|
|
|
|
rout | bridge tcpmss |
|
|
|
|
|
rout | vlan bridge tcpmss |
|
|
|
|
|
rout | bridge pmtud |
|
|
|
|
|
rout | vlan bridge pmtud |
|
|
|
|
|
rout | ip ttl exceed |
|
|
|
|
|
rout | mpls ttl exceed |
|
|
|
|
|
rout | multilink pppoe routing |
|
|
|
|
|
rout | multilink pppoe mpls |
|
|
|
|
|
rout | multilink l2tp routing over ipv4 |
|
|
|
|
|
rout | multilink l2tp routing over ipv6 |
|
|
|
|
|
rout | multilink l2tp routing over vlan |
|
|
|
|
|
rout | multilink l2tp mpls over ipv4 |
|
|
|
|
|
rout | multilink l2tp mpls over ipv6 |
|
|
|
|
|
rout | multilink l2tp mpls over vlan |
|
|
|
|
|
rout | multilink l2tp routing over bundle |
|
|
|
|
|
rout | multilink l2tp mpls over bundle |
|
|
|
|
|
rout | null routing |
|
|
|
|
|
rout | route filtering with prefixlist |
|
|
|
|
|
rout | route filtering with routemap |
|
|
|
|
|
rout | route filtering with routepolicy |
|
|
|
|
|
rout | routing with fib compression |
|
|
|
|
|
rout | mpls with fib compression |
|
|
|
|
Useful links
RARE project links
- P4Lang BMv2 GitHub page
- INTEL/BAREFOOT TOFINA GÉANT Bitbucket page
- RARE-FreeRouter documentation page
P4Lang BMv2 nightly built packages
FreeRouter nightly built packages
- FreeRouter on ubuntu 18.04
- FreeRouter on ubuntu 20.04
- FreeRouter on Debian stable (Debian 10 - buster)
INTEL/BAREFOOT TOFINO packages
Software for TOFINO Programmable Switching ASIC is subject to a Software License and Confidentiality Agreement (SLACA)
If you are an R&E organization please submit an application via INTEL/BAREFOOT FASTER portal
Last but not least ...
FreeRouter control plane
Contact us
- We have also a RARE users mailing list:
- and RARE developers mailing list:
- RARE/freeRouter Twitter contact
Feel free to suscribe !