×

Data structure and associated management routines for TCP control block (TCB) table in network stacks

  • US 9,667,754 B2
  • Filed: 08/11/2014
  • Issued: 05/30/2017
  • Est. Priority Date: 08/11/2014
  • Status: Active Grant
First Claim
Patent Images

1. A method for transport layer lookup, comprising:

  • receiving, by a 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 in main memory, and a pointer cache line size, wherein each of the plurality of pointer cache lines comprises a plurality of array elements, each of which stores a pointer to a memory address for a recently accessed transport layer data structure, wherein each of the plurality of pointer cache lines is aligned with a boundary of a central processing unit (CPU) cache line of a plurality of CPU cache lines of a CPU cache, wherein the pointer cache line size is a function of a size of the CPU cache line and a transport control protocol control block (TCB) pointer size;

    prefetching a plurality of array elements of a pointer cache line of the plurality of pointer cache lines into the CPU cache line, wherein the plurality of array elements comprises a pointer to the first matching transport layer data structure;

    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 in response to a pointer cache miss when searching for the second matching transport layer data structure;

    searching the plurality of global transport layer data structures in main memory to obtain the second matching transport layer data structure, and storing a pointer to a memory address of the second matching transport layer data structure in the pointer cache.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×