Good day. ntpd currently performs constraints checking on startup, but once the constraints are successfully checked cstr->state remains in STATE_REPLY_RECEIVED forever. As such, the constraints are never checked again.
The following patch has resolved this for me, and constraints checking now proceeds every CONSTRAINT_SCAN_INTERVAL. Regards, Index: constraint.c =================================================================== RCS file: /cvs/src/usr.sbin/ntpd/constraint.c,v retrieving revision 1.14 diff -u -p -r1.14 constraint.c --- constraint.c 18 Jul 2015 21:50:47 -0000 1.14 +++ constraint.c 7 Sep 2015 17:11:01 -0000 @@ -170,6 +170,8 @@ constraint_query(struct constraint *cstr constraint_close(cstr->fd); break; case STATE_REPLY_RECEIVED: + /* Prepare for the next constraint scan interval */ + cstr->state = STATE_INVALID; default: /* Nothing to do */ return (-1);