Skip to content

lido22/mininet-wifi

 
 

Repository files navigation

About Mininet-WiFi

Mininet-WiFi is a fork of Mininet (https://mininet.org/) which allows the using of both WiFi Stations and Access Points. Mininet-WiFi only add wifi features and you can work with it like you were working with Mininet.

Build Status

Things to keep in mind when working with Mininet-WiFi

  • You can use any wireless network tools (e.g. iw, iwconfig, wpa_supplicant, etc)
  • Please consider computer network troubleshooting steps to solve issues before making questions in the mailing list (e.g. is the station associated with ap? Is the OpenFlow rule working correctly? etc)
  • Do you need help? Be careful with questions in the mailing list and please providing as much information you can.

Mailing List

https://groups.google.com/forum/#!forum/mininet-wifi-discuss

Use Cases Catalogue

Please, let us know if you are doing research with Mininet-WiFi. A list of citations on Mininet-WiFi is available here.  

Installation

We highly recommend using Ubuntu version 16.04 or higher. Some new hostapd features might not work on Ubuntu 14.04.
step 1: $ sudo apt-get install git
step 2: $ git clone https://github.com/intrig-unicamp/mininet-wifi
step 3: $ cd mininet-wifi
step 4: $ sudo util/install.sh -Wlnfv

install.sh options:

-W: wireless dependencies
-n: mininet-wifi dependencies
-f: OpenFlow
-v: OpenvSwitch
-l: wmediumd
optional:
-P: P4 dependencies
-6: wpan tools

Docker

This is recommended if you are using a different linux distribution from the ones supported by the installation script.

If you prefer to use Mininet-WiFi with Docker you should follow the steps described below:

  1. Building the docker image:

    docker build -t mn-wifi:v1 .
  2. Running the container: Mininet-WiFi relies on Kernel modules from the host, requires elevated privilege, and the host network interface:

    docker run -it --rm --privileged --env="DISPLAY" --env="QT_X11_NO_MITSHM=1" -v /tmp/.X11-unix:/tmp/.X11-unix:rw --net host -v /sys/:/sys -v /lib/modules:/lib/modules -v /sys/kernel/debug:/sys/kernel/debug -v /var/run/netns:/var/run/netns mn-wifi:v1

Building Topologies with GUI

I'm a beginner, I do not know Python and I would like to create a customized topology with a GUI. In this case, MiniEdit can serve as support since it provides a GUI to generate Python scripts.

Development