1. A method of packetizing Generic Framing Procedure (GFP) data, comprising: receiving a data word on a data bus, the data word comprising at least one byte-aligned GFP frame or a portion of a byte-aligned GFP frame; generating an array of core header candidates from the data word, each core header candidate being offset by an integer number of bytes in the data word; generating a plurality of candidate tours from the array of core header candidates, each candidate tour comprising a different core header candidate from the array of core header candidates, the core header candidate defining a reference position and pointing to a next core header candidate; storing the plurality of candidate tours in a database comprising entries for the core header candidates and next core header candidates of each candidate tour; selecting an active tour from the plurality of candidate tours stored in the database; delineating the data word if the active tour stored in the database comprises at least a threshold number of valid core header candidates, wherein delineating comprises determining the frame boundary of the GFP frame or the portion of the GFP frame from the data word according to the valid core header candidates of the active tour stored in the database; packetizing the GFP frame or the portion of the GFP frame by appending a start of packet tag adjacent to the most significant bit of the frame boundary and appending an end of packet tag adjacent to the least significant bit of the frame boundary; and outputting the GFP frame packet on the data bus.