DocumentsDownloadsWikiCommunityBlogAbout

OpenFlowClick

From OpenFlow Wiki

Jump to: navigation, search

Contents

What

  • Linux reference implementation ported as a click software router element.
  • This element can be connected to other elements to reuse functionality of other click elements.

Status

  • This is an alpha release.
  • Currently runs only with the click linux module driver.
  • Does not support LOCAL port.
  • Supports only one datapath.
  • Ports cannot be dynamically added/removed from the datapath, neither can they be turned on/off (Ports are not real hardware interfaces, but software ports to/from other elements)

Download

  • Get the latest sources from
 git clone git://yuba.stanford.edu/openflow-click.git

Documentation

  • Get click sources from http://read.cs.ucla.edu/click/
  • Download OpenFlowClick tarball. Unzip the source. Copy 'openflow' directory in the 'click/elements' directory.
  • Refer to click/INSTALL to build click linux module. Make following changes to the install process
  a. Build linux kernel for Click software router, install it and reboot into new kernel.
     (Detailed instructions in click/INSTALL) 
  b. Run click configure script with 
     './configure --with-linux=/path_to_kernel_source --enable-openflow'  

(Configure might output a harmless warning "configure: WARNING: unrecognized options: --enable-openflow")

  c. Run 'make elemlist'
  d. Run "make install" to install Click

(Click supports kernel versions 2.6.16.13, 2.6.19.2, 2.6.24.7. I have tested this on 2.6.24.7).

  • Get openflow linux reference implementation 0.8.9. Compile secchan and dpctl utilities.
  • Test your installation using regression framework as mentioned below.

Testing

  patch -p1 < openflowclick/regress/regress.patch
  • Execute 'chmod a+x openflow_source/regress/bin/of_click*'
  • Change following variables in openflow/regress/script/env_vars
 OF_ROOT to point at openflow source directory.
 CLICK_ROOT to point at openflowclick source.
  • Run 'veth_setup.pl' to create virtual interfaces.
  • Run regression suite by executing 'of_click_veth_test.pl'

Using the click element

  • 'openflowclick/conf' directory contains sample click configs using this element.
  • Install a click config using 'click-install path_to_config_file'.
  • Start secchan on nl:0 to talk to the controller.
  • Use dpctl on nl:0 to get statistics, install/delete rules etc.

Publications

  • "An OpenFlow Switch Element for Click" - SyClick 2009
 http://www.syclick.ua.ac.be/content/symposium-proceedings

Contact

  • To report bugs/comments/suggestion, send an email to yhm@cc.gatech.edu
  • If you are reporting a bug, please send output of 'dmesg' and your click config.

Authors

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