Patent ID: 8635284

Claim:
A method for processing packets, comprising: receiving, by a network interface card (NIC), a packet from a network, wherein the NIC is a hardware interface between a host and the network; analyzing, by the NIC, the packet to obtain packet information used to determine to which temporary data structure to forward the packet; if a fully qualified white list comprises the packet information indicating that the packet is received from a source on a same connection that has previously provided a successful response to a first test: forwarding, by the NIC, the packet to a fully qualified white temporary data structure on the NIC, and transmitting the packet to a fully qualified white virtual serialization queue on a host from the fully qualified white temporary data structure; if a semi qualified white list comprises a source Internet Protocol (IP) address in the packet information indicating that the packet is received from a same IP address as the source that has previously provided the successful response to the first test: forwarding, by the NIC, the packet to a semi qualified white temporary data structure on the NIC, and transmitting the packet to a semi qualified white virtual serialization queue on the host from the semi qualified white temporary data structure; if a fully qualified black list comprises the packet information indicating that the packet is received from a source on a same connection that has previously provided a unsuccessful response to a second test: forwarding, by the NIC, the packet to a fully qualified black temporary data structure on the NIC, and transmitting the packet to a fully qualified black virtual serialization queue on the host from the fully qualified black temporary data structure; if a semi qualified black list comprises the IP address in the packet information indicating that the packet is received from a same IP address as the source that has previously provided the unsuccessful response to the first test: forwarding, by the NIC, the packet to a semi qualified black temporary data structure on the NIC, and transmitting the packet to a semi qualified black virtual serialization queue on the host from the semi qualified black temporary data structure; and if the fully qualified white list, semi qualified white list, fully qualified black list, semi qualified black list each do not comprise the source IP address: forwarding, by the NIC, the packet to a grey temporary data structure, processing the packet, wherein processing the packet comprises: sending a second test to the source of the packet, placing the packet information on the fully qualified white list and the source IP address on the semi qualified white list, if a successful response to the second test is received, and placing the packet information on the fully qualified black list and the source IP address on the semi qualified black list, if an unsuccessful response to the second test is received.