Tailflow – An Openflow Controller Framework

By Erlang Central | Published: June 13, 2013

Tail-f’s Network Control System (NCS) supports programming of network services on both traditional networks and Openflow networks. Tailflow is the part of NCS that supports Openflow. Inspired by the 20 year old ideas around micro-protocols, Tailflow introduces a concept called the ‘flowlet’. Each flowlet encapsulates  some minimum amount of logic in order to make it composable and easy to understand. By stacking flowlets on top of each other, the full functionality of an Openflow device is constructed, may it be an ordinary learning switch or a more complex NAT/FW device or, in principle, any other kind of networking device.
This talk will describe the architecture of Tailflow and show how we, by using OpenVSwitch, created a simulated Data Center with many server racks, each server running many VMs. A Layer-2 virtual network is implemented as well as a NAT/FW for public access, all controlled by a Tailflow application.
Talk objectives: Describe an approach for constructing Openflow control software.
Target audience: 
  • Network engineers.
  • People interested in Openflow and/or protocol design.
  • People interested in Software Defined Networks (SDN).
Download Presentation Download


  • Torbjörn Törnkvist

    Former Member of CS Lab, Solutions Architect @ Tail-f

    Enthusiastic Erlang user since 1991. Former member of Ericsson CSLab, now working at Tail-f Systems. Long time contributor to the Erlang Open Source Community. Creator of trapexit.org. Has implemented many protocols in Erlang over the years (e.g LDAP, Radius, SMB, DHCP, X11, OpenID).

    Twitter: @kruskakli

    Torbjörn Törnkvist

Follow Erlang Central:

Have an Erlang Question?

Reach out to the Erlang community