DATA STRUCTURE AND ASSOCIATED MANAGEMENT ROUTINES FOR TCP CONTROL BLOCK (TCB) TABLE IN NETWORK STACKS
First Claim
1. A method for transport layer lookup, comprising:
- receiving, by the transport layer of a network protocol stack, a first incoming transport layer packet;
searching a pointer cache for a first matching transport layer data structure comprising state information corresponding to the first incoming packet, wherein the pointer cache comprises;
a plurality of pointer cache lines, each of which is configured to store at least one pointer to a subset of a plurality of global transport layer data structures,returning the state information corresponding to the first incoming packet using the first matching transport layer data structure when a pointer cache hit occurs for the state information corresponding to the first incoming packet;
receiving, by the transport layer of a network protocol stack, a second incoming transport layer packet;
searching the pointer cache for a second matching transport layer data structure comprising state information corresponding to the second incoming packet; and
searching the plurality of global transport layer data structures in main memory to obtain the matching second transport layer data structure, and storing a pointer to a memory address of the matching second transport layer data structure in the pointer cache, when a pointer cache miss occurs for the state information corresponding to the second incoming packet.
2 Assignments
0 Petitions
Accused Products
Abstract
A method for transport layer lookup involves receiving a first incoming transport layer packet, and searching a pointer cache for a first matching transport layer data structure including state information corresponding to the first incoming packet. The pointer cache includes pointer cache lines, each of which stores at least one pointer to a subset of global transport layer data structures. The method further involves returning the state information corresponding to the first incoming packet using the first matching transport layer data structure when a pointer cache hit occurs, receiving a second incoming transport layer packet, searching the pointer cache for a second matching transport layer data structure including state information corresponding to the second incoming packet, and searching the plurality of global transport layer data structures in main memory to obtain the matching second transport layer data structure, when a pointer cache miss occurs.
32 Citations
17 Claims
-
1. A method for transport layer lookup, comprising:
-
receiving, by the transport layer of a network protocol stack, a first incoming transport layer packet; searching a pointer cache for a first matching transport layer data structure comprising state information corresponding to the first incoming packet, wherein the pointer cache comprises; a plurality of pointer cache lines, each of which is configured to store at least one pointer to a subset of a plurality of global transport layer data structures, returning the state information corresponding to the first incoming packet using the first matching transport layer data structure when a pointer cache hit occurs for the state information corresponding to the first incoming packet; receiving, by the transport layer of a network protocol stack, a second incoming transport layer packet; searching the pointer cache for a second matching transport layer data structure comprising state information corresponding to the second incoming packet; and searching the plurality of global transport layer data structures in main memory to obtain the matching second transport layer data structure, and storing a pointer to a memory address of the matching second transport layer data structure in the pointer cache, when a pointer cache miss occurs for the state information corresponding to the second incoming packet. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A host, comprising:
-
a network protocol stack comprising a transport layer configured to receive a first incoming packet and a second incoming packet; and main memory configured to store; a plurality of global transport layer data structures, wherein the plurality of global transport layer data structures is configured to store state information for a plurality of incoming packets, and a pointer cache comprising a plurality of pointer cache lines, each of which is configured to store at least one pointer to a subset of the plurality of global transport layer data structures, wherein the transport layer is further configured to; search the pointer cache for a matching first transport layer data structure comprising state information corresponding to the first incoming packet; return the state information corresponding to the first incoming packet using the first matching transport layer data structure when a pointer cache hit occurs for the state information corresponding to the first incoming packet; search the pointer cache for a second matching transport layer data structure comprising state information corresponding to the second incoming packet; and searching the plurality of global transport layer data structures in the main memory to obtain the matching second transport layer data structure, and store a pointer to a memory address of the matching second transport layer data structure in the pointer cache, when a pointer cache miss occurs for the state information corresponding to the second incoming packet. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A non-transitory computer readable medium comprising software instructions that when executed, perform a method for transport layer lookup, comprising:
-
receiving, by the transport layer of a network protocol stack, a first incoming transport layer packet; searching a pointer cache for a first matching transport layer data structure comprising state information corresponding to the first incoming packet, wherein the pointer cache comprises; a plurality of pointer cache lines, each of which is configured to store at least one pointer to a memory address of a subset of a plurality of global transport layer data structures, returning the state information corresponding to the first incoming packet using the first matching transport layer data structure when a pointer cache hit occurs for the state information corresponding to the first incoming packet; receiving, by the transport layer of a network protocol stack, a second incoming transport layer packet; searching the pointer cache for a second matching transport layer data structure comprising state information corresponding to the second incoming packet; and searching the plurality of global transport layer data structures in main memory to obtain the matching second transport layer data structure, and storing a pointer to the memory address of the matching second transport layer data structure in the pointer cache, when a pointer cache miss occurs for the state information corresponding to the second incoming packet.
-
Specification