| 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)]] |