Most switch vendors have launched “open” platform designs for routers and switches, allowing code from customers or third-party vendors to run on their proprietary hardware. An open platform needs a programming interface, to provide switchlets sufficient access to platform features without exposing too much detail. We discuss the design of an abstraction layer and API designed to support portability between vendor platforms, isolation between switchlets and both the platform and other switchlets, high performance, and programming simplicity. The API would also support resource-management abstractions; for example, to allow policy-based allocation of TCAM entries among multiple switchlets.
['Jeffrey C. Mogul', 'Praveen Yalagandula', 'Jean Tourrilhes', 'Rick McGeer', 'Sujata Banerjee', 'Tim Connors', 'Puneet Sharma']
API Design Challenges for Open Router Platforms on Proprietary Hardware.