Eric S. Raymond esr at
Fri Jun 9 15:04:57 UTC 2017

Hal Murray via devel <devel at>:
> The recvmsg man page 
>   SunOS 5.11  Last Revised 27 Feb 2006
> It has some info about SO_TIMESTAMP, but I don't see any hints about the CMSG 
> macros.

They're a semi-separate issue.  They're used to extract all kinds of
out-of-band infirmation from the data block returned by recvmsg(2), not
jut the timestamp but various other kinds of metadata as well.

The existence of CMSG is standardized in RFC 2292 (Advanced Sockets
API for IPv6), though the kinds of things it can extract are not. You
can expect CMSG to be everywhere, even on systems where we can't get
packet timestamps.

> Can somebody give me a lesson in Solaris.  Are we interested in supporting 
> any versions that are not new enough to support SO_TIMESTAMP?

Given that there has been SO_TIMESTAMP support in Solaris since 2006
and possibly earlier, I'd say probably not. Anybody still running an
11-year-old version is going to be too conservative or too stuck to
change NTP suites.

(Mark might know something I don't, however.)

> Are there any other OSes/distros that we are likely to have troubles with?

Very old big-iron Unixes from before POSIX 2001.  We made a strategic decision
early on to risk losing support for those in exchange for major code

> Do we have a list of OSes/distros and versions that we are known to work on?  
> How old is the oldest one?  ...  What should I be asking?

There's a page listing tested systems on the website.

None are very old.  I wouldn't let this worry you too much, however, as
the API we use (including the non-standardized parts) has mostly been
stable since around 2001.  The two exceptions I can think of are the
packet timestamp stuff and a couple of POSIX 2008 functions related
to time.
		<a href="">Eric S. Raymond</a>

Please consider contributing to my Patreon page at
so I can keep the invisible wheels of the Internet turning. Give generously -
the civilization you save might be your own.

More information about the devel mailing list