Skip to content
Full-Stack OpenFlow Framework in Ruby
Branch: develop
Clone or download
Nick Karanatsios
Nick Karanatsios add travis ci build image
Latest commit 47cac03 Jun 14, 2018

Welcome to Trema

Build Status Code Climate Coverage Status Dependency Status

Trema is an OpenFlow controller programming framework that provides everything needed to create OpenFlow controllers in Ruby. It provides a high-level OpenFlow library and also a network emulator that can create OpenFlow-based networks for testing on your PC. This self-contained environment helps streamlines the entire process of development and testing.


  • Ruby 2.0.0 or higher (RVM).
  • Open vSwitch (apt-get install openvswitch-switch).


See for links to documentation for all APIs.

Sample Code

Study sample code for implementation examples of Trema features. Each sample code project is executable source example of how to write a OpenFlow controller using Trema Ruby API.


Special thanks to all contributors for submitting patches. A full list of contributors including their patches can be found at:


Trema is released under the GNU General Public License version 2.0 or MIT License:

You can’t perform that action at this time.