wiki:HowTo/OpenFlow1.3

Version 2 (modified by lnevers@bbn.com, 7 years ago) (diff)

--

OpenFlow 1.3 on InstaGENI Hardware Switch

Several InstaGENI racks have hardware switches that support OpenFlow 1.3. See the GENI Aggregates to determine which version of OpenFlow a site supports in the OF Supported column.

  1. Use the request RSPec https://raw.githubusercontent.com/GENI-NSF/geni-tutorials/master/OpenFlowCtrls/Controllers_all.xml to request a controller. Once the controller node is up, login to the controller and download a RYU module developed specifically for the InstaGENI OF 1.3 hardware switches. This module handles the required use of Rule Table ID 100 for HP switches:
    cd /tmp/ryu/app
    wget https://raw.githubusercontent.com/GENI-NSF/geni-support/master/Utilities/simple_switch_13_ig.py
    cd /tmp/ryu
    ./bin/ryu-manager ryu/app/simple_switch_13_ig.py
    
  1. After you have selected the OF 1.3 aggregate sites, define a topology that has nodes at different GENI sites using stitched links. You can pick any site, the key is the link, which must be associated with the controller.

Following is an example for OpenFlow over a stitched link between GPO IG and VT IG:

  <link client_id="link">
    <component_manager name="urn:publicid:IDN+instageni.gpolab.bbn.com+authority+cm"/>
    <component_manager name="urn:publicid:IDN+instageni.arc.vt.edu+authority+cm"/>
    <interface_ref client_id="ig-gpo:if0"/>
    <interface_ref client_id="ig-vt:if0"/>
    <property source_id="ig-gpo:if0" dest_id="ig-vt:if0" />
    <property source_id="ig-vt:if0" dest_id="ig-gpo:if0" />
     <emulab:openflow_controller url="tcp:XX.XX.XX.XX:6633" />
  </link>

where: XX.XX.XX.XX is your controller IP address.