Go to file
Richard Cochran 5f7facdc63 Bind transmitted packets to the port's network interface.
Even though the MCAST_JOIN_GROUP socket option includes the interface
index, this applies to the received packets only. To bind the outgoing
packets to a particular interface, the IP_MULTICAST_IF option is needed.

Signed-off-by: Richard Cochran <richardcochran@gmail.com>
2011-11-20 18:31:33 +01:00
COPYING Add the license, a readme, and some header files. 2011-11-01 17:39:14 +01:00
README.org Add the license, a readme, and some header files. 2011-11-01 17:39:14 +01:00
bmc.c Add the best master clock algorithm. 2011-11-04 19:20:23 +01:00
bmc.h Add the best master clock algorithm. 2011-11-04 19:20:23 +01:00
clock.c Link it all together, but in slave-only mode. 2011-11-13 12:39:49 +01:00
clock.h Link it all together, but in slave-only mode. 2011-11-13 12:39:49 +01:00
contain.h Add a modular clock servo interface with a PI controller. 2011-11-12 12:31:18 +01:00
ddt.h Add the license, a readme, and some header files. 2011-11-01 17:39:14 +01:00
ds.h Add the license, a readme, and some header files. 2011-11-01 17:39:14 +01:00
fd.h Add transport over UDP IPv4. 2011-11-06 08:16:19 +01:00
foreign.h Implement the PTP clock. 2011-11-12 18:59:13 +01:00
fsm.c Add the state machine. 2011-11-04 18:28:29 +01:00
fsm.h Add the state machine. 2011-11-04 18:28:29 +01:00
linuxptp.c Link it all together, but in slave-only mode. 2011-11-13 12:39:49 +01:00
makefile Link it all together, but in slave-only mode. 2011-11-13 12:39:49 +01:00
missing.h Add the license, a readme, and some header files. 2011-11-01 17:39:14 +01:00
msg.c Add a message layer. 2011-11-06 09:02:57 +01:00
msg.h Add a message layer. 2011-11-06 09:02:57 +01:00
pdt.h Add the license, a readme, and some header files. 2011-11-01 17:39:14 +01:00
phc.c phc: Add a method to query the maximum adjustment. 2011-11-12 18:58:59 +01:00
phc.h phc: Add a method to query the maximum adjustment. 2011-11-12 18:58:59 +01:00
pi.c Add a modular clock servo interface with a PI controller. 2011-11-12 12:31:18 +01:00
pi.h Add a modular clock servo interface with a PI controller. 2011-11-12 12:31:18 +01:00
port.c Link it all together, but in slave-only mode. 2011-11-13 12:39:49 +01:00
port.h Implement the PTP clock. 2011-11-12 18:59:13 +01:00
print.c Add functions for logging messages in kernel style. 2011-11-01 18:12:09 +01:00
print.h Add functions for logging messages in kernel style. 2011-11-01 18:12:09 +01:00
servo.c Add a modular clock servo interface with a PI controller. 2011-11-12 12:31:18 +01:00
servo.h Fix a misplaced doxygen comment. 2011-11-12 17:35:14 +01:00
servo_private.h Add a modular clock servo interface with a PI controller. 2011-11-12 12:31:18 +01:00
tmv.h Add an abstract time value type. 2011-11-12 13:58:28 +01:00
transport.c Add transport over UDP IPv4. 2011-11-06 08:16:19 +01:00
transport.h Add transport over UDP IPv4. 2011-11-06 08:16:19 +01:00
udp.c Bind transmitted packets to the port's network interface. 2011-11-20 18:31:33 +01:00
udp.h Add transport over UDP IPv4. 2011-11-06 08:16:19 +01:00
util.c Add utility functions for obtaining human readable strings. 2011-11-06 07:37:06 +01:00
util.h Add utility functions for obtaining human readable strings. 2011-11-06 07:37:06 +01:00

README.org

Introduction

This software is an implementation of the Precision Time Protocol (PTP) according to IEEE standard 1588 for Linux. The dual design goals are to provide a robust implementation of the standard and to use the most relevant and modern Application Programming Interfaces (API) offered by the Linux kernel. Supporting legacy APIs and other platforms is not a goal.

License

The software is copyrighted by the authors and is licensed under the GNU General Public License. See the file, COPYING, for details of the license terms.

Goals and Features

  • Supports hardware and software time stamping via the Linux SO_TIMESTAMPING socket option.
  • Supports the Linux PTP Hardware Clock (PHC) subsystem by using the clock_gettime family of calls, including the new clock_adjtimex system call.
  • Implements Boundary Clock (BC) and Ordinary Clock (OC).
  • Transport over UDP/IPv4, UDP/IPv6, and raw Ethernet (Layer 2).
  • Modular design allowing painless addition of new transports and clock servos.

Getting Involved

The software development is hosted at Source Forge.

https://sourceforge.net/projects/linuxptp/

Reporting Bugs

Please report any bugs or other issues with the software to the linuxptp-users mailing list.

Development

If you would like to get involved in improving the software, please join the linuxptp-devel mailing list.