PROGRAMMABLE DATA PACKET PARSER
First Claim
1. Apparatus for facilitating parsing of a network data packet comprising:
- a memory device for storing a plurality of database entries, at least a first comparator which is controlled, at least partially in response to data from one or more of said database entries, to perform a comparison on at least a portion of said data packet and to output a first comparison result, said first comparison result being used for forming at least a first part of a signature word at least partially identifying a format of said data packet.
1 Assignment
0 Petitions
Accused Products
Abstract
A data packet parser, for determining packet format, is substantially software controlled, to readily accommodate new or different formats, without the need for using a microprocessor for parsing. Comparisons are performed under the control of data stored in a database. By storing new or different data in the database, new or different packet formats can accommodated without the need for making hardware changes. In one embodiment, comparisons performed on various fields of the data packet result in setting or clearing bits of a signature word which identifies the packet format. The signature word can be used directly or indirectly such as forming the input argument of a ternary CAM, to provide a pointer to microcode which appropriately handles the data packet in the identified format.
37 Citations
44 Claims
-
1. Apparatus for facilitating parsing of a network data packet comprising:
-
a memory device for storing a plurality of database entries, at least a first comparator which is controlled, at least partially in response to data from one or more of said database entries, to perform a comparison on at least a portion of said data packet and to output a first comparison result, said first comparison result being used for forming at least a first part of a signature word at least partially identifying a format of said data packet. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method for identifying a format of a network data packet comprising:
-
storing a plurality of comparison control data in a database;
comparing, using a comparator, at least a first portion of said data packet with parsing data, said comparing including outputting at least a first comparison result, wherein said comparing is at least partly controlled using at least first control data from said database;
forming at least a first portion of a signature word using at least said first comparison result. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. Apparatus for identifying a format of a network data packet comprising:
-
means for storing a plurality of comparison control data;
means for comparing at least a first portion of said data packet with parsing data, and outputting at least a first comparison result, wherein said means for comparing is at least partly controlled using at least first control data from said means for storing;
means for forming at least a first portion of a signature word using at least said first comparison result. - View Dependent Claims (28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40)
-
-
41. A method for handling a network data packet having a first format, comprising:
-
storing, in at least a first of a plurality of registers, a plurality of comparison control data, forming a database;
selecting a first portion of said data packet in response to data from said database;
masking said first portion of said data packet with mask data from said database, to provide masked packet data;
comparing, using a comparator, said masked packet data with parsing data obtained from said database, and outputting a first comparison result;
forming at least a first portion of a signature word using at least said first comparison result wherein said first portion of said signature word is selected in response to data from said database;
comparing at least a second portion of said data packet with parsing data and outputting at least a second comparison result;
forming a second portion of said signature word, different from said first portion, using said second comparison result;
providing associated data in response to said signature word; and
handling said data packet in accordance with said associated data. - View Dependent Claims (42, 43, 44)
-
Specification