Patent ID: 6976096

Claim:
A method for controlling admittance of a data packet into a memory buffer, the method comprising: performing, prior to queuing the data packet for routing by a processor, the following: receiving a data packet from one of at least two different ports; determining a priority value within the data packet; determining an admittance group identifier for the data packet based on the priority value and the port the data packet was received; and admitting the data packet into the memory buffer, the memory buffer being associated with a group identified by the determined admittance group identifier; and queuing the data packet from the memory buffer to one of a number of queues for routing by the processor upon determining that a number of data packets stored in the memory buffer and having the admittance group identifier is not greater than a threshold value associated with the determined admittance group identifier, wherein determining the priority value within the data packet is preformed based on classifying the data packet as one of a number of packet formats, wherein classifying the data packet received from one of the at least two different ports comprises classifying the data packet using instructions in a number of instruction streams, wherein each of the number of instruction streams are associated with one of the number of packet formats, wherein each instruction comprises a first portion having an operation code and a second portion having a target result of an operation associated with the operation code, and wherein for at least one byte of each data packet, the method further comprises applying each instruction of each instruction stream by performing on the respective byte an operation indicated in the operation code of the first portion of the respective instruction, and comparing a result of the operation with the target result indicated in the second portion of the respective instruction to determine a format of the respective data packet.