summaryrefslogtreecommitdiffstats
path: root/usr.sbin/xntpd/parse/README
diff options
context:
space:
mode:
Diffstat (limited to 'usr.sbin/xntpd/parse/README')
-rw-r--r--usr.sbin/xntpd/parse/README100
1 files changed, 0 insertions, 100 deletions
diff --git a/usr.sbin/xntpd/parse/README b/usr.sbin/xntpd/parse/README
deleted file mode 100644
index aa83aa7..0000000
--- a/usr.sbin/xntpd/parse/README
+++ /dev/null
@@ -1,100 +0,0 @@
-PARSE reference clock driver:
-
-This directory contains the files making up the parser for
-the parse refclock driver. For reasonably sane clocks this refclock
-drivers allows a refclock implementation by just providing a
-conversion routine and the appropriate NTP parameters. Refclock
-support can run as low a 3k code with the parse refclock driver.
-
-The modules in here are designed to live in two worlds. In userlevel
-as part of the xntp daemon and in kernel land as part of a STREAMS module
-or, if someone gets to it, as part of a line discipline. Currently only
-SunOS4.x/SunOS5.x STREAMS are supported (volunteers for other vendors like HP?).
-This structure means, that refclock_parse can work with or without kernel
-support. Kernelsupport increases accuracy tremendingly. The current restriction
-of the parse driver is that it only supports SYSV type ttys and that kernel
-support is only available for Suns right now.
-
-Three kernel modules are part of this directory. These work only on
-SunOS (SunOS4 and SunOS5 (not fully tested!)).
-
- SunOS4 (aka Solaris 1.x):
- parsestreams.o - standard parse module for SunOS 4
- mparsestreams.o - parse module for SunOS 4 with better
- clock reading code (assembler)
-
- Both modules can be loaded via modload <modulename>.
-
- SunOS5 (aka Solaris 2.x):
- parse - auto loadable streams module
- (not fully tested - don't kill me if
- it kills you machine)
-
- To install just drop "parse" into /kernel/strmod and
- start the daemon (SunOS5 will do the rest).
-
-The structure of the parse reference clock driver is as follows:
-
- xntpd - contains NTP implementation and calls a reference clock
- 127.127.8.x which is implemented by
- refclock_parse.c
- - which contains several refclock decriptions. These are
- selected by the x part of the refclock address.
- The lower two bits specify the device to use. Thus the
- value (x % 4) determines the device to open
- (/dev/refclock-0 - /dev/refclock-3).
-
- The kind of clock is selected by bits 2-6. This parameter
- selects the clock type which deterimines how I/O is done,
- the tty parameters and the NTP parameters.
-
- refclock_parse operates on an abstract reference clock
- that delivers time stamps and stati. Offsets and sychron-
- isation information is derived from this data and passed
- on to refclock_receive of xntp which uses that data for
- syncronisation.
-
- The abstract reference clock is generated by the parse*
- routines. They parse the incoming data stream from the
- clock and convert it to the appropriate time stamps.
- The data is also mapped int the abstract clock states
- POWERUP - clock has no valid phase and time code
- information
-
- NOSYNC - Time code is not confirmed, phase is probably
- ok.
- SYNC - Time code and phase are correct.
-
- A clock is trusted for a certain time (type parameter) when
- it leaves the SYNC state. This is derived from the
- observation that quite a few clocks can still generate good
- time code information when losing contact to their
- synchronisation source. When the clock does not reagain
- synchronisation in that trust period it will be deemed
- unsynchronised until it regains synchronisation. The same
- will happen if xntp sees the clock unsynchronised at
- startup.
-
- The upper bit of x specifies that all samples delivered
- from the clock should be used to discipline the NTP
- loppfilter. For clock with accurate once a second time
- information this means big improvements for time keeping.
- A prerequisite for passing on the time stamps to
- the loopfilter is, that the clock is in synchronised state.
-
- parse.c These are the general routines to parse the incoming data
- stream. Usually these routines should not require
- modification.
-
- clk_*.c These files hole the conversion code for the time stamps
- and the description how the time code can be parsed and
- where the time stamps are to be taken.
- If you want to add a new clock type this is the file
- you need to write in addition to mention it in
- parse_conf.c and setting up the NTP and TTY parameters
- in refclock_parse.c.
-
-Further information can be found in parse/README.parse and the various source
-files.
-
-Frank Kardel
OpenPOWER on IntegriCloud