Network Traffic Control by Association of Network Packets and Processes
13 Assignments
0 Petitions
Accused Products
Abstract
An information handling system includes a plurality of processors that each includes a cache memory, and a receive side scaling (RSS) indirection table with a plurality of pointers that each points to one of the processors. A network data packet received by the information handling system determines a pointer to a first processor. In response to determining the pointer, information associated with the network data packet is transferred to the cache memory of the first processor, The information handling system also includes a process scheduler that moves a process associated with the network data packet from a second processor to the first processor, and an RSS module that directs the process scheduler to move the process and associates the first pointer with the processor in response to directing the process scheduler. In one embodiment, the processes are virtual machines so that network packets associated with a virtual machine are processed by sending an interrupt to a processor supporting executing the virtual machine.
15 Citations
30 Claims
-
1-20. -20. (canceled)
-
21. An information handling system comprising:
-
plural processors, each processor operable to execute one or more processes; memory interfaced with the processors and operable to store information in support of execution of the one or more processes; one or more network interface cards interfaced with the processors and operable to receive information from a network for communication to the processors; and a hypervisor operable to execute on the one or more processors to support execution of plural virtual machines and to coordinate information received at the one or more network interface cards for communication to the plural virtual machines based upon an association between the information and virtual processors of the plural virtual machines. - View Dependent Claims (22, 23)
-
-
24. A method for processing a network packet received at an information handling system having plural processors, the method comprising:
-
generating a hash from predetermined information of the network packet; comparing the generated hash with a predetermined hash value associated with a process executing on the information handling system; and in response to comparing, raising an interrupt to a processor running the process. - View Dependent Claims (25)
-
-
26. A method for processing a network packet receive at an information handling system, the method comprising:
-
determining that a process has a network flow of at least a predetermined amount; in response to determining, moving the process to a predetermined of plural processors; associating a hash of information of the process with the predetermined processor; determining that a hash of the network packet is the hash of the information of the process; and in response to determining that a hash of the network packet is the hash of the information of the process, raising an interrupt to the predetermined processor. - View Dependent Claims (27)
-
-
28. A method for processing a network packet at an information handling system executing a hypervisor, the hypervisor having a virtual network interface card and supporting execution of plural virtual machines on plural processors, the method comprising:
-
marking the network packet by the hypervisor with a virtual processor identifier that identifies a virtual processor associated with processing of the network packet; placing the network packet by the hypervisor in a buffer of the virtual network interface card; and raising an interrupt by the virtual network interface card to the virtual processor associated with the virtual processor identifier. - View Dependent Claims (29)
-
-
30. A method for selecting a processor from plural processors to process a network packet, the method comprising:
-
receiving a network packet in a virtual network interface card; associating the network packet with a process; issuing an interrupt from the virtual network interface card to a virtual processor associated with the network packet process; receiving the interrupt at a hypervisor supporting the virtual network interface card; and issuing an interrupt by the hypervisor to a physical processor supporting the virtual processor.
-
Specification