3 | | The GENI infrastructure includes several InstaGENI racks that support OpenFlow 1.3. See the [wiki:GeniAggregate GENI Aggregates] where you can see if a site aggregate switch |
| 3 | Several InstaGENI racks have hardware switches that support OpenFlow 1.3. See the [wiki:GeniAggregate GENI Aggregates] to determine which version of OpenFlow a site supports in the `OF Supported` column. |
| 4 | |
| 5 | 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: |
| 6 | {{{ |
| 7 | cd /tmp/ryu/app |
| 8 | wget https://raw.githubusercontent.com/GENI-NSF/geni-support/master/Utilities/simple_switch_13_ig.py |
| 9 | cd /tmp/ryu |
| 10 | ./bin/ryu-manager ryu/app/simple_switch_13_ig.py |
| 11 | }}} |
| 12 | |
| 13 | |
| 14 | 2. 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. |
| 15 | |
| 16 | Following is an example for OpenFlow over a stitched link between GPO IG and VT IG: |
| 17 | {{{ |
| 18 | <link client_id="link"> |
| 19 | <component_manager name="urn:publicid:IDN+instageni.gpolab.bbn.com+authority+cm"/> |
| 20 | <component_manager name="urn:publicid:IDN+instageni.arc.vt.edu+authority+cm"/> |
| 21 | <interface_ref client_id="ig-gpo:if0"/> |
| 22 | <interface_ref client_id="ig-vt:if0"/> |
| 23 | <property source_id="ig-gpo:if0" dest_id="ig-vt:if0" /> |
| 24 | <property source_id="ig-vt:if0" dest_id="ig-gpo:if0" /> |
| 25 | <emulab:openflow_controller url="tcp:XX.XX.XX.XX:6633" /> |
| 26 | </link> |
| 27 | }}} |
| 28 | |
| 29 | where: XX.XX.XX.XX is your controller IP address. |
| 30 | |
| 31 | |