McNettle is an OpenFlow controller framework targeting large multicore servers that is designed to achieve high performance and multicore scaling while allowing users to write control logic in Haskell, a high-level functional programming language. McNettle aims to handle traffic loads that are estimated to occur at large data center: 20 million flows per second with under 10ms latency. By targeting multicore servers, McNettle allows users to write scalable control programs that require highly consistent control state across the entire network.
Some preliminary documentation on McNettle can be found in our demo abstract for SigComm’12, our demo poster for the SigComm’12 , and slides from a recent talk about McNettle and a Yale technical report describing an early version of McNettle.
In more recent work, we have focused on automating the error-prone and performance-critical task of generating Openflow rules from high-level policies. Our system that achieves this, using a variety of novel techinques, is maple.