Steve - A Programming Language For Packet Processing