OpenFlow Controller In Elixir
Find a file
Eishun Kondoh 7635272fbd Formatted
2018-01-30 22:47:31 +09:00
config Formatted 2018-01-30 22:47:31 +09:00
examples VLAN trunk test and NAT test 2017-12-01 20:51:43 +09:00
lib Formatted 2018-01-30 22:47:31 +09:00
src Add an example controller for hardware switch test 2017-12-01 11:11:11 +09:00
test Formatted 2018-01-30 22:47:31 +09:00
.formatter.exs Formatted 2018-01-30 22:47:31 +09:00
.gitignore Fix .gitignore 2017-11-27 00:43:10 +09:00
mix.exs Formatted 2018-01-30 22:47:31 +09:00
mix.lock Add dependencies 2017-11-26 19:11:24 +09:00
README.md Update README 2017-12-04 20:17:58 +09:00

Tres - a Elixir OpenFlow development platform

Overview

Tres is a framework and set of helper libraries to develop OpenFlow controllers in Elixir.

the purpose of this project is to design and prototype an experimental network switch controller that implements the OpenFlow 1.3.x. The project explores the scalability and robustness of such controllers on a scale much larger than typically considered: 100,000s of endpoints, 10,000s of switches.

Installation

def deps do
  [
    {:tres, git: "https://gh.iiji.jp/Isono/tres", branch: "develop"}
  ]
end

callbacks

config :tres,
  callback_module: Tres.ExampleHandler,
  callback_args:   []

To use Tres.Controller with your code, set the handler callback_module to your callback module. This module must implement the Module.start_link/2 that returns on_start.

Set the callback_args to the terms you want pass to the start_link/2 callback function.