Patent ID: 7733907

Claim:
A method of processing a packet received over a network, the packet having header information associated with a layered protocol, the layered protocol having a plurality of protocol layers, each protocol layer having a protocol associated therewith, the method comprising: in a computer having a network stack formed of a plurality of modules comprising computer-executable instructions and having a processor; a) processing the header information to make a determination whether the packet complies with at least one requirement associated with each of at least a protocol of a first of the plurality of protocol layers and a protocol of a second of the plurality of protocol layers; wherein the processing does not require state-dependent information, wherein state-dependent information is information that is not stored within a packet and is not applicable to all packets; and b) subsequent to the act a), selectively processing the packet using the processor of the computer by: b1) performing a first operation that requires state-dependent information using a first module of the network stack, the first operation being associated with the protocol of the first of the plurality of protocol layers; and b2) performing a second operation that requires state-dependent information using a second module of the network stack, the second operation being associated with the protocol of the second of the plurality of protocol layers; wherein the processing of act b) is selected to have a first sequence of steps or a second sequence of steps, the second sequence of steps being shorter than the first sequence of steps, wherein the selecting between the first sequence of steps and the second sequence of steps is based at least in part on the determination in act a); and wherein the act a) is performed by computer-executable instructions separate from the first module and the second module.