This paper describes a system for middleboxes that process application level data -- that is reconstructed TCP flows not packets. The system consists of three parts:
1) A language specific to middleboxes that can quickly express data formats and how to process them but in a "safe" way that allows middleboxes to co-exist on the same physical hardware.
2) An abstraction, the task graph, that breaks middlebox logic into small, parallelisable logical units (tasks) connected by channels through which data flows.
3) A system that allows the compiled code to execute in a performant way.
This talk describes FLICK a system for the application-specific middlebox. It consists of three parts:
1) A domain specific language for the middlebox that allows easy development of typical middlebox functions.
2) An abstraction, the task graph, that allows the breaking of middlebox functions into easily parallelisable work units.
3) The system -- this implements the compiled language, handles TCP connections and memory management.
The whole system is comparable in speed to a specialist implementation.
This is the talk for the European Workshop on Software Defined Networks. It describes the implementation of OpenFlow 1.0 on a Gigabit Ethernet Passive Optical Network. The work describes a generic approach that should work on a number of different access technologies to make them OpenFlow ready. In specific, the work give details on what would be necessary to port the approach used to a new access device.
This talk describes my work in making an access device (Gigabit Ethernet Passive Optical Network) OpenFlow enabled. This is done via a proxy which uses VLAN tagging. The software is public source and available https://github.com/richardclegg/xcpd. This software should be adaptable to work with any access device of similar specification.
European Workshop on Software Defined Networking (Budapest)
This paper reflects on experience gained from implementing OpenFlow on an access device. The architecture used involves a box at the front of the device for tagging traffic and using those tags to make the device present as a single large OpenFlow switch distributed in space. The system has been implemented and tested using OFtest.