Chat with Us!


Jan Medved

Cisco Team

Project Kick-off Date: January 2014
Current Status: An enhanced version of OFM is available with the Cisco Open SDN Controller.

OpenDaylight Openflow Manager (OFM) App

OpenDaylight (ODL) is an open-source application development and delivery platform. Openflow Manager (OFM) is an application developed to run on top of ODL to visualize openflow (OF) topologies, program OF paths and gather OF stats.

Application Overview

Software Defined Networking (SDN) involves an application interacting with a network (composed of domain-specifc devices) for the purpose of simplifying operations or enabling a service. A controller is positioned between the application and network and interacts with network elements (e.g. switches) in the southbound direction using a variety of different protocols. In the northbound direction it presents an abstraction of the network using in practice common REST APIs. The controller vehicle for this applicatin is ODL. This innovation supports applications for managing openflow networks called Openflow Manager (OFM).

Figure 1 show the OFM architecture

Figure 1 OFM Architecture

From the bottom-up we have a network of openflow switches employing a "Match/Action" forwarding paradigm to execute flow switching operations through the network. Openflow switches support an openflow agent and use the running MPLS for label switching packets across the network, and either OSPF or ISIS to maintain and distribute the topology (link-state) database amongst all routers in the network. One of the routers is a BGP-LS and it transports a copy of the topology database to the ODL controller. The routers will also run a PCEP (stands for path computation element protocol) used by the ODL controller to instruct a source router to setup an MPLS traffic engineered path to a destination router. This is very network- and protocol-specific details, which frankly the end-user may not know or care about. This is where OpenDaylight and applications come into play.

Inside of ODL there are YANG models of the network topology and how to program flows across the network. The model-driven service adaptation layer (MD-SAL) takes these models and automatically generates a set of REST APIs (referred to as RESTCONF) that applications can call. OFM is the application that calls the RESTCONF APIs to retrieve OF switch inventory as well program flows and gather stats. The other key component here is the UI based on HTML5/CSS/Javascript utilizing various open source frameworks including AngularJS and NeXt. OFM is acccessible through a web browser such a Chrome.

Figure 2 shows the initial display once the OF inventory is collected and rendered. To support topological context for all functions, each panel described below will include this topology/inventory display.

The basic sub functions of OFM as arranged across the top consist of:

  • Basic View Tab, the default tab, displays topology mapping the OpenFlow-enabled devices in your network and the hosts that are connected to them.
  • Flow Management Tab can be used for determining the number of flows for each OpenFlow-enabled device in your network, viewing a listing of all currently configured flows, adding, modifying and deleting the flows.
  • Statistics tab provides statistics for both the flows configured in your network and the corresponding device ports.
  • Hosts Tab provides summary information for the OpenFlow-enabled host devices that OFM manages.

Figure 2 OFM Main Panel

A key objective of SDN in general and enabled in open source by ODL is network abstraction thus simplify network operations. Instead of cubersome per-device configuration and managment, we provide a web browser user interface that operators use to manage openflow networks and deivces. OFM is that application.


  • Developed to run on top of ODL
  • Leverages RESTCONF APIs based on openflow yang models
  • Dynamic visualization openflow topology
  • Browser-based “point/click/entry/confirm/deploy” operation
  • Leverages the open source NeXt UI framework for topology visualization
  • Source code in HTML5/CSS/Javascript, NeXt and AngularJS

Join Our Community and Be Engaged