1. A method for processing a plurality of packets, comprising: receiving a plurality of packets from a network; analyzing each of the plurality of packets by a classifier to determine to which of a plurality of temporary data structures each of the plurality of packets is to be forwarded, wherein the classifier analyzes each of the plurality of packets to determine with which of a plurality of protocols each of the plurality of packets is associated, wherein the classifier is one selected from a group consisting of a hardware classifier and a software classifier, and wherein each of the plurality of temporary data structures comprises at least one selected from a group consisting of a virtual network interface card (NIC) queue and a receive ring; forwarding each of the plurality of packets to one of the plurality of temporary data structures as determined by the classifier, wherein each of the plurality of temporary data structures is configured to store packets associated with at least one of the plurality of protocols; forwarding a plurality of packets from the one of the plurality of temporary data structures to a virtual serialization queue associated with the one of the plurality of temporary data structures using one mode selected from a group consisting of polling mode and interrupt mode; and processing the plurality of packets on the virtual serialization queue using a processor bound to the virtual serialization queue.