GSoC/GCI Archive
Google Summer of Code 2015


License: Apache License, 2.0

Web Page:

Mailing List:

RouteFlow :: Virtual IP Routing Services over OpenFlow networks.

RouteFlow is an open source project to provide virtualized IP routing services over OpenFlow enabled hardware. A typical RouteFlow use scenario is composed by an OpenFlow controller application (RFProxy), an independent RouteFlow server (RFServer), and a virtual network environment executing open-sourceĀ IP routing engines (e.g. Quagga). The routing engines generate the forwarding information base (FIB) into the Linux routing tables according to the configured routing protocols (e.g., OSPF, BGP). In turn, the Linux IP and ARP tables are collected by RouteFlow client (RFClient) processes and then translated into OpenFlow tuples that are finally installed in the associated OpenFlow-enabled devices in the forwarding plane.

Licensed under Apache 2.0, worldwide pioneer RouteFlow has 2000+ downloads and is being used by institutions such as Google Research, NTT MCL, Indiana University, Internet2 NDDI and many others across the globe.


  • #5 :: OpenConfig support configure the Quagga BGP via YANG models RouteFlow features an SDN approach to IP routing with a number of interesting benefits (modularity, extensibility, cost/performance), however, it currently falls short in helping the actual configuration (management plane) of the Linux-based routing engines. To this end, this project seeks to add support to YANG models to configure the virtualized BGP routers using the recent open source OpenConfig chose to tackle.
  • Dockerize RouteFlow The idea of this project is to build the RouteFlow application along with its virtual plane components inside the docker containers via modular dockerfiles.
  • RouteFlow proxy for ONOS RouteFlow currently supports Ryu and OpenDayLight controllers. This project aims to develop a RFProxy component over ONOS application layer, communicating all its RouteMod messages with a well defined interface to convert them into OpenFlow-like messages to program the data plane.
  • RouteFlow Unified Tests RouteFlow currently lacks of unified testing modules that can verify the status and behavior of all its components. Besides not only verifying them it is necessary to verify a rounting scenario where virtual routers are created and insert routes into dataplane switches with the required configuration iniatially defined. This project will focus on the verification of all the components of RouteFlow and also on the definition of testing use cases for all the behavior of the routing platform.