1. A method comprising: in response to receiving a packet, determining if a first layer protocol associated with the packet is a supported first layer protocol; and if the first layer protocol is not associated with a supported first layer protocol: looking up the first layer protocol in a first protocol table to determine which bits of the packets to use as a hash value; applying a hash function to the hash value to obtain a hash result; and using the hash result to determine one of a plurality of processors on which to process the packet.