A method, comprising: receiving, via a first port of a plurality of ports, a stream of bits within a metaframe, wherein the metaframe includes payload data and a cyclic redundancy check, CRC, at the end of the metaframe covering the entire metaframe, and further includes a plurality of checkpoints (306A, 306B) used to separate the metaframe into segments (302A, 302B) comprising different portions of the stream of bits, wherein each checkpoint comprises a CRC for validating a respective segment; processing the stream of bits before receipt of the entire metaframe, the processing comprising: detecting one of the plurality of checkpoints within the stream of bits, the checkpoint comprising a first CRC for a first portion of the stream of bits, wherein the first portion of the stream of bits corresponds to a first segment of the metaframe segments; evaluating the first CRC and determining whether the first CRC is valid; in response to determining that the first CRC is valid, forwarding the first portion of the stream of bits corresponding to the first segment without performing forward error correction, FEC, decoding for the first portion of the stream of bits, wherein the first portion is forwarded before the rest of the metaframe data has been received; and in response to determining that the first CRC is invalid, performing FEC decoding for the first portion of the stream of bits corresponding to the first segment before forwarding the first portion of the stream of bits. receiving, via a first port of a plurality of ports, a stream of bits within a metaframe, wherein the metaframe includes payload data and a cyclic redundancy check, CRC, at the end of the metaframe covering the entire metaframe, and further includes a plurality of checkpoints (306A, 306B) used to separate the metaframe into segments (302A, 302B) comprising different portions of the stream of bits, wherein each checkpoint comprises a CRC for validating a respective segment; processing the stream of bits before receipt of the entire metaframe, the processing comprising: detecting one of the plurality of checkpoints within the stream of bits, the checkpoint comprising a first CRC for a first portion of the stream of bits, wherein the first portion of the stream of bits corresponds to a first segment of the metaframe segments; evaluating the first CRC and determining whether the first CRC is valid; in response to determining that the first CRC is valid, forwarding the first portion of the stream of bits corresponding to the first segment without performing forward error correction, FEC, decoding for the first portion of the stream of bits, wherein the first portion is forwarded before the rest of the metaframe data has been received; and in response to determining that the first CRC is invalid, performing FEC decoding for the first portion of the stream of bits corresponding to the first segment before forwarding the first portion of the stream of bits. detecting one of the plurality of checkpoints within the stream of bits, the checkpoint comprising a first CRC for a first portion of the stream of bits, wherein the first portion of the stream of bits corresponds to a first segment of the metaframe segments; evaluating the first CRC and determining whether the first CRC is valid; in response to determining that the first CRC is valid, forwarding the first portion of the stream of bits corresponding to the first segment without performing forward error correction, FEC, decoding for the first portion of the stream of bits, wherein the first portion is forwarded before the rest of the metaframe data has been received; and in response to determining that the first CRC is invalid, performing FEC decoding for the first portion of the stream of bits corresponding to the first segment before forwarding the first portion of the stream of bits.