Patent ID: 8457131

Claim:
A network device for processing data on a data network, the network device comprising: a port interface, in communication with a plurality of ports, configured to receive data packets from a data network and to send processed data packets to one or more egress ports of the plurality of ports; a packet evaluation module, in communication with the port interface, configured to forward the received data packets to both a tunnel parser and a parser FIFO to maintain a same packet order; the tunnel parser configured to determine whether tunneling is being employed by checking the received data packets for inner and outer tags; a parser configured to parse fields of the received data packets; the parser FIFO configured to maintain lengths of the received packets; and a search engine, in communication with the packet evaluation module, configured to perform searches in at least one lookup table, the searches being based on values of the parsed data packets and to return search results from the lookup table to the packet evaluation module, wherein the obtained search results include a tunnel type for the packets and wherein the search results are used by the packet evaluation module to determine an egress port of the network device from which to send a received packet to a destination address, wherein at least one lookup table includes both entries of a first type used to determine an egress port of the network device from which to send a first type of received data packet to a destination address and entries of a second type used to determine an egress port of the network device from which to send a second type of received data packet to a destination address, where the search engine is configured to distinguish between the first and second types of entries in the at least one lookup table.