Presentation is loading. Please wait.

Presentation is loading. Please wait.

OpenFlow Tutorial Theophilus Benson. Outline Components in an OpenFlow testbed Setting up a testbed Writing a new component – C++ components version –

Similar presentations


Presentation on theme: "OpenFlow Tutorial Theophilus Benson. Outline Components in an OpenFlow testbed Setting up a testbed Writing a new component – C++ components version –"— Presentation transcript:

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 End host1 End host2 End host3 OpenFlow Controller OpenFlow Enabled Switches

4 Virtual Testbed Directions available online – http://noxrepo.org/manual/using.html#setting- up-a-noxnetwork http://noxrepo.org/manual/using.html#setting- 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 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_handler (boost::bind(handling_metho d, this, _1)); – register_handler (boost::bind(&Hub::ha ndler, 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 controller’s console

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

10 Questions


Download ppt "OpenFlow Tutorial Theophilus Benson. Outline Components in an OpenFlow testbed Setting up a testbed Writing a new component – C++ components version –"

Similar presentations


Ads by Google