This paper describes an operating system (OS) interface for active routers,
This interface allows code loaded into active routers to access the router
's memory, communication, and computational resources on behalf of differen
t packet flows. In addition to motivating and describing the interface, the
paper also reports our experiences implementing the interface in three dif
ferent OS environments: Scout, the OSKit, and the exokernel.