Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

FlowSieve Circle CI Code Health

OpenFlow controller for the "Network access control based on role-base security policy" project

Development setup

In this setup, we simulate the whole network using Mininet. Since Mininet requires Linux as the operating system, we use vagrant to start and provision a Linux VM. We use Ansible to provision the VM. This is the recommended way for development.


  1. Install Vagrant and Ansible.
  2. Clone this repository and move into the tool/ directory.
  3. Run vagrant up to start and provision the VM.
  4. vagrant ssh

Launching the controller and network

All commands below shall be executed inside the VM.

  1. cd /vagrant
  2. ./tool/run_controller (The controller will run in the foreground, so open up a new session for the following commands)
  3. sudo ./tool/run_network

Production setup

In this setup, we construct the network using virtual machines/switches or physical machines/switches. Then, we execute the OpenFlow controller in an isolated environment using direnv and virtualenv. This is the recommended method for evaluation.


  1. Install python, pip and virtualenv.
  2. Install and configure direnv.
  3. Clone this repository and move into the source code directory.
  4. direnv allow
  5. pip install -r requirements.txt
  6. Configure each OpenFlow switch to connect to the TCP/6633 port of the machine where the controller will be running.

Launching the controller

  1. Run ./tool/run_controller

This software is released under the Apache 2.0 License. See LICENSE for the full license text. This software includes a part of a work that is distributed in the Apache 2.0 License.


OpenFlow controller for the "Network access control based on role-base security policy" project







No packages published