A Router Primitive Approach for Building Diverse Network Services

This research was conducted by Joel Sommers, Paul Barford, and Ben Liblit. The paper appeared in the 4th International Conference on Communication Systems and Networks (COMSNETS 2012).


The vantage points of routers along end-to-end paths in the Internet have long made them a compelling target for additional functionality. In this paper, we describe a new method for router data plane programmability that is simple, general, flexible and safe and enables complex network services to be built and deployed. Our method targets network processor (NP)- and FPGA-based routers, and is based on two central ideas: (1) primitive functions for routers that are designed for specific target service domains, and (2) a primitive-aware programming language that is expressive, easy to use and easy to analyze. To demonstrate our method, we describe a set of primitive functions in the context of three diverse domains — network measurement, real-time applications and traffic engineering. Next, we describe Morpheme, our primitive-aware programming language, and show how it can be statically analyzed to safeguard router processor and memory resources. We demonstrate the efficacy of our method by implementing the primitive functions in the Click modular router and a prototype Morpheme compiler. Through a series of microbenchmark experiments, we substantiate the capabilities of our prototype implementation.

Full Paper

The full paper is available as a single PDF document. A suggested BibTeX citation record is also available.