PTPd
# PTPd

PTPd is an open source implementation of the Precision Time Protocol for Unix-like computers.

## Derivatives

* PTPd is a complete, BSD licensed, open source code implementation of the IEEE 1588-2008 PTP specification. Currently only Unix-like computers can run the software, but this essentially means that FreeBSD, Linux, Mac OSX, Minix3 and QNX computers can participate in PTP networks. PTPd can act as a master on a system with an external time source, such as a GPS card, or NTP running as a client.
* ptpd2 was intended to be a complete open source implementation of the IEEE 1588-2008 (PTPv2) PTP specification. The project was abandoned in March 2011.
* ptpv2d is GPL re-licensed open source code of IEEE 1588 version 1, version 2 and IEEE 802.1AS including hardware timestamping for Freescale MPC831x family of processors.

## Accuracy

PTPd accuracy depends on how IEEE 1588 packets are timestamped on the participating machines. When IEEE 1588 packets are timestamped in software, interrupt latency, OS scheduling, and other software issues reduce the accuracy of the acquired timestamps, and therefore, the accuracy of time synchronization. The presence of hardware-assisted timestamping makes it possible to acquire more precise send and receive timestamps. A test in 2010 on an Intel Gigabit network card noted offset converging to varying between around 1–100 microseconds in a pure software implementation, and to around a microsecond when using hardware-assisted PTP.

