receive time stamps - current status

Hal Murray hmurray at
Sun Jun 11 10:07:42 UTC 2017

I remove the SO_BINTIME mode.  It's only supported by FreeBSD and they don't 
support it for IPv6.  They do support SO_TIMESTAMP.

The downside of that is reduced resolution on the time stamps.  BINTIME gives 
32 bit fractions of a second while TIMESTAMP gives microseconds (roughly 20 
bits).  We could get the extra resolution for IPv4, but the extra complexity 
of the code doesn't seem worth it.


The current code assumes that we have either SO_TIMESTAMP or SO_TIMESTAMPNS.
So far SO_TIMESTAMPNS is Linux only.  Configure doesn't check.  It should die 
at build time.

So far, Solaris is the only OS I know of where we have encountered troubles.  
See Issue #342

I'm assuming gcc on Solaris will  get fixed.

The current code will require intervention when we discover an OS/environment 
where it doesn't work.  So far, with a sample size of 1 (or maybe 1/2), the 
solution is to fix the waf recipe.  When we get a test case where that 
doesn't work we can figure out how to handle it.

It would not be hard to make things build and run without receive time 
stamps.  It might work poorly under heavy load, but we've been running that 
way for 6 months and nobody complained.

I think time stamps are important so I haven't implemented any way to run 
without them.  If we need that, one option would be to add a configure option 
such as --disable-timestamps.

These are my opinions.  I hate spam.

More information about the devel mailing list