DocumentsDownloadsWikiCommunityBlogAbout

OpenRoads (n-casting)

From OpenFlow Wiki

Jump to: navigation, search

Contents


The n-casting using OpenFlow demonstration is discussed in another page. This page provides the instructions for recreating the demonstration, pointing to the various tools used.

Recreating the Demonstration

Controllers

To recreate the n-casting demonstration, you will need the following.

  • FlowVisor to provide a specific slice for the n-casting application
    • In the demo, n-casting is given a slice defined
      • Read-only: All traffic from client's mac address
      • Read-write: All traffic desired to client's mac address (optionally, restricted to certain transport port)
    • Other traffic of the client should be handled by another controller with standard switching or routing in NOX.
  • OpenRoads: a branch of NOX which adds functionalities for wireless devices and services.
    • n-casting is distributed as a sample application of OpenRoads
    • The controller can be run using the command
./nox_core -i ptcp:<port_no> bicast

Client (with Multiple Interfaces)

At the client side, you will require a wireless client with multiple interfaces. In our case, we have 2 WiFi interfaces and one WiMAX interface. The client is installed with Linux. Further, we require the following software.

  • netfilter for removing duplicates, and
  • custom bonding driver for multiple interfaces

Instructions are provided in OpenRoads (n-casting) clients.

Visualization

The graphical visualization is created by extending ENVI. It can be retrieved using

git clone git://openflowswitch.org/envi-ncast.git

If you are sadly behind a firewall, try gitweb. After making sure you have Java 1.6, it can be compiled using

cd envi-ncast/gui
ant

and run with

java -jar bin/openflow.jar <options> <controller>

Options can be

  • fs for fullscreen and nofs for not fullscreen
  • <filename>.yaml to specify a yaml file to load
  • screen<width>x<height> to specify certain width and height
  • mark to place a marker at the specified width and height for reference
  • label to show the n-casting labels; and nolabel to not show the labels. The labels cannot be shown if dragging of the icons are wanted (e.g., rearrangement for saving a new yaml file).

Video Streaming

The video streaming can be done using VLC.

At server side: Execute the following to start a streaming service through RTSP:

 cvlc -vvv INPUT_STREAM  --mtu 1000 --loop --sout "#rtp{sdp=rtsp://SERVER_IP:8080/test.sdp}"

At client side: Receive RTSP stream

 cvlc rtsp://SERVER_IP:8080/test.sdp

WiFi APs

The WiFi APs are standard ones used for OpenRoads. Refer to the OpenRoads page for instructions. To inject loss, we use TC in Linux which can be installed in Debian with

apt-get install iproute

To add 1% loss to interface ath0, run

tc qdisc add dev ath0 root netem loss 1%

and to change the loss rate to 2%, run

tc qdisc change dev ath0 root netem loss 2%

WiMAX

For the WiMAX setup, we require a WiMAX client driver for Linux and a WiMAX basestation with ASN gateway. The WiMAX client driver for Linux is proprietary software from Beceem. Further, the ASN gateway and basestations are supported by NEC. Thus, both of these will not be distributed here.

People

The n-casting demonstration is brought to you by

Copyright 2008 by the OpenFlow Consortium. All rights reserved. Powered by MediaWiki and WordPress.