On Mon, 3 Feb 2025, Hal Murray via devel wrote:

Linux:
 x86-64:16
     I don't have any really really old systems.
 x86-32: 8
   Debien, 6.1.0-29-686-pae i686
 Arm:  8
 Arm64: 16

FreeBSD:
 x86-64: 20  <===
 x86-32: 8
 Arm: 16
 Arm64: 20  <===

NetBSD:
 x86-64: 20  <===
 x86-32: 12
 Arm: 20  <===
   long is 4, time_t is 8, timespec is 16

For those not in the MR discussion, this is about the cmsg payload length from the packet-timestamp option, not the general message length.

As Alice would say, "curiouser and curiouser". Just when I think I've figured out the reason for one bit of bizarreness, you find another. :-)

Actually, I think I understand the 20-byte case as well. It's adding yet another 4 bytes of padding so that the *overall cmsg length* is 64-bit aligned. It's of course impossible for both the payload and the complete message to be 64-bit aligned at the same time, since the header length is an odd multiple of 32 bits.

What's the breakdown in the 32-bit NetBSD case? One would hope that the payload is 64+32 and not vice versa.

Fred Wright
_______________________________________________
devel mailing list
devel@ntpsec.org
https://lists.ntpsec.org/mailman/listinfo/devel

Reply via email to