Method and apparatus for enforcing packet destination specific priority using threads
First Claim
1. A method for processing a plurality of packets, comprising:
- creating a virtual network stack prior to receiving the plurality of packets from a network wherein a virtual serialization queue is associated with the virtual network stack;
receiving the plurality of packets from the 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 packet is to be forwarded;
forwarding each of the plurality of packets to one of the plurality of temporary data structures as determined by the classifier;
forwarding a plurality of packets from the one of the plurality of temporary data structures to the virtual serialization queue associated with the one of the plurality of temporary data structures, wherein the virtual serialization queue is bound to a thread having a processing priority; and
processing the plurality of packets on the virtual serialization queue using at least one processor bound to the virtual serialization queue and the processing priority,wherein creating the virtual network stack comprises;
creating the virtual serialization queue;
binding the virtual serialization queue to the processor;
binding the virtual serialization queue to a packet destination;
binding the virtual serialization queue to the thread;
creating a virtual network interface card (NIC); and
binding the virtual serialization queue to the virtual NIC and a virtual protocol stack to obtain the virtual network stack.
2 Assignments
0 Petitions
Accused Products
Abstract
A method for processing a plurality of packets that includes receiving the 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 packet is to be forwarded, forwarding each of the plurality of packets to one of the plurality of temporary data structures as determined by the classifier, 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, wherein the virtual serialization queue is bound to a thread having a processing priority, and processing the plurality of packets on the virtual serialization queue using at least one processor bound to the virtual serialization queue and the processing priority.
-
Citations
18 Claims
-
1. A method for processing a plurality of packets, comprising:
-
creating a virtual network stack prior to receiving the plurality of packets from a network wherein a virtual serialization queue is associated with the virtual network stack; receiving the plurality of packets from the 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 packet is to be forwarded; forwarding each of the plurality of packets to one of the plurality of temporary data structures as determined by the classifier; forwarding a plurality of packets from the one of the plurality of temporary data structures to the virtual serialization queue associated with the one of the plurality of temporary data structures, wherein the virtual serialization queue is bound to a thread having a processing priority; and processing the plurality of packets on the virtual serialization queue using at least one processor bound to the virtual serialization queue and the processing priority, wherein creating the virtual network stack comprises; creating the virtual serialization queue; binding the virtual serialization queue to the processor; binding the virtual serialization queue to a packet destination; binding the virtual serialization queue to the thread; creating a virtual network interface card (NIC); and binding the virtual serialization queue to the virtual NIC and a virtual protocol stack to obtain the virtual network stack. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A system, comprising:
-
a network interface configured to receive a plurality of packets from a network; a classifier operatively connected to the network interface configured to analyze each of the plurality of packets and determine to which of a plurality of temporary data structures each of the plurality of packet is forwarded; the plurality of temporary data structures configured to receive packets from the classifier, wherein each of the plurality of temporary data structures is associated with at least one of a plurality of virtual serialization queues; and the plurality of virtual serialization queues each configured to queue a plurality of packets from at least one of the plurality of temporary data structures, wherein each of the plurality of virtual serialization queues is associated with one of a plurality of threads, wherein each of the plurality of threads is associated with a processing priority, wherein the virtual serialization queue is bound to a processor, wherein at least one of the plurality of virtual serialization queues is bound to one of a plurality of packet destinations, wherein the each of the plurality of virtual serialization queues is associated with a virtual network stack, and wherein the virtual network stack comprises a virtual network interface card, a virtual protocol stack and one of the plurality of virtual serialization queues. - View Dependent Claims (13, 14, 15, 16, 17, 18)
-
Specification