Data structures and state tracking for network protocol processing
First Claim
1. A method of forming hashing table chains, comprising:
- obtaining a first connection hash value, the first connection hash value pointing to a first slot in the hashing table;
obtaining a second connection hash value, the second connection hash value pointing to the first slot in the hashing table;
assigning the second connection hash value to a second slot in the hashing table;
pointing the first slot toward the second slot;
obtaining a third connection hash value, the third connection hash value pointing to the second slot in the hashing table;
moving contents of the second slot to a third slot in the hashing table; and
assigning the third connection hash value to the second slot in the hashing table.
0 Assignments
0 Petitions
Accused Products
Abstract
Described are data structures and methodology for forming same, for network protocol processing. A method for creating data structures for firewalling and network address translating is described. A method for creating data structures for physical layer addressing is described. A method for security protocol support using a data structure is described. A method for creating at least one data structure sized responsive to whether a firewall is activated is described. A data structure for routing packets is described. A method of forming hashing table chains is described. A method and apparatus for tracking packet states is described. More particularly, Transmission Control Protocol (“TCP”) tracking of states for packets is described. In an embodiment, a division between software states and hardware states is made as a packet is processed by both software and hardware. A method and apparatus for network protocol processing are also described.
-
Citations
10 Claims
-
1. A method of forming hashing table chains, comprising:
-
obtaining a first connection hash value, the first connection hash value pointing to a first slot in the hashing table; obtaining a second connection hash value, the second connection hash value pointing to the first slot in the hashing table; assigning the second connection hash value to a second slot in the hashing table; pointing the first slot toward the second slot; obtaining a third connection hash value, the third connection hash value pointing to the second slot in the hashing table; moving contents of the second slot to a third slot in the hashing table; and assigning the third connection hash value to the second slot in the hashing table. - View Dependent Claims (2, 3)
-
-
4. A computing device for forming hashing table chains, comprising:
-
a central processing unit (CPU); a memory coupled to the CPU; and a network processor unit (NPU) coupled to the CPU and configured to; obtain a first connection hash value, the first connection hash value pointing to a first slot in the hashing table, obtain a second connection hash value, the second connection hash value pointing to the first slot in the hashing table, assign the second connection hash value to a second slot in the hashing table, point the first slot toward the second slot, obtain a third connection hash value, the third connection hash value pointing to the second slot in the hashing table, move contents of the second slot to a third slot in the hashing table, and assign the third connection hash value to the second slot in the hashing table. - View Dependent Claims (5, 6, 7, 8, 9)
-
-
10. A computer-readable storage medium, excluding transitory signal-bearing media, containing a program which, when executed by a processor, causes execution of a method of forming hashing table chains, comprising:
-
obtaining a first connection hash value, the first connection hash value pointing to a first slot in the hashing table; obtaining a second connection hash value, the second connection hash value pointing to the first slot in the hashing table; assigning the second connection hash value to a second slot in the hashing table; pointing the first slot toward the second slot; obtaining a third connection hash value, the third connection hash value pointing to the second slot in the hashing table; moving contents of the second slot to a third slot in the hashing table; and assigning the third connection hash value to the second slot in the hashing table.
-
Specification