GithubHelp home page GithubHelp logo

gangy0111 / riplpox Goto Github PK

View Code? Open in Web Editor NEW

This project forked from brandonheller/riplpox

0.0 1.0 0.0 251 KB

RipL-POX (Ripcord-Lite for POX): A simple network controller for OpenFlow-based data centers

License: GNU General Public License v2.0

Python 100.00%

riplpox's Introduction

== What is it? ==

RipL-POX (Ripcord-Lite for POX) is a simple data center controller built on RipL.

== Why should you use it ==

RipL-POX provides an example of an OpenFlow controller that uses a static network description to create paths. 
It should work out-of-the-box to give you a functioning (but unoptimized) OpenFlow 1.0 data center controller based on a topology description from RipL.

There are two main modes:
- Proactive routing pushes down all possible paths when all switches come up.
- Reactive routing pushes down full OpenFlow N-tuple paths for each flow.

For each mode, you can choose to use spanning tree routing, random routing, or routing based on a hash function.

The hash function depends on the mode:
- In proactive mode, hashing is based on L2 fields.
- In reactive mode, hashing comes from the ECMP 5-tuple.

== Install ==

See INSTALL for install first.

== Running RipL on POX with Mininet ==

RipL-POX must use the exact same topology as Mininet.  Order shouldn't matter, but to reduce the initial debug output caused by IPv6 link-layer discovery messages that get broadcast, start up the topology first:

# Running Mininet w/a Fat Tree topology, in a second window:
cd ~/
sudo mn --custom ~/ripl/ripl/mn.py --topo ft,4 --controller=remote --mac

# Run RipL-POX in reactive mode w/random routing
cd ~/
~/pox/pox.py riplpox.riplpox --topo=ft,4 --routing=random --mode=reactive

That's it - at this point, your network should run.

Here are other invocation examples:

# Run RipL-POX in reactive mode w/hashed routing
cd ~/
~/pox/pox.py riplpox.riplpox --topo=ft,4 --routing=hashed --mode=reactive

# Run RipL-POX in proactive mode w/spanning-tree routing
cd ~/
~/pox/pox.py riplpox.riplpox --topo=ft,4 --routing=st --mode=proactive

== Verifying the setup ==

In mininet console:
pingall
iperf


riplpox's People

Watchers

Tony 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.