From: Miroslav Lichvar Date: Tue, 26 Oct 2021 13:40:09 +0000 (+0200) Subject: socket: increase message buffer length X-Git-Tag: 4.2-pre1~29 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a2d1569455aa10a273e41eba5f79ca6210934d68;p=thirdparty%2Fchrony.git socket: increase message buffer length Add extra space to the socket message buffer to be able to receive maximum-length NTP-over-PTP SW/HW-timestamped messages from the Linux error queue (which are looped back as layer-2 frames). --- diff --git a/socket.c b/socket.c index a6010d80..860fa0f2 100644 --- a/socket.c +++ b/socket.c @@ -59,11 +59,16 @@ struct Message { union sockaddr_all name; struct iovec iov; /* Buffer of sufficient length for all expected messages */ - union { - NTP_Packet ntp_msg; - PTP_NtpMessage ptp_msg; - CMD_Request cmd_request; - CMD_Reply cmd_reply; + struct { + /* Extra space for Ethernet, IPv4/IPv6, and UDP headers in + timestamped messages received from the Linux error queue */ + uint8_t l234_headers[64]; + union { + NTP_Packet ntp_msg; + PTP_NtpMessage ptp_msg; + CMD_Request cmd_request; + CMD_Reply cmd_reply; + } msg; } msg_buf; /* Aligned buffer for control messages */ struct cmsghdr cmsg_buf[CMSG_BUF_SIZE / sizeof (struct cmsghdr)];