Version 1 (modified by, 6 years ago) (diff)


OpenFlow NAT Example


In this tutorial, we will show how do Network address translation (NAT) using OpenFlow on GENI.



  • A GENI account, if you don't have one sign up! (These links are not valid. But they will be after we move this page to geni wiki from syseng wiki)
  • Familiarity with how to reserve GENI resources with any of the GENI Tools (GENI Experimenter Portal, Omni, Flack). If you don't know you can take any of the tutorials:
    • Reserving resources using Flack tutorial
    • Reserving resources using Omni tutorial
  • Familiarity with logging in to GENI compute resources.
  • Basic understanding of the OpenFlow controller model and API is required.
  • The OpenFlow specification, version 1.1.0 is a valuable reference for OpenFlow and the controller model.
  • Familiarity with Unix Command line
  • (Optional) Familiarity with python programming language. We are going to use the Ryu controller, and this is just an example of many controllers.


  • Open vSwitch. OVS is already be installed on your host. Installation was completed as described here.
  • Ryu controller. Ryu controller is installed in your host as part of the sliver creation.

Where to get help:

  • If you need help with GENI, email
  • If you have questions about OpenFlow, OVS, Ryu you can subscribe to openflow-discuss or any of the other mailing lists listed.


Tutorial Instructions


Attachments (1)

Download all attachments as: .zip