Coder Social home page Coder Social logo

h3dema / ethanol_controller Goto Github PK

View Code? Open in Web Editor NEW
1.0 3.0 2.0 3.17 MB

This repository contains the Ethanol controller in Python 2. 7/POX

License: GNU General Public License v2.0

Python 99.72% Shell 0.28%
sdn sdn-controller ethanol ethanol-controller pox

ethanol_controller's Introduction

Ethanol controller

This repository contains the Ethanol controller. It is in Python 2. 7, and runs as a POX (dart) module.

We have developed a docker container that allows the compilation and development of ethanol agents. This is the method we recommend for you to compile (and change) Ethanol. The container already makes the clone of this repository (ethanol_controller). To see more go to ethanol_devel.

Installation

Clone the repository and update submodules

cd /home/ethanol
git clone https://github.com/h3dema/ethanol_devel.git
cd ethanol_devel
bash configure.sh

Requisites

Read ethanol/README.MD

Template

Inside template directory, you find a sample file, showing how to create a simple module in python that uses Ethanol's resources.

Connection

The figure below shows a terminal emulator with two open cones: (right) a connection to the computer running ethanol_hostapd and (left) a connection to the Ethanol controller. It is important to note that in the controller (left), we can activate different logging level using the ** log.level --LEVEL ** (in the figure we show DEBUG). Ethanol controller initialization process begins with the registration of the Ethanol module in the POX, followed by the initialization of a local server to receive the messages from the clients. In our example, the Ethanol server starts on port 22222 (default). We see next that the protocol OpenFlow also begins to execute, creating a port of connection in 6633 (default port).

In the right part of the figure we see hostapd loading. Ethanol checks to see if the /etc/ethanol.ini configuration file exists, and if it exists it is read. In our example, the file exists and enables Ethanol to work. Hostapd also creates an Ethanol server on port 22222 (default port) to receive controller commands. A Hello message is periodically sent to the controller. The first connection serves to pass additional information from the AP to the controller and in the others it acts as a signal informing that hostapd is active.

alt text

We can see that on the first connection of the AP to the controller, the controller requests additional information represented by the MSG_GET_RADIO_WLANS and MSG_GET_AP_SSID messages shown on the lines below Connection ... This information is important for popular class architecture objects. This creates an ap. This ap has radios and vaps. radios represent the physical radio devices on the device, while vaps are the configured SSIDs.

More info

See more information in ethanol/ssl_message/README.MD.

ethanol_controller's People

Contributors

genilson avatar h3dema avatar mhnnunes avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.