Methods and apparatus, including computer program products, implementing
and using techniques for processing a data packet. An input port receives
a data packet, a switching board classifies the data packet, determines
whether the data packet should be accepted, and switches the data packet
to a management board if the data packet is a first data packet in a
session, and to a processing board if the data packet is not a first data
packet in a session. A management board receives a data packet from the
switching board, examines the data packet and forwards the data packet to
one of the processing boards. One or more processing boards receives
non-first data packets from the switching board and data packets from the
management board and processes the data packets. A firewall and a secure
gateway with firewall and virtual private network functionality for
processing a data packet are also described.