OpenFlow controller for the "Network access control based on role-base security policy" project
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.
- Install Vagrant and Ansible.
- Clone this repository and move into the
vagrant upto start and provision the VM.
Launching the controller and network
All commands below shall be executed inside the VM.
./tool/run_controller(The controller will run in the foreground, so open up a new session for the following commands)
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.
- Install python, pip and virtualenv.
- Install and configure direnv.
- Clone this repository and move into the source code directory.
pip install -r requirements.txt
- Configure each OpenFlow switch to connect to the TCP/6633 port of the machine where the controller will be running.
Launching the 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.