Patent ID: 8327116

Claim:
A method of processing data frames, the method comprising for each data frame: determining a determined processing path of a plurality of processing paths in which the data frame is to be processed, the plurality of processing paths comprising a generic processing path and at least one data frame type specific path; and processing the data frame according to the determined processing path using one or more processing engines associated with the determined processing path, wherein data frames of a specific data frame type are processed on a data frame type specific path associated with the specific data frame type, and data frames of a non-specific data frame type are processed on the generic processing path; wherein each data frame has associated with the data frame a transport layer address, the method further comprising for each data frame: determining which processing path of the plurality of processing paths the data frame is to be processed using the transport layer address associated with the data frame, wherein for each data frame the determining which processing path of the plurality of processing paths the data frame is to be processed using the transport layer address associated with the data frame comprises using at least one memory looking up one of the plurality of processing paths using the transport layer address associated with the data frame; wherein for each data frame looking up one of the plurality of processing paths using the transport layer address associated with the data frame comprises looking up a path identifier of the determined processing path using the transport layer address associated with the data frame, and wherein each data frame has a connection established for transmission of the data frame, each connection being established for transmission of at least one data frame of the data frames with the at least one data frame having a processing path of the plurality of processing paths that is to process the at least one data frame, the method further comprising for each connection: storing in a RAM (Random Addressable Memory) in a location in the RAM the path identifier of the processing path that is to process the at least one data frame for which the connection is established, the location having an address; and storing in a CAM (Content Addressable Memory) the address of the location in the RAM in a location associated with the transport layer address of the at least one data frame for which the connection is established; and wherein for each data frame of the data frames, the method further comprising looking up the CAM using the transport layer address associated with the data frame to obtain the address of the location in the RAM of the path identifier of the processing path that is to process the data frame and looking up the RAM using the address of the location in the RAM of the path identifier of the processing path that is to process the data frame for obtaining from the RAM the path identifier of the processing path that is to process the data frame.