OpenFlow%20Tutorial - PowerPoint PPT Presentation

About This Presentation
Title:

OpenFlow%20Tutorial

Description:

End host1. End host2. End host3. OpenFlow Controller. OpenFlow Enabled Switches. Virtual Testbed ... Separate each component into a distinct directory ... – PowerPoint PPT presentation

Number of Views:356
Avg rating:3.0/5.0
Slides: 11
Provided by: libr218
Category:

less

Transcript and Presenter's Notes

Title: OpenFlow%20Tutorial


1
OpenFlow Tutorial
  • Theophilus Benson

2
Outline
  • Components in an OpenFlow testbed
  • Setting up a testbed
  • Writing a new component
  • C components version
  • Python components version

3
OpenFlow Components
  • Controller
  • Openflow switches
  • Traffic generators

OpenFlow Enabled Switches
End host1
End host3
End host2
OpenFlow Controller
4
Virtual Testbed
  • Directions available online
  • http//noxrepo.org/manual/using.htmlsetting-up-a-
    noxnetwork
  • Requirements
  • Linux system
  • Qemu
  • Python
  • Nox code
  • Other linux libraries

5
Testbed Setup
  • Compile Nox code
  • Set up virtual machines
  • Connect topology
  • Start controller
  • Use appropriate components
  • Connect switches to controller

6
Writing Components
  • Two languages c and python
  • More information found http//noxrepo.org/manual/
    app.html
  • Components are stored in src/nox/apps
  • Separate each component into a distinct directory
  • Component Structure
  • You must inherit from class Component
  • You must include a call to the
    REGISTER_COMPONENT macro
  • You must include the following methods
  • Void configure(const Configuration )
  • Void install()

7
Component Paradigm
  • Register for events and specify handlers
  • register_handlerlteventtypegt(boostbind(handling_m
    ethod, this, _1))
  • register_handlerltPacket_in_eventgt(boostbind(Hub
    handler, this, _1))
  • All work done in handler
  • Return either CONTINUE or END
  • NOTE you can start the controller with a list of
    components, event get passed from one to the
    other
  • Returning CONTINUE means the next component
    handles the packet
  • Returning END means no other components handle
    the packets

8
Demo
  • Run component in openflow controller
  • Ping from endhost A
  • Should observe printouts in controllers console

9
Resources
  • Nox website
  • http//noxrepo.org
  • OpenFlow Site
  • http//www.openflowswitch.org/wp/documents

10
Questions
Write a Comment
User Comments (0)
About PowerShow.com