Sciweavers

EUROSYS
2007
ACM

Melange: creating a "functional" internet

14 years 8 months ago
Melange: creating a "functional" internet
Most implementations of critical Internet protocols are written in type-unsafe languages such as C or C++ and are regularly vulnerable to serious security and reliability problems. Type-safe languages eliminate many errors but are not used to due to the perceived performance overheads. We combine two techniques to eliminate this performance penalty in a practical fashion: strong static typing and generative metaprogramming. Static typing eliminates run-time type information by checking safety at compile-time and minimises dynamic checks. Meta-programming uses a single specification to abstract the lowlevel code required to transmit and receive packets. Our domain-specific language, MPL, describes Internet packet protocols and compiles into fast, zero-copy code for both parsing and creating these packets. MPL is designed for implementing quirky Internet protocols ranging from the low-level: Ethernet, IPv4, ICMP and TCP; to the complex application-level: SSH, DNS and BGP; and even fi...
Anil Madhavapeddy, Alex Ho, Tim Deegan, David Scot
Added 10 Mar 2010
Updated 10 Mar 2010
Type Conference
Year 2007
Where EUROSYS
Authors Anil Madhavapeddy, Alex Ho, Tim Deegan, David Scott, Ripduman Sohan
Comments (0)