= OpenFlow 1.3 on InstaGENI Hardware Switch =
Several InstaGENI racks have hardware switches that support !OpenFlow 1.3. See the [wiki:GeniAggregate GENI Aggregates] to determine which version of !OpenFlow each GENI site supports in the `"OF Supported"` column.
== Run the OpenFlow 1.3 Controller ==
1. To request an !OpenFlow 1.3 controller host with supported OF controllers installed and ready to run you can use the request RSPec:
- https://raw.githubusercontent.com/GENI-NSF/geni-tutorials/master/OpenFlowCtrls/Controllers_all.xml
- or the GENI Portal RSpec as `"XEN OpenFlow Controllers"`.
2. 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 Ryu module uses the required use of Rule Table ID 100 for HP switches:
{{{
wget https://raw.githubusercontent.com/GENI-NSF/geni-support/master/Utilities/simple_switch_13_ig.py
cp simple_switch_13_ig.py /tmp/ryu/app/simple_switch_13_ig.py
cd /tmp/ryu
./bin/ryu-manager ryu/app/simple_switch_13_ig.py
}}}
You are now running an !OpenFlow 1.3 simple switch controller!
3. While logged in determine the IP address of the controller hosts to use in the next section.
== Run the Experiment ==
4. Selected OF 1.3 aggregate sites from the [wiki:GeniAggregate GENI Aggregates] page, define a topology that has nodes at different GENI sites using stitched links. 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:
{{{
}}}
''where: XX.XX.XX.XX is your controller IP address.''
If you are using the Portal select the stitched link between the 2 sites and in the left-hand panel:
a. Choose `Stitched` in the `"Link Type"` pull-down.
b. Click on the `Openflow` option, which will enable a blank field where you can enter ''tcp:XX.XX.XX.XX:6633'', where: ''XX.XX.XX.XX'' is your controller IP address.
5. Reserve the resources and you are now ready to run your !OpenFlow experiment.