From: Miroslav Lichvar Date: Mon, 8 Oct 2018 13:54:07 +0000 (+0200) Subject: ntp: fix transposition with timestamping packet info X-Git-Tag: 3.5-pre1~27 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9f9c6cc6ab3a22f6392c4c7bfc258a34c9bd0abd;p=thirdparty%2Fchrony.git ntp: fix transposition with timestamping packet info Don't forget to include the length of the frame check sequence (FCS) in the RX timestamp transposition when the L2 length of the received packet is from SCM_TIMESTAMPING_PKTINFO. This fixes commit 934d4047f12741f4052e35c7975f72c5307b3e68. --- diff --git a/ntp_io_linux.c b/ntp_io_linux.c index 819792aa..eb4a3a83 100644 --- a/ntp_io_linux.c +++ b/ntp_io_linux.c @@ -584,7 +584,11 @@ process_hw_timestamp(struct Interface *iface, struct timespec *hw_ts, if (rx_ntp_length && iface->link_speed) { if (!l2_length) l2_length = (family == IPADDR_INET4 ? iface->l2_udp4_ntp_start : - iface->l2_udp6_ntp_start) + rx_ntp_length + 4; + iface->l2_udp6_ntp_start) + rx_ntp_length; + + /* Include the frame check sequence (FCS) */ + l2_length += 4; + rx_correction = l2_length / (1.0e6 / 8 * iface->link_speed); UTI_AddDoubleToTimespec(hw_ts, rx_correction, hw_ts);