Network Virtual Machine (NetVM): A New Architecture for Efficient and Portable Packet Processing Applications