* Group: Create required expressions
************************************************************************)
(* Variable: number *)
- let number = integer | decimal
+ let number = integer | decimal | decimal . /[eE]/ . integer
(* Variable: address_re *)
let address_re = Rx.ip | Rx.hostname
| /(min|max)poll/
| /(min|max)samples/
| "maxsources"
+ | "offset"
| "polltarget"
| "port"
| "presend"
Server/Peer/Pool options without values
*)
let cmd_flags = "auto_offline"|"iburst"|"noselect"|"offline"|"prefer"
- |"require"|"trust"
+ |"require"|"trust"|"xleave"
(* Variable: ntp_source
Server/Peer/Pool key names
*)
let allowdeny_types = "allow"|"deny"|"cmdallow"|"cmddeny"
+ (* Variable: hwtimestamp_options
+ HW timestamping options with values
+ *)
+ let hwtimestamp_options = "minpoll"|"precision"|"rxcomp"|"txcomp"
+
+ (* Variable: hwtimestamp_flags
+ HW timestamping options without values
+ *)
+ let hwtimestamp_flags = "nocrossts"
+
(* Variable: local_options
local options with values
*)
(* Variable: log_flags
log has a specific options list
*)
- let log_flags = /measurements|statistics|tracking|rtc|refclocks|tempcomp/
+ let log_flags = "measurements"|"rawmeasurements"|"refclocks"|"rtc"
+ |"statistics"|"tempcomp"|"tracking"
(* Variable: simple_keys
Options with single values
| "dumpdir" | "hwclockfile" | "include" | "keyfile"
| "leapsecmode" | "leapsectz" | "linux_freq_scale"
| "linux_hz" | "logbanner" | "logchange" | "logdir"
- | "maxdistance" | "maxdrift"
- | "maxclockerror" | "maxsamples" | "maxslewrate"
- | "maxupdateskew" | "minsamples" | "minsources" | "pidfile"
+ | "maxclockerror" | "maxdistance" | "maxdrift"
+ | "maxjitter" | "maxsamples" | "maxslewrate"
+ | "maxupdateskew" | "minsamples" | "minsources"
+ | "ntpsigndsocket" | "pidfile"
| "port" | "reselectdist" | "rtcautotrim" | "rtcdevice"
| "rtcfile" | "sched_priority" | "stratumweight" | "user"
(* View: host_flags *)
let host_flags = [ space . key cmd_flags ]
(* View: host_options *)
- let host_options = [ space . key cmd_options . space . store integer ]
+ let host_options = [ space . key cmd_options . space . store number ]
(* View: log_flag_list *)
let log_flag_list = [ space . key log_flags ]
(* View: store_address *)
- log <options>
- broadcast <interval> <address> <optional port>
- fallbackdrift <min> <max>
+ - hwtimestamp <interface> <options>
- initstepslew <threshold> <addr> <optional extra addrs>
- local <options>
- mailonchange <emailaddress> <threshold>
. space . [ label "max" . store integer ]
. eol ]
+ (* View: hwtimestamp
+ hwtimestamp has specific syntax
+ *)
+ let hwtimestamp = [ Util.indent . key "hwtimestamp"
+ . space . [ label "interface" . store no_space ]
+ . ( space . ( [ key hwtimestamp_flags ]
+ | [ key hwtimestamp_options . space . store number ] )
+ )*
+ . eol ]
(* View: istepslew
initstepslew has specific syntax
*)
*)
let settings = host_list | allowdeny | log_list | bcast | fdrift | istepslew
| local | email | makestep | maxchange | refclock | smoothtime
- | ratelimit | tempcomp | kv | all_flags
+ | hwtimestamp | ratelimit | tempcomp | kv | all_flags
(*
* View: lns