freebsd-dev/tools
Maxim Sobolev 339efd75a4 Add a new socket option SO_TS_CLOCK to pick from several different clock
sources to return timestamps when SO_TIMESTAMP is enabled. Two additional
clock sources are:

o nanosecond resolution realtime clock (equivalent of CLOCK_REALTIME);
o nanosecond resolution monotonic clock (equivalent of CLOCK_MONOTONIC).

In addition to this, this option provides unified interface to get bintime
(equivalent of using SO_BINTIME), except it also supported with IPv6 where
SO_BINTIME has never been supported. The long term plan is to depreciate
SO_BINTIME and move everything to using SO_TS_CLOCK.

Idea for this enhancement has been briefly discussed on the Net session
during dev summit in Ottawa last June and the general input was positive.

This change is believed to benefit network benchmarks/profiling as well
as other scenarios where precise time of arrival measurement is necessary.

There are two regression test cases as part of this commit: one extends unix
domain test code (unix_cmsg) to test new SCM_XXX types and another one
implementis totally new test case which exchanges UDP packets between two
processes using both conventional methods (i.e. calling clock_gettime(2)
before recv(2) and after send(2)), as well as using setsockopt()+recv() in
receive path. The resulting delays are checked for sanity for all supported
clock types.

Reviewed by:    adrian, gnn
Differential Revision:  https://reviews.freebsd.org/D9171
2017-01-16 17:46:38 +00:00
..
bsdbox DIRDEPS_BUILD: Build crunchide for the host. 2016-09-01 23:52:25 +00:00
build Add recently added libc++ headers to OptionalObsoleteFiles.inc. 2017-01-09 19:22:29 +00:00
bus_space Add an example program (in Python) for the AMD Am79c900 (ILACC) 2015-08-02 21:24:03 +00:00
debugscripts Assorted grammar, spelling and punctuation fixes. 2015-12-15 13:04:44 +00:00
diag Fix LDADD/DPADD that should be LIBADD. 2015-12-04 03:17:47 +00:00
ifnet * Handle ++x as well as x++ while converting. 2014-06-25 15:22:14 +00:00
kerneldoc Remove the wl(4) driver and wlconfig(8) utility. 2016-08-19 22:27:14 +00:00
KSE NO_MAN= has been deprecated in favor of MAN= for some time, go ahead 2014-04-13 05:21:56 +00:00
LibraryReport
regression Add a new socket option SO_TS_CLOCK to pick from several different clock 2017-01-16 17:46:38 +00:00
sched Add a dtrace script for collecting schedgraph data 2016-11-18 02:29:09 +00:00
test Fix spelling and grammer in tools/test/README. 2015-10-28 15:00:21 +00:00
tools Bump WARNS up from 0 to 6 2017-01-09 05:46:41 +00:00
install.sh Use -n to ln(1) which is compatible with GNU ln(1). 2015-11-16 23:27:44 +00:00
make_libdeps.sh Avoid rs(1) hitting LINE_MAX with custom trees that have large dependencies. 2014-09-08 17:01:30 +00:00
README
tinder.sh Remove the old depend (mkdep) code and make FAST_DEPEND the one true way. 2016-03-30 23:50:23 +00:00

$FreeBSD$

This directory tree contains tools used for the maintenance and
testing of FreeBSD.  There is no toplevel Makefile structure since
these tools are not meant to be built as part of the standard system,
though there may be individual Makefiles in some of the subdirs.

Please read the README files in the subdirs for further information.