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 934d4047f1
.
This commit is contained in:
parent
f176193d35
commit
9f9c6cc6ab
1 changed files with 5 additions and 1 deletions
|
@ -584,7 +584,11 @@ process_hw_timestamp(struct Interface *iface, struct timespec *hw_ts,
|
||||||
if (rx_ntp_length && iface->link_speed) {
|
if (rx_ntp_length && iface->link_speed) {
|
||||||
if (!l2_length)
|
if (!l2_length)
|
||||||
l2_length = (family == IPADDR_INET4 ? iface->l2_udp4_ntp_start :
|
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);
|
rx_correction = l2_length / (1.0e6 / 8 * iface->link_speed);
|
||||||
|
|
||||||
UTI_AddDoubleToTimespec(hw_ts, rx_correction, hw_ts);
|
UTI_AddDoubleToTimespec(hw_ts, rx_correction, hw_ts);
|
||||||
|
|
Loading…
Reference in a new issue