Building Reliable and Performant Software Defined Networks