Patent ID: 7983266
Filing Date: 2011-07-19
Classification: H04L

Abstract:
1. A non-transitory computer readable medium comprising software instructions for processing packets, wherein the software instructions, when executed by a processor, perform a method, the method comprising: receiving a first packet, wherein the first packet is associated with a first protocol and a packet destination; classifying the first packet using the first protocol and the packet destination; sending the first packet to a first receive ring based on the classification; sending the first packet from the first receive ring to a first virtual network interface card (VNIC) based on an operating mode; sending the first packet from the first VNIC to a first protocol specific virtual network stack (VNS), wherein the first protocol specific VNS is configured to only process packets associated with the first protocol, and wherein the first protocol specific VNS is associated with the packet destination; and processing the first packet by the first protocol specific VNS to obtain a first processed packet; receiving a second packet, wherein the second packet is associated with a second protocol and the packet destination; classifying the second packet using the second protocol and the packet destination; sending the second packet to a second receive ring based on the classification; sending the second packet from the second receive ring to a second VNIC based on the operating mode; sending the second packet from the second VNIC to a second protocol specific VNS; and processing the second packet by the second protocol specific VNS to obtain a second processed packet, wherein the first protocol specific VNS comprises a first virtual serialization queue (VSQ) and the second protocol specific VNS comprises a second VSQ, wherein the first VSQ is associated with a first configuration parameter and the second VSQ is associated with a second configuration parameter, wherein the first configuration parameter specifies that any thread accessing the first VSQ implements a mutual exclusion policy, and wherein the second configured parameter specifies that multiple threads may concurrently access the second VSQ.