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