News‎ > ‎

Announcing the new RouteFlow design

posted May 28, 2012, 12:10 PM by Christian Esteve Rothenberg   [ updated May 31, 2012, 10:08 AM ]
What's new
We're glad to announce an entirely new version of RouteFlow, with many new features in responese to our first year´s experiences and the requests from users and developers!
The version has been in an experimental branch for some time now and is stable enough to become mainstream.

In this new version, we have introduced:
  • Centralized database and IPC
    • We leverage MongoDB for storing the core system´s state and the OpenFlow network statistics. A JSON-based IPC service (aka RouteFlow protocol) is also implemented on top of it.
  • Cleaner code base
    • Much of the code was rewritten and organized, making it easier for developers to play with RouteFlow.
      This includes the renaming of some components: RF-Slave becomes RFClient, RF-Controller becomes RFProxy.
  • POX support
    • Support for using the new POX controller was added.
  • Web monitoring interface (requires POX)
    • Inspect network topology, RouteFlow internal messages and network state.
  • Open vSwich v1.4
    • To attach the virtual interfaces (eth1 to ethX) of the VMs.
    • Used also in the control network that (attaching et0) and running in bridge mode removes the requirement of a second controller instance to act as a simple L2 switch.
  • Tools for testing
    • A new module (rftest) introduces several scripts to facilitate testing and environment creation.
  • SNMP support
    • Export OpenFlow stats via SNMP. [Contribution by Joe Stringer]

The detailed description of these new features is available in the README file.

You can download the new pre-configured VM (3.7GB) from here:
or get it via github.

What's next
The list is long!
  • Foremost we want to make RouteFlow more and easier configurable. Currently, there's no trivial way to associate VMs and datapaths statically, but we want to solve this through a new configuration apporach.
  • RouteFlow with NOX requires Ubuntu 11.04 (POX users should be fine in newer versions). We will be adding support for Ubuntu 11.10 and 12.04.
  • Embrace OpenFlow v1.X. We have working prototypes of NOX and software-based reference switch using OpenFlow 1.1 and 1.2.
  • Extensions to support LDP label information.
  • Exploration of possibilities opened by the use of a central database (e.g., keep state history and allow queries like "show me flow table at timestamp x").
  • Address High Availability.
  • New routing abstractions implemented as Services on top of the RF-Server.
  • ... a number of additions under investigation by students and project collaborators.

Stay tuned for further news!

Thank you all!