Data structures and state tracking for network protocol processing
First Claim
1. A method for data lookup in a network, comprising:
- instantiating a first data structure and a second data structure;
populating the first data structure with state information for a packet;
populating the second data structure with packet information for the packet; and
cross-linking the first data structure and the second data structure, the cross-linking including;
hashing at least a portion of the packet information to generate an index; and
storing, in the first data structure, the index in association with the state information, wherein the index cross-links the first data structure and the second data structure with a single value,wherein the first data structure can be accessed from the second data structure via the single value without having to check for matches involving any other values.
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. Additionally, 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. Additionally, method and apparatus for network protocol processing are described. For example, a packet for network address translation having a media access control header is obtained, from which information, including the media access control header, is obtained. The information is parsed into one or more data structures. It is determined whether a network processing unit is in a first round processing mode, or a second round pass-through mode.
221 Citations
18 Claims
-
1. A method for data lookup in a network, comprising:
-
instantiating a first data structure and a second data structure; populating the first data structure with state information for a packet; populating the second data structure with packet information for the packet; and cross-linking the first data structure and the second data structure, the cross-linking including; hashing at least a portion of the packet information to generate an index; and storing, in the first data structure, the index in association with the state information, wherein the index cross-links the first data structure and the second data structure with a single value, wherein the first data structure can be accessed from the second data structure via the single value without having to check for matches involving any other values. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computing device for data lookup in a network, comprising:
-
a central processing unit (CPU); a memory coupled to the CPU; and a network processor unit coupled to the CPU and configured to; instantiate a first data structure and a second data structure, populate the first data structure with state information for a packet, populate the second data structure with packet information for the packet, and cross-link the first data structure and the second data structure, wherein the cross-linking includes hashing at least a portion of the packet information to generate an index and storing in the first data structure the index in association with the state information, wherein the index cross-links the first data structure and the second data structure with a single value, wherein the first data structure can be accessed from the second data structure via the single value without having to check for matches involving any other values.
-
-
8. A method for creating data structures in a network, comprising:
-
instantiating a first, a second and a third data structure; populating the first data structure with state information; populating the second data structure with network address translation information; populating the third data structure with interface information; and cross-linking the first data structure and the second data structure to the third data structure, the cross-linking including; generating an index for the interface information; and storing the index in the first data structure in association with the state information and in the second data structure in association with the network address translation information, the index cross-linking the first data structure and the second data structure with a single value, wherein the generating comprises hashing at least a portion of the interface information, and the first data structure can be accessed from the second data structure via the single value without having to check for matches involving any other values. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
Specification