A network device for processing data on a data network includes a
plurality of ports, configured to receive data from a data network and to
send processed data to the data network, a memory management unit
configured store data on and retrieve data from the memory and a
multi-part parser configured to parse the data received. The multi-part
parser comprises several parsing blocks configured to serially parse the
data, with each block designated to parse particular values and where
each block but a first block receives parsed data from a prior block with
the particular values at a zero offset position.