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.