@@ -23,39 +23,41 @@ One of the key features of Floodlight v1.1 is its full support for OpenFlow 1.0
...
@@ -23,39 +23,41 @@ One of the key features of Floodlight v1.1 is its full support for OpenFlow 1.0
To best demonstrate the extent to which constructing and working with OpenFlow concepts such as FlowMods has been improved in Floodlight v1.0, consider the following before and after example.
To best demonstrate the extent to which constructing and working with OpenFlow concepts such as FlowMods has been improved in Floodlight v1.0, consider the following before and after example.
/* Pre-v1.0 -- the old way to compose an OFFlowMod */
**Pre-v1.0 -- the old way to compose an OFFlowMod**
OFFlowMod flow = new OFFlowMod(); // no builder pattern; not immutable
OFMatch match = new OFMatch();
OFFlowMod flow = new OFFlowMod(); // no builder pattern; not immutable
ArrayList<OFAction> actions = new ArrayList<OFAction>();
OFMatch match = new OFMatch();
OFActionOutput outputAction = new OFActionOutput();
ArrayList<OFAction> actions = new ArrayList<OFAction>();
match.setInputPort((short) 1); // not type-safe; many OpenFlow concepts are represented as shorts
OFActionOutput outputAction = new OFActionOutput();
match.setDataLayerType(Ethernet.TYPE_IPv4);
match.setInputPort((short) 1); // not type-safe; many OpenFlow concepts are represented as shorts
.build(); // immutable OFFlowMod; no lengths to set; no wildcards to set
.setOutPort(OFPort.of(2))
sw.write(flow);
.setBufferId(OFBufferId.NO_BUFFER)
.build(); // immutable OFFlowMod; no lengths to set; no wildcards to set
sw.write(flow);
Some of the concepts above will be discussed further below, but the major items to note are the use of the builder design pattern for ease-of-use and the production of immutable objects, the use of objects instead of raw types to enforce type-safe coding and to produce more readable code, built-in wildcarding, and finally there is no need to deal with message lengths.
Some of the concepts above will be discussed further below, but the major items to note are the use of the builder design pattern for ease-of-use and the production of immutable objects, the use of objects instead of raw types to enforce type-safe coding and to produce more readable code, built-in wildcarding, and finally there is no need to deal with message lengths.
...
@@ -69,47 +71,51 @@ For more information on how to use the new APIs exposed in Floodlight v1.1, plea
...
@@ -69,47 +71,51 @@ For more information on how to use the new APIs exposed in Floodlight v1.1, plea
There are many more minor details, which can be found in the release notes. I have been grateful to have the support of many Floodlight developers, and together we have worked to provide the highest quality release within a reasonable time frame. I would especially like to thank the following individuals and beta testers for their code contributions and debugging efforts:
There are many more minor details, which can be found in the release notes. I have been grateful to have the support of many Floodlight developers, and together we have worked to provide the highest quality release within a reasonable time frame. I would especially like to thank the following individuals and beta testers for their code contributions and debugging efforts:
Rui Cardoso
*Rui Cardoso
Hung-Wei Chiu
*Hung-Wei Chiu
Rich Lane
*Rich Lane
Qingxiang Lin
*Qingxiang Lin
Sanjivini Naikar
*Sanjivini Naikar
Jason Paraga
*Jason Paraga
Naveen Sampath
*Naveen Sampath
Rob Sherwood
*Rob Sherwood
Sebastian Szwaczyk
*Sebastian Szwaczyk
KC Wang
*KC Wang
Andreas Wundsam
*Andreas Wundsam
electricjay
*electricjay
Pengfei (Alex) Lu
*Pengfei (Alex) Lu
Based on further community feedback, there will be minor releases to address any issues found or enhancements anyone would like to contribute. The mailing list has seen quite an uptick in activity over the last few months!
Based on further community feedback, there will be minor releases to address any issues found or enhancements anyone would like to contribute. The mailing list has seen quite an uptick in activity over the last few months!
If at any time you have a question or concern, please reach out to us. We rely on our fellow developers to make the most effective improvements and find any bugs. Thank you all for the support and I hope you find your work with Floodlight v1.1 fun and productive!
If at any time you have a question or concern, please reach out to us. We rely on our fellow developers to make the most effective improvements and find any bugs. Thank you all for the support and I hope you find your work with Floodlight v1.1 fun and productive!