Dear linuxptp users and developers, I am happy to announce the release of Version 4.0 of linuxptp, coming almost three years since the previous release. I pushed tag v4.0 to the various git mirrors and uploaded a tar ball to SF.
The number of individual contributors has nearly doubled since the last release. Thank you to Alexander, Amar, Changqing, Christopher, Cliff, David, Erez, Eyal, Grygorii, Hangbin, Heiko, Izunna, Jacob, Juergen, Karthikkumar, Kosta, Lars, Luigi, Maciek, Magnus, Marcin, Martin, Miroslav, Nikhil, Rahul, Sebastian, SyncMonk, Tan Tee, Tomofumi, Vadim, Vincent, Vladimir, Wojtek, Wong Vee, and Yangbo. The short log is appended, below. Thanks, Richard Alexander Bulimov via Linuxptp-devel (3): Add PORT_SERVICE_STATS_NP management TLV Add UNICAST_MASTER_TABLE_NP management TLV Add new management TLVs to pmc.8 Amar Subramanyam (1): Added support for Standard Baudrates supported by GNSS receivers Amar Subramanyam via Linuxptp-devel (2): Log optimization for ptp4l in jbod and client only mode (clientOnly=1 and boundary_clock_jbod=1) Log optimization for ptp4l in jbod and client only mode (clientOnly=1 and boundary_clock_jbod=1) Changqing Li (1): makefile: use conditional assignment for KBUILD_OUTPUT Christopher S M Hall (1): Set controlField to zero in message headers Cliff Spradlin via Linuxptp-devel (2): port: Cache display name for logs. Improve port-related log messages. Erez Geva (7): Ensure TLV_PORT_STATS_NP statistics uses little endian. Fix SLAVE_ONLY TLV Add master only management TLV TLV management messages need to be aligned to 16 bits. Add new managements TLVs get size. Fix management TLV print. Add new ptp capability. Eyal Itkin via Linuxptp-devel (1): Avoid switching PHC when phc_index is negative Grygorii Strashko (3): phc2sys: add dbg print for clock state change events phc2sys: fix BC sync fault when port in uncalibrated state util: add SIGHUP handling Hangbin Liu (3): ptp4l: init iface->ts_label when interface created port: refactor port_link_status ptp4l: add VLAN over bond support Heiko Thiery (1): missing.h: uclic-ng has clock_nanosleep support since v1.0.31 Izunna Otiji (1): ptp4l: Add profile_id configuration support for G.8275.1 and G.8275.2. Jacob Keller (6): Increase the default tx_timestamp_timeout to 10 phc2sys: move read_phc into clock_adj.c phc_ctl: replace calculate_offset with clockadj_compare port: don't clear fault if link is down config: allow fractional freq_est_interval servo: stop rounding initial frequency to nearest ppb Juergen Werner (2): tlv: Fix byte reordering in ScaledNs Implement push notification for TIME_STATUS_NP Karthikkumar V (1): Clock Class Threshold Feature addition for PTP4L Karthikkumar V via Linuxptp-devel (1): Delay Response Timeout Feature addition for PTP4L Kosta Demirev (1): Check 'print_log' before arguments are evaluated, not after. Lars Munch (5): Set domainNumber for telecom examples ts2phc: Fix uninitialized variable in nmea_scan_rmc ts2phc: Close socket on peer shutdown ts2phc: Update leapfile documentation ts2phc: Add serial baudrate option Luigi Mantellini (1): The PortId is defined as a couple of ClockId (an 8-bytes opaque) and the PortNumber (UInterger16). Maciej Machnikowski (3): ts2phc: Rename pps_sink to tod_sink in main() ts2phc: Add option to specify the ToD source in the config file ts2phc: Use system time as the default ToD source Maciek Machnikowski (12): phc2sys: Allow multiple sink clocks phc2sys: Add support for free-running mode phc2sys: Update TAI to UTC offset in manual ts2phc: Update default lstab expiry date lstab: Add LSTAB_EXPIRED result lstab: move update_leapsecond_table function to lstab ts2phc: Fix generic pps source when tai offset is not set in OS tz2alt: Add tz2alt to .gitignore ts2phc: Prevent reporting poll error when received termination signal ts2phc: Fix potential null-pointer dereference lstab: Update leapfile validity ntpshm: Invalidate SHM data before releasing the servo Magnus Armholt (1): Strip Parallel Redundancy Protocol (PRP) trailer Marcin Miklas (1): Fix --initial_delay for automotive profile Martin Pecka (3): UDS: added option to set file mode for the created socket. UDS: allow specifying different file mode for the read-only socket. Fix detection of VLAN over bond support in case the driver does not support SIOCGHWTSTAMP ioctl. Miroslav Lichvar (57): phc2sys: Remove superfluous code. phc2sys: Postpone adding of servo to clock. port: Don't assume transport from port number. port: Ignore non-management messages on UDS port. clock: Don't allow COMMAND action on non-UDS port. clock: Rename UDS variables to read-write. clock: Add read-only UDS port for monitoring. timemaster: Set uds_ro_address for ptp4l instances. sk: Don't return error for zero-length messages. Avoid unaligned pointers to packed members. pmc: Fix printed totalCorrectionField. Avoid undefined integer operations. Revert "phc2sys: Expand the validation of the PPS mode." tc: Fix length of follow-up message of one-step sync. clock: Reset state when switching port with same best clock. clock: Reset clock check on best clock/port change. port: Don't check timestamps from non-slave ports. port: Don't renew raw transport. clockcheck: Increase minimum interval. config: Add workaround for glibc getopt_long(). Fix quoting in ptp4l man page. lstab: Close file after reading. clock: Accept new UTC offset after leap second. clock: Print info message when leap flags change. clock: Clear leap flags after leap second. clock: Notify servo about leap second on UTC hardware clock. clock: Split update of leap status from clock_time_properties(). pmc: Initialize reserved field in management_tlv_datum. rtnl: Fix rtnl_rtattr_parse() to process max attribute. rtnl: Add function to detect virtual clocks. Add support for binding sockets to virtual clocks. config: Add port-specific phc_index option. port: Check for virtual clocks. tlv: Add PORT_HWCLOCK_NP. phc2sys: Use PHC index from PORT_HWCLOCK_NP. timemaster: Add support for virtual clocks. clockadj: Change clockadj_compare() to return errno. sysoff: Change sysoff_measure() to return errno. sysoff: Change log level of ioctl error messages. sysoff: Retry on EBUSY when probing supported ioctls. phc2sys: Don't exit when reading of PHC fails with EBUSY. port: Disable PHC switch with vclocks. sk: Handle EINTR when waiting for transmit timestamp. phc2sys: Add clocks after processing configuration. Drop support for old kernels returning zero frequency. Don't accept errors in clockadj_get_freq(). Extend clockcheck to check for changes in frequency. config: Fix -Wformat-truncation warnings. port: Avoid faults with vclocks and PHC from command line. Remove obsolete statement in ptp4l man page. Add refclock_sock servo. timemaster: Replace shm_segment with refclock_id. timemaster: Use refclock_sock servo with chrony. unicast: Avoid undefined integer shifts. port: Don't switch to PHC with SW timestamping. Clear pending errors on sockets. clock: Fix summary interval in free-running mode. Nikhil Gupta (1): lstab: Bring expiration up to date. Rahul Rameshbabu via Linuxptp-devel (2): Improve efficiency of nullf servo synchronization Fix SERVO_JUMP docstring comment Richard Cochran (78): Introduce the PMC agent module. pmc_agent: Rename pmc_node to something more descriptive. pmc_agent: Hide the implementation. Find a better home for the management TLV ID helper function. Find a better home for the management TLV data helper function. Clarify the documentation of the management TLV ID helper function. Introduce error codes for the run_pmc method. pmc_agent: Convert the subscribe method into the canonical form. pmc_agent: Simplify the update method. pmc_agent: Simplify logic in update method. pmc_agent: Remove bogus comparison between last update and now. pmc_agent: Perform time comparison using positive logic. pmc_agent: Rename the update method and attempt to document it. Avoid setting clock frequency when free running. Update the description of the time_stamping configuration option. rtnl: Fix trivial spelling error in the name of a helper function. phc2sys: Fix null pointer de-reference in manual mode. pmc_agent: Convert the method that queries TAI-UTC offset into the canonical form. pmc_agent: Convert the method that queries the port properties. pmc_agent: Generalize the method that queries the local clock identity. pmc_agent: Simplify the method that gets of the number of local ports. phc2sys: Don't duplicate the command line arguments. phc2sys: Rename PMC agent pointer from node to agent. phc2sys: Replace hard coded tests with a readable helper function. phc2sys: Validate the PPS mode right away. phc2sys: Expand the validation of the PPS mode. phc2sys: Replace magical test with a proper test. phc2sys: Replace yet another magical test with a proper test. phc2sys: Move static configuration to its own subroutine. pmc_agent: Let the update method poll for push events. phc2sys: Simplify the main loop. pmc_agent: Remove an obsolete method. phc2sys: Fix regression in the automatic mode. Update the unicast subscriptions when the GM changes. phc2sys: Ensure PHC source when using PPS mode. phc2sys: Update man page to reflect the new restriction on the PPS mode. phc2sys: Convert man page to source/sink terminology. phc2sys: Convert man page to client/server terminology. ptp4l: Convert man page to client/server terminology. ts2phc: Convert man page to source/sink terminology. phc2sys: Convert usage messages to time source/sink terminology. ptp4l: Convert usage messages to client/server terminology. ts2phc: Convert usage message to time source/sink terminology. Check for deprecated "long" options on the command line. Deprecate the slaveOnly option in favor of clientOnly. Convert the example configuration files over to the new clientOnly option. Update man pages to reflect the new clientOnly option. Deprecate the masterOnly option in favor of serverOnly. Convert the example configuration files over to the new serverOnly option. Update man page to reflect the new serverOnly option. Revert "phc2sys: Ensure PHC source when using PPS mode." tlv: Fix coding style. Prevent client ports getting stuck in the UNCALIBRATED state. Validate the messageLength field of incoming messages. Rename management ID macros. Maintain one Announce sequence counter per destination address. Maintain one Sync sequence counter per destination address. Fix up alphetical order in port_private header file. Alphabetize configuration options in the ptp4l man page. Remove stray copy/pasteo from the phc2sys man page. Alphabetize configuration options in the phc2sys man page. Alphabetize configuration options in the pmc man page. Alphabetize configuration options in the ts2phc man page. man pages: Bump date. Accept the full range for domainNumber. tlv: Encode and decode power profile TLVs. Introduce the power profile. Add a custom management message for power profile settings. tlv: Encode and decode alternate time offset indicator TLVs. Prepare clock based storage of up to four time zones. Add the ALTERNATE_TIME_OFFSET_PROPERTIES management message. Add the ALTERNATE_TIME_OFFSET_NAME management message. Implement the ALTERNATE_TIME_OFFSET_ENABLE management message. pmc: Convert internal helper function into global method. Introduce a time zone helper program. power profile: Fix regression in the default configuration file. ts2phc: Fix memory leak on initial error path. Version 4.0 Sebastian Andrzej Siewior (1): raw: Use BPF filter based on tcpdump syntax. SyncMonk Technologies (5): G.8275.2 support for delay_mechanism NO_MECHANISM function to support get interface speed via ethtool adding speed field information for interface organization TLV support for interface rate adding delay asymmetry calculation Tan Tee Min (1): msg: append TLV onto all PTP event messages Vadim Fedorenko via Linuxptp-devel (3): unicast: Update announce timer when renew unciast_client: trigger BMCA upon CANCEL receive port: start sync rx timer on grant Vincent Cheng (10): port: Fix link down/up to continue using phc_index set from command line -p option. clock: Introduce step_window to free run x Sync events after a clock step. unicast: Add support to check if message was received from an entry in the unicast master table. unicast: Add support to send CANCEL_UNICAST_TRANSMISSION TLVs. port: unicast client - do not add master to foreign master table if not in the unicast master table. port: cancel unicast transmission when closing port. unicast_client: stop sending abnormal contract cancel requests unicast_client: fix checkpatch ERROR: trailing whitespace unicast_client: cancel sync/delay_response on UC_EV_UNSELECTED event clock: Fix stale clock parent pid usage after best master change Vladimir Oltean (20): phc2sys: break long lines in the PTP management message accessors phc2sys: extract PMC functionality into a smaller struct pmc_node phc2sys: make PMC functions non-static phc2sys: break out pmc code into pmc_common.c util: fix dangling file descriptors on the error path of posix_clock_open util: attempt to resolve symlinks to the PHC device in posix_clock_open pmc_agent: make pmc_agent_query_port_properties take an enum port_state argument ts2phc: rename source code files ("master" to "source", "slave" to "sink") ts2phc: rename "slave clocks" to "PPS sinks" ts2phc: rename "master" to "source" ts2phc: create a private data structure ts2phc: instantiate a full clock structure for every PPS sink ts2phc: instantiate a full clock structure for every PPS source of the PHC kind util: import port_state_normalize() logic from phc2sys ts2phc: instantiate a pmc agent ts2phc_slave: print offset to the source clock ts2phc: split PPS sink poll from servo loop ts2phc: reconfigure sync direction by subscribing to ptp4l port events ts2phc: allow PHC PPS sources to be synchronized ts2phc_phc_pps_source: make use of new kernel API for perout waveform Wojtek Wasko via Linuxptp-devel (4): clockadj: return error if failed to adjust clock ptp4l: reset servo if failed to discipline clock phc2sys: reset servo if failed to discipline clock ts2phc: reset servo if failed to discipline clock Wong Vee Khee (1): phc_ctl: Fix incorrect memset in do_cmp() Yangbo Lu (2): Bump to IEEE 1588-2019 version lstab: update expiration to 28 December 2021 davidjm via Linuxptp-devel (1): Don't re-arm fault clearing timer on unrelated netlink events yoshida.t...@fujitsu.com (1): Fix the descriptions of "G.8275.portDS.localPriority" and "G.8275.defaultDS.localPriority" in ptp4l man page. _______________________________________________ Linuxptp-devel mailing list Linuxptp-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linuxptp-devel