Reserving Optical (optionally with Packet) OpenFlow resources

In order to reserve optical OpenFlow resources, the experimenter must create a “openflow:group” element which contains only optical ports. An example of such a reservation RSpec is given in the code section. This RSpec also shows that reservation of packet and optical resources can be done within a single RSpec.

The optical-only “openflow:group” is specified in line 4-17 of the example reservation RSpec.  An “openflow:match” element is then applied to this “openflow:group”  with the specification of a “openflow:optical” filter named “openflow:wavelength”. This is shown in line 18-35. The value attribute of the “openflow:wavelength” should be set to one of the wavelengths supported by the optical OpenFlow ports as can be seen in the advertisement RSpec of the OFAM (one example of such a RSpec is given in code section with for example wavelength specified on line 282). Obviously, it is possible to specify many optical “openflow:group” within a single RSpec and many “openflow:wavelength” within a single “openflow:match”. The XML schema for our optical OFAM can be downloaded here.

The keyword “optical:” should not be included in any “component_id” in the reservation RSpecs. The keyword is only used as an annotation for experimenters to interpret the component. This is really important in the case of jFed Experimenter.

It is recommended that the OpenFlow controller that is specified for this optical with packet flowspace is able to support OpenFlow protocol 1.0 with extension V0.3 for circuit switching (see http://archive.openflow.org/wk/images/8/81/OpenFlow_Circuit_Switch_Specification_v0.3.pdf for protocol extension specification). An incompatible controller may cause the controller to crash as it will not be able to understand the OpenFlow messages sent by the optical switches within the selected flowspace.