Section: Bilateral Contracts and Grants with Industry
Enabling network function composition with Click middleboxes
In the context of the common Inria - Nokia Bell-Labs laboratory on Communication networks of the future, we participate to the Content Centric Networking ADR (Action de Recherche). In the context of this ADR, a post-doctoral researcher, Anandatirtha Nandugudi Sathyaraja, is working on enabling network function composition with Click middleboxes. In fact, the Click modular router has significant advantages for middlebox development, including modularity, extensibility, and reprogrammability. Despite these features, Click still has no native TCP support and only uses nonblocking I/O, preventing its applicability to middleboxes that require access to application data and blocking I/O. In this paper, we attempt to bridge this gap by introducing Click middleboxes (CliMB). CliMB provides a full-fledged modular TCP layer supporting TCP options, congestion control, both blocking and nonblocking I/O, as well as socket and zero-copy APIs to applications. As a result, any TCP network function may now be realized in Click using a modular L2-L7 design. As proof of concept, we develop a zero-copy SOCKS proxy using CliMB that shows up to 4 times gains compared to an equivalent implementation using the Linux in-kernel network stack.