Miroslav Lichvar
cacbe9976f
ntp: add options for compensating HW timestamping errors
2017-01-06 13:12:19 +01:00
Miroslav Lichvar
8efec1d640
ntp: add sanity check for HW timestamps
...
Accept HW timestamp only if it doesn't differ from the kernel/daemon
timestamp by more than one second.
2017-01-06 13:12:19 +01:00
Miroslav Lichvar
c44d282f0b
ntp: ignore zero HW timestamps
...
Apparently, zero HW timestamps are possible with buggy drivers/HW.
2017-01-06 13:12:19 +01:00
Miroslav Lichvar
4432f29bd2
sources: try to replace jittery sources
...
Similarly to falsetickers, distant, and unreachable sources, try to
replace sources that have jitter larger than maxjitter.
2017-01-06 13:12:19 +01:00
Miroslav Lichvar
5fee3ed5e9
client: print refid also as string in ntpdata output
2017-01-06 13:12:19 +01:00
Miroslav Lichvar
b76ea64263
ntp: log warning when KoD RATE is received in non-burst mode
2017-01-06 13:12:19 +01:00
Miroslav Lichvar
ed904f08a4
hwclock: return timestamp error
...
For now, when converting a raw timestamp, return error of the last
sample as the maximum error of the timestamp. This is needed to include
the PHC reading delay in the NTP dispersion.
2017-01-06 13:12:19 +01:00
Miroslav Lichvar
96cc80ffc8
ntp: improve dispersion calculation
...
Instead of adding precision (sum of the local and remote precision) to
the TX and RX timestamp error, include only the maximum.
2017-01-06 13:12:19 +01:00
Miroslav Lichvar
ab99373cfc
conf: change default rate limiting parameters
...
Change the default NTP rate limiting leak to 2 (25%). Change the default
command rate limiting interval to -4 (16 packets per second) and burst
to 8, so the interval is the only difference between NTP and command
rate limiting defaults.
2017-01-06 13:12:19 +01:00
Miroslav Lichvar
dbfb49384b
clientlog: disable NTP response rate limiting by default
...
This reverts commit 50022e9286
.
Testing showed that ntpd as an NTP client performs poorly when it's
getting only 25% of responses. At least for now, disable rate limiting
by default again.
2017-01-06 13:12:18 +01:00
Miroslav Lichvar
14bb9f29a3
ntp: calculate delay relative to local frequency
...
This should be more accurate as local frequency is usually
combined from multiple sources. This is a partial revert of commit
23a4e8b38d
.
2017-01-06 13:12:18 +01:00
Miroslav Lichvar
16519ee2cc
doc: update NEWS
2016-12-15 13:47:41 +01:00
Miroslav Lichvar
50022e9286
clientlog: enable NTP response rate limiting by default
...
Change the default interval of both NTP and command rate limiting to -10
(1024 packets per second) and the burst to 16. The default NTP leak is 2
(rate limiting is enabled by default) and the default command leak is 0
(rate limiting is disabled by default).
2016-12-15 13:47:41 +01:00
Miroslav Lichvar
5059019535
clientlog: randomize alignment of log timestamps
2016-12-15 13:47:41 +01:00
Miroslav Lichvar
c6a38f5069
clientlog: allow very short rate limiting intervals
...
Support negative token shift to allow coarse rate limiting with
intervals down to -19.
2016-12-15 13:47:41 +01:00
Miroslav Lichvar
11ed197663
configure: don't use recvmmsg() on FreeBSD
...
Don't try recvmmsg() on FreeBSD, at least for now. It is broken on
FreeBSD 11.0 and it's just a wrapper around recvmsg().
2016-12-15 13:47:41 +01:00
Miroslav Lichvar
5634e6b963
doc: improve hwtimestamp description
2016-12-14 16:19:35 +01:00
Miroslav Lichvar
db312a5ff6
ntp: allow wildcard in hwtimestamp directive
...
If "*" was specified, use getifaddrs() to get a list of all interfaces,
and try to enable HW timestamping on all of them.
2016-12-14 16:19:35 +01:00
Miroslav Lichvar
88c31b3785
client: improve ntpdata output
2016-12-14 16:19:35 +01:00
Miroslav Lichvar
967f3e4f77
client: don't require address in ntpdata command
...
If no address is specified, use the SOURCE_DATA command to get addresses
of NTP sources, and request NTP_DATA for all of them.
2016-12-14 16:19:35 +01:00
Miroslav Lichvar
2e311d1766
sourcestats: add upper bound for skew
2016-12-14 16:19:35 +01:00
Miroslav Lichvar
11f7cc0507
examples: avoid Unix domain socket in chrony-wait service
...
Use the -h option to force chronyc to use internet socket instead of
Unix domain as the access to the socket may be blocked by SELinux and
trying to open it generates SELinux warnings.
2016-12-13 12:57:25 +01:00
Miroslav Lichvar
a4f28892a5
cmdmon: update protocol changelog
2016-12-13 12:57:25 +01:00
Miroslav Lichvar
5bc53741be
sourcestats: add lower bound for std dev used for weighting
2016-12-13 12:57:25 +01:00
Miroslav Lichvar
95a4f33265
sourcestats: save asymmetry run in dump files
...
This allows the asymmetry correction to be applied right after restart.
2016-12-13 12:57:25 +01:00
Miroslav Lichvar
fac1093ebf
cmdmon: add reserved fields to ntpdata reply
...
This might be useful if ntpdata is changed to not require authorization
and new fields need to be added without breaking compatibility.
2016-12-13 12:57:25 +01:00
Miroslav Lichvar
1b1384ccaa
nameserv: set CLOEXEC flag on pipe file descriptors
2016-12-13 12:57:25 +01:00
Miroslav Lichvar
0c9a19ded5
stubs: rework emulation of asynchronous resolver to use pipes
...
With a larger number of configured servers, the handler of the emulated
resolver repeatedly scheduled timeout of zero, which triggered the
infinite loop detection in the scheduler and caused abort. This bug was
introduced in commit 967e358dbc
.
Rework the code to use pipes instead of timeouts to avoid this problem.
2016-12-13 12:57:25 +01:00
Miroslav Lichvar
b7bd7469b7
ntp: disable maxdelayratio in interleaved/symmetric mode
...
It's too unreliable and the maxdelaydevratio test should work better
anyway.
2016-12-13 12:57:24 +01:00
Miroslav Lichvar
9568ff3f06
doc: update NEWS
2016-12-09 09:04:25 +01:00
Miroslav Lichvar
742ddcce11
doc: update README
2016-12-08 16:26:34 +01:00
Miroslav Lichvar
e72cc9e3da
test: update 119-smoothtime
2016-12-08 16:25:46 +01:00
Lonnie Abelbeck
3156e5a293
client: add tab-completion with libedit/readline
2016-12-08 15:32:51 +01:00
Miroslav Lichvar
9a901e1cb0
refclock: make maximum lock age configurable
...
The maxlockage option specifies in number of pulses how old can be
samples from the refclock specified by the lock option to be paired with
the pulses. Increasing this value is useful when the samples are
produced at a lower rate than the pulses.
2016-12-08 14:47:38 +01:00
Miroslav Lichvar
8c11044ee2
refclock: slew last sample even after it was used
...
It may be needed by locked PPS refclocks.
2016-12-08 14:47:38 +01:00
Miroslav Lichvar
a75d2db75b
test: add scan-build compilation test
2016-12-08 14:47:38 +01:00
Miroslav Lichvar
6aac72fd80
configure: use common CPPFLAGS for all objects
2016-12-08 14:47:38 +01:00
Miroslav Lichvar
b692cb720c
configure: fix help text
2016-12-08 14:47:38 +01:00
Miroslav Lichvar
25102489f5
ntp: fix clang warning
2016-12-08 14:47:38 +01:00
Miroslav Lichvar
a2d2cad384
hwclock: fix check of sample separation
2016-12-08 14:47:38 +01:00
Miroslav Lichvar
859e0c2323
ntp: add TX error to dispersion
2016-12-08 14:47:36 +01:00
Miroslav Lichvar
e62a39cafe
ntp: fix RX error added to dispersion in interleaved mode
2016-12-08 14:47:33 +01:00
Miroslav Lichvar
8bbb8fa062
sources: add configurable limit for jitter
...
The maxjitter directive sets the maximum allowed jitter of the sources
to not be rejected by the source selection algorithm. This prevents
synchronisation with sources that have a small root distance, but their
time is too variable. By default, the maximum jitter is 1 second.
2016-12-08 14:20:00 +01:00
Miroslav Lichvar
68039e0d14
sourcestats: save variance as standard deviation
...
This reduces the number of sqrt() calls.
2016-12-06 16:56:38 +01:00
Miroslav Lichvar
65fd30a547
cmdmon: allow all parameters to be set for new sources
...
Add missing fields to the REQ_NTP_Source structure and add new versions
of the ADD_SERVER/ADD_PEER commands.
2016-12-06 16:56:38 +01:00
Miroslav Lichvar
23a4e8b38d
ntp: rework calculation and testing of peer delay
...
Instead of a worst-case delay use a mean value and relate it to the
source's time. This makes it more stable in the interleaved and
symmetric modes, which should improve the weighting and asymmetry
correction. Modify the test A and B to work with a minimum estimated
delay (delay - dispersion).
2016-12-06 16:56:38 +01:00
Miroslav Lichvar
979b53866d
client: print addresses with refids in ntpdata report
2016-12-06 16:56:38 +01:00
Miroslav Lichvar
46061d8eec
client: fix truncation of long hostnames
2016-12-06 16:56:38 +01:00
Miroslav Lichvar
946ee8f611
client: fix format specifier for poll in ntpdata report
2016-12-06 16:56:38 +01:00
Miroslav Lichvar
7f757f09ce
client: fix add command
...
The default version changed to 0 (autoselect).
2016-12-06 16:56:38 +01:00