An apparatus configured to process received packets, comprising: a plurality of packet processors (232A-232N) a session active checker comprising logic that is configured to identifiy a session associated with a first received packet; characterised in that said logic is further configured to determine if any other packet belonging to the identified session is currently being processed by any of the plurality of packet processors send the first received packet to a selected one of the plurality of packet processors in the case that no other packets belonging to the identified session are currently being processed, the session active checker further comprising: logic that is configured to extract a session identifier from the first received packet a session active memory that is configured to store session identifiers of all packets currently being processed by any of the plurality of packet processors a comparator that is configured to compare the session identifier extracted from the first received packet with the session identifiers stored in the session active memory. a plurality of packet processors (232A-232N) a session active checker comprising logic that is configured to identifiy a session associated with a first received packet; characterised in that said logic is further configured to determine if any other packet belonging to the identified session is currently being processed by any of the plurality of packet processors send the first received packet to a selected one of the plurality of packet processors in the case that no other packets belonging to the identified session are currently being processed, the session active checker further comprising: logic that is configured to extract a session identifier from the first received packet a session active memory that is configured to store session identifiers of all packets currently being processed by any of the plurality of packet processors a comparator that is configured to compare the session identifier extracted from the first received packet with the session identifiers stored in the session active memory. identifiy a session associated with a first received packet; characterised in that said logic is further configured to determine if any other packet belonging to the identified session is currently being processed by any of the plurality of packet processors send the first received packet to a selected one of the plurality of packet processors in the case that no other packets belonging to the identified session are currently being processed, the session active checker further comprising: logic that is configured to extract a session identifier from the first received packet a session active memory that is configured to store session identifiers of all packets currently being processed by any of the plurality of packet processors a comparator that is configured to compare the session identifier extracted from the first received packet with the session identifiers stored in the session active memory. logic that is configured to extract a session identifier from the first received packet a session active memory that is configured to store session identifiers of all packets currently being processed by any of the plurality of packet processors a comparator that is configured to compare the session identifier extracted from the first received packet with the session identifiers stored in the session active memory.