In addition to the OpenFlow controllers that we introduced in this chapter, there are also two special-purpose OpenFlow controllers: FlowVisor and RouteFlow. The former acts as a transparent proxy between OpenFlow switches and multiple OpenFlow controllers. It is able to create network slices and can delegate control of each slice to a different OpenFlow controller.
FlowVisor also isolates these slices from each other by enforcing proper policies. RouteFlow, on the other hand, provides virtualized IP routing over OpenFlow-capable hardware. RouteFlow can be considered as a network application on top of OpenFlow controllers. It is composed of an OpenFlow Controller application, an independent server, and a virtual network environment that reproduces the connectivity of a physical infrastructure and runs the IP routing engines.
The routing engines generate the Forwarding Information Base (FIB) into the Linux IP tables according to the configured routing protocols (for example...