A gateway for screening packets transferred over a network. The gateway
includes a plurality of network interfaces, a memory and a memory
controller. Each network interface receives and forwards messages from a
network through the gateway. The memory temporarily stores packets
received from a network. The memory controller couples each of the
network interfaces and is configured to coordinate the transfer of
received packets to and from the memory using a memory bus. The gateway
includes a firewall engine coupled to the memory bus. The firewall engine
is operable to retrieve packets from the memory and screen each packet
prior to forwarding a given packet through the gateway and out an
appropriate network interface. A local bus is coupled between the
firewall engine and the memory providing a second path for retrieving
packets from memory when the memory bus is busy.