Abstract:
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 ne...Show MoreMetadata
Abstract:
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 [1] and a prototype Morpheme compiler. Through a series of microbenchmark experiments, we substantiate the capabilities of our prototype implementation.
Published in: 2012 Fourth International Conference on Communication Systems and Networks (COMSNETS 2012)
Date of Conference: 03-07 January 2012
Date Added to IEEE Xplore: 13 February 2012
ISBN Information: