summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Klug <john.klug@multitech.com>2017-08-01 11:54:31 -0500
committerJohn Klug <john.klug@multitech.com>2017-08-01 11:54:31 -0500
commitfffb27c523e5578f2dd60f8ea1e585265ba994fd (patch)
treeb50d35af93a0d89581679f0930bb39b4fcdadde8
parent2ccfa56a3143804c1661dedd92b92869b20c8290 (diff)
downloadmeta-mlinux-fffb27c523e5578f2dd60f8ea1e585265ba994fd.tar.gz
meta-mlinux-fffb27c523e5578f2dd60f8ea1e585265ba994fd.tar.bz2
meta-mlinux-fffb27c523e5578f2dd60f8ea1e585265ba994fd.zip
Leap second test and results
-rw-r--r--recipes-navigation/gpsd/gpsd-3.16/leap2017Aug31.patch167
-rw-r--r--recipes-navigation/gpsd/gpsd-3.16/leap2017Aug31.readme.txt169
2 files changed, 336 insertions, 0 deletions
diff --git a/recipes-navigation/gpsd/gpsd-3.16/leap2017Aug31.patch b/recipes-navigation/gpsd/gpsd-3.16/leap2017Aug31.patch
new file mode 100644
index 0000000..658b757
--- /dev/null
+++ b/recipes-navigation/gpsd/gpsd-3.16/leap2017Aug31.patch
@@ -0,0 +1,167 @@
+diff -Naur old/driver_ubx.c new/driver_ubx.c
+--- old/driver_ubx.c 2017-08-01 10:56:05.757282801 -0500
++++ new/driver_ubx.c 2017-08-01 10:53:49.785286827 -0500
+@@ -57,6 +57,29 @@
+ #define UBX_CFG_LEN 20
+ #define outProtoMask 14
+
++#ifdef UBLOXTIMELS_ENABLE
++/* UBX-NAV-TIMELS support */
++static char *srcOfCurrLs[] = {
++ "firmware",
++ "GPS GLONASS difference",
++ "GPS",
++ "SBAS",
++ "BeiDou",
++ "Galileo",
++ "Aided data",
++ "Configured"
++};
++static char *srcOfLsChange[] = {
++ "No Source",
++ "Undefined",
++ "GPS",
++ "SBAS",
++ "BeiDou",
++ "Galileo",
++ "GLONOSS",
++};
++#endif /* UBLOXTIMELS_ENABLE */
++
+ static gps_mask_t ubx_parse(struct gps_device_t *session, unsigned char *buf,
+ size_t len);
+ static gps_mask_t ubx_msg_nav_dop(struct gps_device_t *session,
+@@ -237,6 +260,96 @@
+ return mask;
+ }
+
++#ifdef UBLOXTIMELS_ENABLE
++/**
++ * Navigation time to leap second
++ *
++ * Sets leap_notify if leap second is < 23 hours away.
++ */
++static void
++ubx_msg_nav_timels(struct gps_device_t *session, unsigned char *buf,
++ size_t data_len)
++{
++ int version;
++ unsigned int flags;
++ int valid_curr_ls;
++ int valid_time_to_ls_event;
++
++ if (data_len != 24) {
++ gpsd_log(&session->context->errout, LOG_WARN,
++ "UBX-NAV-TIMELS: unexpected length %d, expecting 24\n",
++ data_len);
++ return;
++ }
++ version = getsb(buf,4);
++ /* Only version 0 is defined so far. */
++ flags = (unsigned int)getub(buf, 23);
++ gpsd_log(&session->context->errout, LOG_DATA,
++ "UBX-NAV-TIMELS: flags 0x%x message version %d\n",flags, version);
++ valid_curr_ls = flags & UBX_TIMELS_VALID_CURR_LS;
++ valid_time_to_ls_event = flags & UBX_TIMELS_VALID_TIME_LS_EVT;
++ if(valid_curr_ls) {
++ unsigned int src_of_curr_ls = getub(buf,8);
++ int curr_ls = getsb(buf,9);
++ char *src = "Unknown";
++
++ if(src_of_curr_ls < (sizeof srcOfCurrLs/(sizeof srcOfCurrLs[0])))
++ src = srcOfCurrLs[src_of_curr_ls];
++
++ gpsd_log(&session->context->errout, LOG_DATA,
++ "UBX-NAV-TIMELS: source_of_current_leapsecond=%u:%s curr_ls=%d\n",
++ src_of_curr_ls,src,curr_ls);
++ session->context->leap_seconds = curr_ls;
++ session->context->valid |= LEAP_SECOND_VALID;
++ } /* Valid current leap second */
++ if(valid_time_to_ls_event) {
++ char *src="Unknown";
++ unsigned int src_of_ls_change;
++ unsigned short dateOfLSGpsWn, dateOfLSGpsDn;
++ int lsChange = getsb(buf,11);
++ int timeToLsEvent = getles32(buf,12);
++int secondsperday=24*60*60;
++lsChange = 1; /* JAK Forward one second */
++ src_of_ls_change = getub(buf,10);
++ if(src_of_ls_change < (sizeof srcOfLsChange/(sizeof srcOfLsChange[0])))
++ src = srcOfLsChange[src_of_ls_change];
++ dateOfLSGpsWn = getles16(buf,16);
++ dateOfLSGpsDn = getles16(buf,18);
++ gpsd_log(&session->context->errout, LOG_DATA,
++ "UBX_NAV_TIMELS: source_of_leapsecond_change=%u:%s "
++ "leapSecondChage=%d timeToLsEvent=%d\n",
++ src_of_ls_change,src,lsChange,timeToLsEvent);
++timeToLsEvent += 212*secondsperday; /* JAK Jul 31 Leap second for test */
++ gpsd_log(&session->context->errout, LOG_DATA,
++ "UBX_NAV_TIMELS2: source_of_leapsecond_change=%u:%s "
++ "leapSecondChage=%d timeToLsEvent=%d\n",
++ src_of_ls_change,src,lsChange,timeToLsEvent); /* JAK */
++ gpsd_log(&session->context->errout, LOG_DATA,
++ "UBX_NAV_TIMELS: dateOfLSGpsWn=%d dateOfLSGpsDn=%d\n",
++ dateOfLSGpsWn,dateOfLSGpsDn);
++ if(timeToLsEvent < 60*60*23 && timeToLsEvent > 0) {
++ if(lsChange == 0)
++ session->context->leap_notify = LEAP_NOWARNING;
++ else if (lsChange == 1)
++ session->context->leap_notify = LEAP_ADDSECOND;
++ else if (lsChange == -1)
++ session->context->leap_notify = LEAP_DELSECOND;
++ } else
++ session->context->leap_notify = LEAP_NOWARNING;
++
++ if (session->context->leap_notify == LEAP_ADDSECOND)
++ gpsd_log(&session->context->errout,LOG_INF,
++ "UBX_NAV_TIMELS: Add leap second today\n");
++ else if (session->context->leap_notify == LEAP_DELSECOND)
++ gpsd_log(&session->context->errout,LOG_INF,
++ "UBX_NAV_TIMELS: Remove leap second today\n");
++
++ gpsd_log(&session->context->errout, LOG_DATA,
++ "UBX_NAV_TIMELS: leaving: leap_notify=%d\n",
++ session->context->leap_notify);
++ }
++}
++#endif /* UBLOXTIMELS_ENABLE */
+ /**
+ * Geodetic position solution message
+ */
+@@ -523,13 +636,22 @@
+ case UBX_NAV_EKFSTATUS:
+ gpsd_log(&session->context->errout, LOG_DATA, "UBX_NAV_EKFSTATUS\n");
+ break;
+-
++ case UBX_NAV_TIMELS:
++ gpsd_log(&session->context->errout, LOG_DATA, "UBX_NAV_TIMELS\n");
++#ifdef UBLOXTIMELS_ENABLE
++ ubx_msg_nav_timels(session, &buf[UBX_PREFIX_LEN],data_len);
++#endif // UBLOXTIMELS_ENABLE
++ break;
+ case UBX_RXM_RAW:
+ gpsd_log(&session->context->errout, LOG_DATA, "UBX_RXM_RAW\n");
+ break;
+ case UBX_RXM_SFRB:
++ gpsd_log(&session->context->errout, LOG_DATA, "UBX_RXM_SFRB\n");
+ mask = ubx_msg_sfrb(session, &buf[UBX_PREFIX_LEN]);
+ break;
++ case UBX_RXM_SFRBX:
++ gpsd_log(&session->context->errout, LOG_DATA, "UBX_RXM_SFRBX\n");
++ break;
+ case UBX_RXM_SVSI:
+ gpsd_log(&session->context->errout, LOG_PROG, "UBX_RXM_SVSI\n");
+ break;
+@@ -955,6 +1077,12 @@
+ msg[1] = 0x20; /* msg id = UBX_NAV_TIMEGPS */
+ msg[2] = 0x01; /* rate */
+ (void)ubx_write(session, 0x06u, 0x01, msg, 3);
++#ifdef UBLOXTIMELS_ENABLE
++ msg[0] = 0x01; /* class */
++ msg[1] = 0x26; /* msg id = UBX_NAV_TIMELS */
++ msg[2] = 0xff; /* rate */
++#endif /* UBLOXTIMELS_ENABLE */
++ (void)ubx_write(session, 0x06u, 0x01, msg, 3);
+ msg[0] = 0x01; /* class */
+ msg[1] = 0x30; /* msg id = NAV-SVINFO */
+ msg[2] = 0x0a; /* rate */
diff --git a/recipes-navigation/gpsd/gpsd-3.16/leap2017Aug31.readme.txt b/recipes-navigation/gpsd/gpsd-3.16/leap2017Aug31.readme.txt
new file mode 100644
index 0000000..d9bf4b1
--- /dev/null
+++ b/recipes-navigation/gpsd/gpsd-3.16/leap2017Aug31.readme.txt
@@ -0,0 +1,169 @@
+The purpose of this test is to verify leap second operation with ntp. This is done
+by artificially setting the leap second offset in gpsd. ntp is not modified.
+Software levels:
+ gpsd - 3.16-m2.9 + the Aug 31 test patch
+ ntp - 4.2.8p9-r0.mlinux3.0. Release candidate for mLinux 4.0
+
+ntpd leap second test gpsd artificially causes a leap second on Aug 31, 2017 23:59:59 UTC.
+
+The patch for this test is leap2017Aug31.patch. This patch replaces 0006-ubxtimelps.patch.
+
+
+Kernel Log:
+
+2017-07-31T18:50:02.012018-05:00 leaptest CROND[5205]: (root) CMD (/usr/sbin/logrotate /etc/logrotate.conf)
+2017-07-31T18:55:01.119140-05:00 leaptest CROND[5223]: (root) CMD (/usr/sbin/logrotate /etc/logrotate.conf)
+2017-07-31T18:59:59.016393-05:00 leaptest kernel: Clock: inserting leap second 23:59:60 UTC
+2017-07-31T19:00:01.215873-05:00 leaptest CROND[5240]: (root) CMD (/usr/sbin/logrotate /etc/logrotate.conf)
+2017-07-31T19:00:07.381218-05:00 leaptest ntpd[501]: kernel reports leap second has occurred
+2017-07-31T19:00:07.381528-05:00 leaptest ntpd[501]: kernel reports leap second has occurred
+2017-07-31T19:05:01.313170-05:00 leaptest CROND[5258]: (root) CMD (/usr/sbin/logrotate /etc/logrotate.conf)
+
+
+Time log from user space. 18:59:59 repeats twice 19:00:00 appears only once.:
+
+2017-07-31T18:59:57.855895-05:00 leaptest CTST: epoch: 1501545597.855 boot: 442607.123
+2017-07-31T18:59:58.106318-05:00 leaptest CTST: epoch: 1501545598.106 boot: 442607.373
+2017-07-31T18:59:58.356758-05:00 leaptest CTST: epoch: 1501545598.356 boot: 442607.624
+2017-07-31T18:59:58.607171-05:00 leaptest CTST: epoch: 1501545598.606 boot: 442607.874
+2017-07-31T18:59:58.857621-05:00 leaptest CTST: epoch: 1501545598.857 boot: 442608.124
+2017-07-31T18:59:59.108072-05:00 leaptest CTST: epoch: 1501545599.107 boot: 442608.375
+2017-07-31T18:59:59.358506-05:00 leaptest CTST: epoch: 1501545599.358 boot: 442608.625
+2017-07-31T18:59:59.608952-05:00 leaptest CTST: epoch: 1501545599.608 boot: 442608.876
+2017-07-31T18:59:59.859364-05:00 leaptest CTST: epoch: 1501545599.859 boot: 442609.126
+2017-07-31T18:59:59.109780-05:00 leaptest CTST: epoch: 1501545599.109 boot: 442609.377
+2017-07-31T18:59:59.360195-05:00 leaptest CTST: epoch: 1501545599.359 boot: 442609.627
+2017-07-31T18:59:59.610608-05:00 leaptest CTST: epoch: 1501545599.610 boot: 442609.877
+2017-07-31T18:59:59.861023-05:00 leaptest CTST: epoch: 1501545599.860 boot: 442610.128
+2017-07-31T19:00:00.111461-05:00 leaptest CTST: epoch: 1501545600.111 boot: 442610.378
+2017-07-31T19:00:00.361916-05:00 leaptest CTST: epoch: 1501545600.361 boot: 442610.629
+2017-07-31T19:00:00.612329-05:00 leaptest CTST: epoch: 1501545600.612 boot: 442610.879
+2017-07-31T19:00:00.862825-05:00 leaptest CTST: epoch: 1501545600.862 boot: 442611.130
+2017-07-31T19:00:01.113251-05:00 leaptest CTST: epoch: 1501545601.112 boot: 442611.380
+2017-07-31T19:00:01.363695-05:00 leaptest CTST: epoch: 1501545601.363 boot: 442611.630
+2017-07-31T19:00:01.614114-05:00 leaptest CTST: epoch: 1501545601.613 boot: 442611.881
+2017-07-31T19:00:01.864524-05:00 leaptest CTST: epoch: 1501545601.864 boot: 442612.131
+
+
+
+Leap second flag set artifically by gpsd, and noticed by ntp (leap=01 for SHM(0) and SHM(2) and leap_armed):
+2017-07-31T18:59:22.952281-05:00 leaptest ntpstatus.sh: ==========================================================
+2017-07-31T18:59:22.962756-05:00 leaptest ntpstatus.sh: ntpq -c lassoc -c mrv &1 &999 leap,srcadr,stratum
+2017-07-31T18:59:22.964152-05:00 leaptest ntpstatus.sh: ==========================================================
+2017-07-31T18:59:23.130829-05:00 leaptest ntpstatus.sh: ind assid status conf reach auth condition last_event cnt
+2017-07-31T18:59:23.131062-05:00 leaptest ntpstatus.sh: ===========================================================
+2017-07-31T18:59:23.131258-05:00 leaptest ntpstatus.sh: 1 18654 943a yes yes none candidate sys_peer 3
+2017-07-31T18:59:23.131451-05:00 leaptest ntpstatus.sh: 2 18655 9649 yes yes none sys.peer leap_armed 4
+2017-07-31T18:59:23.131647-05:00 leaptest ntpstatus.sh: 3 18656 8011 yes no none reject mobilize 1
+2017-07-31T18:59:23.131840-05:00 leaptest ntpstatus.sh: srcadr=SHM(0), leap=01, stratum=0
+2017-07-31T18:59:23.132031-05:00 leaptest ntpstatus.sh: srcadr=SHM(2), leap=01, stratum=0
+2017-07-31T18:59:23.132220-05:00 leaptest ntpstatus.sh: srcadr=LOCAL(0), leap=11, stratum=14
+2017-07-31T18:59:23.138000-05:00 leaptest ntpstatus.sh: ==========================================================
+2017-07-31T18:59:23.138206-05:00 leaptest ntpstatus.sh: ntpq -p
+2017-07-31T18:59:23.138404-05:00 leaptest ntpstatus.sh: ==========================================================
+2017-07-31T18:59:23.434429-05:00 leaptest ntpstatus.sh: remote refid st t when poll reach delay offset jitter
+2017-07-31T18:59:23.434666-05:00 leaptest ntpstatus.sh: ==============================================================================
+2017-07-31T18:59:23.434863-05:00 leaptest ntpstatus.sh: +SHM(0) .GPS. 0 l 20 64 377 0.000 6.410 1.265
+2017-07-31T18:59:23.435055-05:00 leaptest ntpstatus.sh: *SHM(2) .PPS. 0 l 19 64 377 0.000 0.062 0.008
+2017-07-31T18:59:23.435249-05:00 leaptest ntpstatus.sh: LOCAL(0) .LOCL. 14 l - 32 0 0.000 0.000 0.000
+2017-07-31T19:00:22.459905-05:00 leaptest ntpstatus.sh: ==========================================================
+2017-07-31T19:00:22.460141-05:00 leaptest ntpstatus.sh: ntpq -c lassoc -c mrv &1 &999 leap,srcadr,stratum
+
+
+
+2017-07-31T19:00:22.460343-05:00 leaptest ntpstatus.sh: ==========================================================
+2017-07-31T19:00:22.618627-05:00 leaptest ntpstatus.sh: ind assid status conf reach auth condition last_event cnt
+2017-07-31T19:00:22.618857-05:00 leaptest ntpstatus.sh: ===========================================================
+2017-07-31T19:00:22.619057-05:00 leaptest ntpstatus.sh: 1 18654 943a yes yes none candidate sys_peer 3
+2017-07-31T19:00:22.619252-05:00 leaptest ntpstatus.sh: 2 18655 9649 yes yes none sys.peer leap_armed 4
+2017-07-31T19:00:22.619444-05:00 leaptest ntpstatus.sh: 3 18656 8011 yes no none reject mobilize 1
+2017-07-31T19:00:22.619634-05:00 leaptest ntpstatus.sh: srcadr=SHM(0), leap=01, stratum=0
+2017-07-31T19:00:22.619824-05:00 leaptest ntpstatus.sh: srcadr=SHM(2), leap=01, stratum=0
+2017-07-31T19:00:22.620016-05:00 leaptest ntpstatus.sh: srcadr=LOCAL(0), leap=11, stratum=14
+2017-07-31T19:00:22.628414-05:00 leaptest ntpstatus.sh: ==========================================================
+2017-07-31T19:00:22.628654-05:00 leaptest ntpstatus.sh: ntpq -p
+2017-07-31T19:00:22.628868-05:00 leaptest ntpstatus.sh: ==========================================================
+2017-07-31T19:00:22.922779-05:00 leaptest ntpstatus.sh: remote refid st t when poll reach delay offset jitter
+2017-07-31T19:00:22.924191-05:00 leaptest ntpstatus.sh: ==============================================================================
+2017-07-31T19:00:22.925595-05:00 leaptest ntpstatus.sh: +SHM(0) .GPS. 0 l 16 64 377 0.000 7.369 0.661
+2017-07-31T19:00:22.927000-05:00 leaptest ntpstatus.sh: *SHM(2) .PPS. 0 l 15 64 377 0.000 0.059 0.008
+2017-07-31T19:00:22.928402-05:00 leaptest ntpstatus.sh: LOCAL(0) .LOCL. 14 l - 32 0 0.000 0.000 0.000
+2017-07-31T19:01:22.942937-05:00 leaptest ntpstatus.sh: ==========================================================
+2017-07-31T19:01:22.943171-05:00 leaptest ntpstatus.sh: ntpq -c lassoc -c mrv &1 &999 leap,srcadr,stratum
+2017-07-31T19:01:22.943371-05:00 leaptest ntpstatus.sh: ==========================================================
+2017-07-31T19:01:23.118319-05:00 leaptest ntpstatus.sh: ind assid status conf reach auth condition last_event cnt
+2017-07-31T19:01:23.118551-05:00 leaptest ntpstatus.sh: ===========================================================
+2017-07-31T19:01:23.118750-05:00 leaptest ntpstatus.sh: 1 18654 943a yes yes none candidate sys_peer 3
+2017-07-31T19:01:23.118943-05:00 leaptest ntpstatus.sh: 2 18655 9649 yes yes none sys.peer leap_armed 4
+2017-07-31T19:01:23.119137-05:00 leaptest ntpstatus.sh: 3 18656 8011 yes no none reject mobilize 1
+2017-07-31T19:01:23.119330-05:00 leaptest ntpstatus.sh: srcadr=SHM(0), leap=01, stratum=0
+2017-07-31T19:01:23.119520-05:00 leaptest ntpstatus.sh: srcadr=SHM(2), leap=01, stratum=0
+2017-07-31T19:01:23.119710-05:00 leaptest ntpstatus.sh: srcadr=LOCAL(0), leap=11, stratum=14
+2017-07-31T19:01:23.128565-05:00 leaptest ntpstatus.sh: ==========================================================
+2017-07-31T19:01:23.128809-05:00 leaptest ntpstatus.sh: ntpq -p
+2017-07-31T19:01:23.129026-05:00 leaptest ntpstatus.sh: ==========================================================
+2017-07-31T19:01:23.417707-05:00 leaptest ntpstatus.sh: remote refid st t when poll reach delay offset jitter
+2017-07-31T19:01:23.417942-05:00 leaptest ntpstatus.sh: ==============================================================================
+2017-07-31T19:01:23.418140-05:00 leaptest ntpstatus.sh: +SHM(0) .GPS. 0 l 13 64 377 0.000 1007.48 1000.36
+2017-07-31T19:01:23.418337-05:00 leaptest ntpstatus.sh: *SHM(2) .PPS. 0 l 12 64 377 0.000 1000.05 999.994
+2017-07-31T19:01:23.418529-05:00 leaptest ntpstatus.sh: LOCAL(0) .LOCL. 14 l - 32 0 0.000 0.000 0.000
+2017-07-31T19:02:23.442898-05:00 leaptest ntpstatus.sh: ==========================================================
+2017-07-31T19:02:23.443131-05:00 leaptest ntpstatus.sh: ntpq -c lassoc -c mrv &1 &999 leap,srcadr,stratum
+2017-07-31T19:02:23.443332-05:00 leaptest ntpstatus.sh: ==========================================================
+2017-07-31T19:02:23.617413-05:00 leaptest ntpstatus.sh: ind assid status conf reach auth condition last_event cnt
+
+
+Offset goes to one second, because there was no leap second:
+2017-07-31T19:00:22.618857-05:00 leaptest ntpstatus.sh: ===========================================================
+2017-07-31T19:00:22.619057-05:00 leaptest ntpstatus.sh: 1 18654 943a yes yes none candidate sys_peer 3
+2017-07-31T19:00:22.619252-05:00 leaptest ntpstatus.sh: 2 18655 9649 yes yes none sys.peer leap_armed 4
+2017-07-31T19:00:22.619444-05:00 leaptest ntpstatus.sh: 3 18656 8011 yes no none reject mobilize 1
+2017-07-31T19:00:22.619634-05:00 leaptest ntpstatus.sh: srcadr=SHM(0), leap=01, stratum=0
+2017-07-31T19:00:22.619824-05:00 leaptest ntpstatus.sh: srcadr=SHM(2), leap=01, stratum=0
+2017-07-31T19:00:22.620016-05:00 leaptest ntpstatus.sh: srcadr=LOCAL(0), leap=11, stratum=14
+2017-07-31T19:00:22.628414-05:00 leaptest ntpstatus.sh: ==========================================================
+2017-07-31T19:00:22.628654-05:00 leaptest ntpstatus.sh: ntpq -p
+2017-07-31T19:00:22.628868-05:00 leaptest ntpstatus.sh: ==========================================================
+2017-07-31T19:00:22.922779-05:00 leaptest ntpstatus.sh: remote refid st t when poll reach delay offset jitter
+2017-07-31T19:00:22.924191-05:00 leaptest ntpstatus.sh: ==============================================================================
+2017-07-31T19:00:22.925595-05:00 leaptest ntpstatus.sh: +SHM(0) .GPS. 0 l 16 64 377 0.000 7.369 0.661
+2017-07-31T19:00:22.927000-05:00 leaptest ntpstatus.sh: *SHM(2) .PPS. 0 l 15 64 377 0.000 0.059 0.008
+2017-07-31T19:00:22.928402-05:00 leaptest ntpstatus.sh: LOCAL(0) .LOCL. 14 l - 32 0 0.000 0.000 0.000
+2017-07-31T19:01:22.942937-05:00 leaptest ntpstatus.sh: ==========================================================
+2017-07-31T19:01:22.943171-05:00 leaptest ntpstatus.sh: ntpq -c lassoc -c mrv &1 &999 leap,srcadr,stratum
+2017-07-31T19:01:22.943371-05:00 leaptest ntpstatus.sh: ==========================================================
+2017-07-31T19:01:23.118319-05:00 leaptest ntpstatus.sh: ind assid status conf reach auth condition last_event cnt
+2017-07-31T19:01:23.118551-05:00 leaptest ntpstatus.sh: ===========================================================
+2017-07-31T19:01:23.118750-05:00 leaptest ntpstatus.sh: 1 18654 943a yes yes none candidate sys_peer 3
+2017-07-31T19:01:23.118943-05:00 leaptest ntpstatus.sh: 2 18655 9649 yes yes none sys.peer leap_armed 4
+2017-07-31T19:01:23.119137-05:00 leaptest ntpstatus.sh: 3 18656 8011 yes no none reject mobilize 1
+2017-07-31T19:01:23.119330-05:00 leaptest ntpstatus.sh: srcadr=SHM(0), leap=01, stratum=0
+2017-07-31T19:01:23.119520-05:00 leaptest ntpstatus.sh: srcadr=SHM(2), leap=01, stratum=0
+2017-07-31T19:01:23.119710-05:00 leaptest ntpstatus.sh: srcadr=LOCAL(0), leap=11, stratum=14
+2017-07-31T19:01:23.128565-05:00 leaptest ntpstatus.sh: ==========================================================
+2017-07-31T19:01:23.128809-05:00 leaptest ntpstatus.sh: ntpq -p
+2017-07-31T19:01:23.129026-05:00 leaptest ntpstatus.sh: ==========================================================
+2017-07-31T19:01:23.417707-05:00 leaptest ntpstatus.sh: remote refid st t when poll reach delay offset jitter
+2017-07-31T19:01:23.417942-05:00 leaptest ntpstatus.sh: ==============================================================================
+2017-07-31T19:01:23.418140-05:00 leaptest ntpstatus.sh: +SHM(0) .GPS. 0 l 13 64 377 0.000 1007.48 1000.36
+2017-07-31T19:01:23.418337-05:00 leaptest ntpstatus.sh: *SHM(2) .PPS. 0 l 12 64 377 0.000 1000.05 999.994
+2017-07-31T19:01:23.418529-05:00 leaptest ntpstatus.sh: LOCAL(0) .LOCL. 14 l - 32 0 0.000 0.000 0.000
+2017-07-31T19:02:23.442898-05:00 leaptest ntpstatus.sh: ==========================================================
+2017-07-31T19:02:23.443131-05:00 leaptest ntpstatus.sh: ntpq -c lassoc -c mrv &1 &999 leap,srcadr,stratum
+2017-07-31T19:02:23.443332-05:00 leaptest ntpstatus.sh: ==========================================================
+2017-07-31T19:02:23.617413-05:00 leaptest ntpstatus.sh: ind assid status conf reach auth condition last_event cnt
+
+
+Leap second flag is clear, leap_armed is removed so no leap second on Aug 1, 2017:
+2017-07-31T19:38:42.630432-05:00 leaptest ntpstatus.sh: ntpq -c lassoc -c mrv &1 &999 leap,srcadr,stratum
+2017-07-31T19:38:42.630636-05:00 leaptest ntpstatus.sh: ==========================================================
+2017-07-31T19:38:42.791369-05:00 leaptest ntpstatus.sh: ind assid status conf reach auth condition last_event cnt
+2017-07-31T19:38:42.791605-05:00 leaptest ntpstatus.sh: ===========================================================
+2017-07-31T19:38:42.791803-05:00 leaptest ntpstatus.sh: 1 18654 945a yes yes none candidate sys_peer 5
+2017-07-31T19:38:42.791994-05:00 leaptest ntpstatus.sh: 2 18655 966a yes yes none sys.peer sys_peer 6
+2017-07-31T19:38:42.792189-05:00 leaptest ntpstatus.sh: 3 18656 8033 yes no none reject unreachable 3
+2017-07-31T19:38:42.792379-05:00 leaptest ntpstatus.sh: srcadr=SHM(0), leap=00, stratum=0
+2017-07-31T19:38:42.802875-05:00 leaptest ntpstatus.sh: srcadr=SHM(2), leap=00, stratum=0
+2017-07-31T19:38:42.804254-05:00 leaptest ntpstatus.sh: srcadr=LOCAL(0), leap=00, stratum=14
+
+