An apparatus and method for processing a data packet to determine the routing of the data packet through a communications network is provided in which the data packet has a header portion and a data portion. The apparatus stores the header portion of the data packet, and processes the header portion of the data packet. The processing may include using a processing core for executing instructions for processing the header portion, searching through a route table to determine a route of the data packet, and searching through a table memory for information about the destination of the data packet in which the route table search, the table memory search and the processing core operate simultaneously to process the header portion and generate an internal header or a network media header. A modified header portion is generated to route the data packet through the communications network. A method for processing data packets to determine the route of the data packet is also provided in which a header portion is received from an incoming data packet, an search based on the received header portion is performed, a route look-up search is performed, and the information contained within the header portion is processed simultaneously for determining if the header portion is valid and generating an internal header or network media header based on the results of the route look-up search, the interface search, and other processing.