Pointer management and content matching packet classification
First Claim
1. A method of handling information packets comprising:
- receiving an information packet;
reading a plurality of bytes of information in the packet relating to packet source or packet destination;
matching the first byte of information to a first matching entry in a first lookup table;
assigning a first pointer to said first matching entry;
storing in memory a second byte of information and associating said second byte of information with said first pointer;
storing in memory a first logic operator associated with said second byte of information and associating said first logic operator with both said first pointer and said second byte of information.
0 Assignments
0 Petitions
Accused Products
Abstract
The present invention performs the series of table lookups in a radically different way than conventional systems. Specifically, the present invention performs the first table lookup conventionally to match a table entry with header information (say a first byte of header information), and assigns a first pointer to the matching first table lookup entry. For a byte, the first table lookup has 28 entries (256 entries). Then, departing from conventional systems, the present invention provides additional memory to the first pointer. The second byte of header information is stored in memory, the significant bit information of the second byte is stored in memory, and a logic operator (“=” or “<”) is stored in memory. The second table lookup has only two entries, true or false. The correct entry is matched with the information that has been stored in memory with the first pointer, and a second pointer is established. Again, with the second pointer, additional memory is allocated to store the third byte of header information, the significant bit information of the third byte, and a logic operator (“=” or “<”). This process is repeated for all of the header information.
37 Citations
11 Claims
-
1. A method of handling information packets comprising:
-
receiving an information packet;
reading a plurality of bytes of information in the packet relating to packet source or packet destination;
matching the first byte of information to a first matching entry in a first lookup table;
assigning a first pointer to said first matching entry;
storing in memory a second byte of information and associating said second byte of information with said first pointer;
storing in memory a first logic operator associated with said second byte of information and associating said first logic operator with both said first pointer and said second byte of information. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method of handling information packets comprising:
-
providing a first lookup table having 28 entries for a first byte of information;
when the second byte of information has significant bits of information, providing a second lookup table having only 2 entries when the second byte of information has no significant bits of information, providing a second lookup table having 1 entry;
linking said first lookup table to said second lookup table using a pointer.
-
Specification