Warp is an OpenFlow driver consisting of two main parts:
The main requirement for developing this driver was rapid prototyping, implementation and be able to develop the same for various versions of OpenFlow protocols with greater ease. Our experience has helped us to provide effective feedback to Specifications with working code.
The OpenFlow protocol driver is built on modified Apache Avro ((http://avro.apache.org/docs/current/) and provides a clear API to parse OpenFlow messages. Apache Avro provides a JSON-based language for protocol description. Use of Avro to describe the protocol has made it easy to define, understand and modify the protocol. Avro makes it easier to implement future versions of OpenFlow. Also, Avro has the ability to parse protocols and update protocol description files in runtime, without code generation. We utilize the work done by the Avro and Hadoop community that has developed and tested Avro code. We have built upon it by updating Avro syntax to make it more suitable for describing OpenFlow protocol.
The OpenFlow Controller driver is based on Akka (http://akka.io/). Akka implements a simple and powerful message-driven actors model for low-latency multitask applications and is designed for high performance and scalability. We have used Akka to implement message-driven multitask driver, supporting multiple connections with different OpenFlow datapath elements. Our driver provides a clear message-driven API.
Currently the drivers are developed in Java for good portability. In addition, as Avro already has python and C++ implementations, we plan to port the OpenFlow protocol driver to these languages.
LINCLINC on MininetApache AvroAkka
All papers and available as a part of the Warp repository. Documents include:
|Categories||Networking > Networking SDK, APIs, Libraries|
Use of the SDxCentral service directory is governed by our Terms of Service, including without limitation those sections under the headings "CONTENT", "LICENSING AND OTHER TERMS APPLYING TO CONTENT POSTED ON THE SDXCENTRAL SITES", "INDEMNITY; DISCLAIMER; LIMITATION OF LIABILITY" AND "COPYRIGHTS". Under no circumstances will SDxCentral be liable in any way for any Content, including, but not limited to, liability for any errors or omissions in any Content or for any loss or damage of any kind incurred as a result of the use of any Content posted, emailed or otherwise transmitted via the Sites.