Computer-based system for validating hash-based table lookup schemes in a network switch
First Claim
1. A method in a computer system, the method comprising:
- generating and storing on a tangible medium a first data structure having entries, each entry representing a network node and having a corresponding layer 2 network address and a corresponding layer 3 network address;
generating a second data structure having a plurality of data packet headers, by selecting selected entries from the first data structure as source and destination pairs and combining the layer 2 network addresses and layer 3 network addresses for the source and destination pairs with respective randomly-generated numbers representing layer 3 payload data to form the data packet headers; and
evaluating a hash function by supplying the second data structure to a switch model configured for parsing at least a portion of the data packet headers according to the hash function, and monitoring results of the parsing by the hash function.
1 Assignment
0 Petitions
Accused Products
Abstract
A computer-based system is configured for generating a first data structure having entries representing respective network nodes having layer 2 and layer 3 network addresses. The system generates a second data structure, having a plurality of data packet headers, by selecting source and destination pairs from the first data structure and combining the respective layer 2 and layer 3 network addresses from the respective selected source and destination pairs with randomly-generated numbers representing layer 3 payload data. The second data structure is supplied to a switch model configured for parsing the layer 3 network addresses according to selected hash functions. Hence, the computer-based system is able to evaluate the selected hash functions based on a time-independent analysis, eliminating the necessity of building an actual network in hardware or simulating network traffic over a period of time.
72 Citations
28 Claims
-
1. A method in a computer system, the method comprising:
-
generating and storing on a tangible medium a first data structure having entries, each entry representing a network node and having a corresponding layer 2 network address and a corresponding layer 3 network address;
generating a second data structure having a plurality of data packet headers, by selecting selected entries from the first data structure as source and destination pairs and combining the layer 2 network addresses and layer 3 network addresses for the source and destination pairs with respective randomly-generated numbers representing layer 3 payload data to form the data packet headers; and
evaluating a hash function by supplying the second data structure to a switch model configured for parsing at least a portion of the data packet headers according to the hash function, and monitoring results of the parsing by the hash function. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer-based system comprising:
-
a controller for generating and storing on a tangible medium a first data structure having entries, each entry representing a network node and having a corresponding layer 2 network address and a corresponding layer 3 network address, the controller configured for generating a second data structure having a plurality of data packet headers, by selecting selected entries from the first data structure as source and destination pairs, and combining the layer 2 network addresses and layer 3 network addresses for the selected source and destination pairs with respective randomly-generated numbers representing layer 3 payload data to form the data packet headers;
a switch model configured for parsing at least a portion of the data packet headers according to at least one hash function; and
an evaluation module configured for evaluating the at least one hash function by supplying the second data structure to the switch model and monitoring results of the parsing by the hash function. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer readable medium having stored thereon sequences of instructions for evaluating a hash function, the sequences of instructions including instructions for performing the steps of:
-
generating and storing on a tangible medium a first data structure having entries, each entry representing a network node and having a corresponding layer 2 network address and a corresponding layer 3 network address;
generating a second data structure having a plurality of data packet headers, by selecting selected entries from the first data structure as source and destination pairs, and combining the layer 2 network addresses and layer 3 network addresses for the source and destination pairs with respective randomly-generated numbers representing layer 3 payload data to form the data packet headers; and
evaluating a hash function by supplying the second data structure to a switch model configured for parsing at least a portion of the data packet headers according to the hash function, and monitoring results of the parsing by the hash function. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
-
22. A system comprising:
-
a controller configured for generating and storing on a tangible medium a first data structure having entries, each entry representing a network node and having a corresponding layer 2 network address and a corresponding layer 3 network address, the controller configured for generating a second data structure having a plurality of data packet headers, by selecting selected entries from the first data structure as source and destination pairs, and combining the layer 2 network addresses and layer 3 network addresses for the selected source and destination pairs with respective randomly-generated numbers representing layer 3 payload data to form the data packet headers;
a hash function portion configured for parsing at least a portion of the data packet headers according to at least one hash function; and
an evaluation module configured for evaluating the at least one hash function by supplying the second data structure to the hash function portion and monitoring results of the parsing by the hash function. - View Dependent Claims (23, 24, 25, 26, 27, 28)
-
Specification