Patent ID: 7715416

Claim:
A system, comprising: a physical network interface card (NIC) operatively connected to a network, wherein the NIC comprises a hardware classifier, a first receive ring (RR) and a second RR, and wherein the hardware classifier is configured to send packets for a first packet destination to the first RR; and a host, operatively connected to the NIC, comprising: the first packet destination; a soft ring (SR) comprising a software classifier and a first soft receive ring (SRR) and a second SRR, wherein the first RR is operatively connected to the SR, wherein the SR is configured to classify each of the received packets based on a protocol associated with the packet, and send, after classifying, packets associated a first protocol to the first SRR and packets associated with a second protocol to the second SRR; a first virtual network interface card (VNIC), operatively connected to the first SRR, wherein the first VNIC is configured to obtain packets from the first SRR based on a first operating mode and send the packets to a first protocol specific Virtual Network Stack (VNS); a second VNIC operatively connected to the second SRR, wherein the second VNIC is configured to obtain packets from the second SRR based on a second operating mode and send the packets to a second protocol specific VNS; the first protocol specific VNS, operatively connected to the first VNIC, wherein the first protocol specific VNS is configured to process the packets to obtain first processed packets and send the first processed packets to the first packet destination; the second protocol specific VNS, operatively connected to the second VNIC, wherein the second protocol specific VNS is configured to process the packets to obtain second processed packets and send the second processed packets to the first packet destination; a second packet destination; a third VNIC operatively connected to the second RR configured to obtain packets from the second RR using a third operating mode, wherein the hardware classifier is configured to send packets for the second packet destination associated with the first protocol to the second RR; and a third protocol specific VNS, operatively connected to the third VNIC, wherein the third protocol specific VNS is configured to process the packets received from the third VNIC and to obtain third processed packets and send the third processed packets to the second packet destination.