| 123 |  | }}} | 
          
            |  | 99 | From CN80xx refrence manual: | 
          
            |  | 100 |  | 
          
            |  | 101 | The CN80XX hardware supports very accurate timestamping in the PTP, BGX, GTI, | 
          
            |  | 102 | and NIC blocks. This timestamping is suitable for use in IEEE 1588 Precision Time | 
          
            |  | 103 | Protocol (PTP) or other purposes. | 
          
            |  | 104 |  | 
          
            |  | 105 | The CN80XX outbound timestamping hardware captures timestamps, but cannot | 
          
            |  | 106 | insert the timestamp into any outgoing packets. Using IEEE 1588 vernacular, this | 
          
            |  | 107 | means that the CN80XX outbound timestamping hardware is most useful when | 
          
            |  | 108 | implementing a two-step clock, not a one-step clock, for PTP event messages sent | 
          
            |  | 109 | from CN80XX. After the hardware captures the timestamp for the outgoing 1588 | 
          
            |  | 110 | event message and delivers it to software, the 1588 software running on the CN80XX | 
          
            |  | 111 | may need to send the timestamp to required recipients in a subsequent 1588 general | 
          
            |  | 112 | message as a second step. | 
          
            |  | 113 |  | 
          
            |  | 114 | NIC has no specific mode supporting PTP timestamping, but contains a number of | 
          
            |  | 115 | features to compensate for the PTP timestamp introduced by BGX when it is | 
          
            |  | 116 | timestamping. | 
          
            |  | 117 | When BGX is in the receive-timestamp mode, NIC receives the timestamp plus | 
          
            |  | 118 | packet from the BGX. NIC packet parsing is able to skip over the received | 
          
            |  | 119 | timestamps (NIC_PF_PKIND(0..15)_CFG[HDR_SL]). NIC MAXERR, MINERR, and | 
          
            |  | 120 | LENERR checks can compensate for the additional header, since the MAXERR and | 
          
            |  | 121 | MINERR byte counts are programmable, and the programmed value can easily be | 
          
            |  | 122 | increased by 8. The LENERR check already compensates based on the skip value. | 
          
            |  | 123 | NIC makes the timestamp available for software with every packet. The timestamp | 
          
            |  | 124 | can be present in the completion-queue entry and/or the receive buffer in L2/DRAM | 
          
            |  | 125 | for software, depending on NIC configuration. The software will likely use the | 
          
            |  | 126 | timestamp when IEEE 1588 event messages arrive. For other packets, the software | 
          
            |  | 127 | may choose to discard or ignore the timestamp that is present with every packet in | 
          
            |  | 128 | this mode. | 
          
            |  | 129 |  | 
          
            |  | 130 | [[Image(cavium-octeon-tx-block-diagram.jpg, width=600)]] |