Add outlyer source status to cmdmon protocol
This is not used yet.
This commit is contained in:
parent
2e74beebbf
commit
a931b2eece
5 changed files with 13 additions and 6 deletions
3
candm.h
3
candm.h
|
@ -496,7 +496,8 @@ typedef struct {
|
||||||
#define RPY_SD_ST_UNREACH 1
|
#define RPY_SD_ST_UNREACH 1
|
||||||
#define RPY_SD_ST_FALSETICKER 2
|
#define RPY_SD_ST_FALSETICKER 2
|
||||||
#define RPY_SD_ST_JITTERY 3
|
#define RPY_SD_ST_JITTERY 3
|
||||||
#define RPY_SD_ST_OTHER 4
|
#define RPY_SD_ST_CANDIDATE 4
|
||||||
|
#define RPY_SD_ST_OUTLYER 5
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
IPAddr ip_addr;
|
IPAddr ip_addr;
|
||||||
|
|
8
client.c
8
client.c
|
@ -1739,6 +1739,8 @@ process_cmd_sources(char *line)
|
||||||
printf("="); break;
|
printf("="); break;
|
||||||
case RPY_SD_MD_REF:
|
case RPY_SD_MD_REF:
|
||||||
printf("#"); break;
|
printf("#"); break;
|
||||||
|
default:
|
||||||
|
printf(" ");
|
||||||
}
|
}
|
||||||
switch (state) {
|
switch (state) {
|
||||||
case RPY_SD_ST_SYNC:
|
case RPY_SD_ST_SYNC:
|
||||||
|
@ -1749,8 +1751,12 @@ process_cmd_sources(char *line)
|
||||||
printf("x"); break;
|
printf("x"); break;
|
||||||
case RPY_SD_ST_JITTERY:
|
case RPY_SD_ST_JITTERY:
|
||||||
printf("~"); break;
|
printf("~"); break;
|
||||||
case RPY_SD_ST_OTHER:
|
case RPY_SD_ST_CANDIDATE:
|
||||||
printf("+"); break;
|
printf("+"); break;
|
||||||
|
case RPY_SD_ST_OUTLYER:
|
||||||
|
printf("-"); break;
|
||||||
|
default:
|
||||||
|
printf(" ");
|
||||||
}
|
}
|
||||||
|
|
||||||
printf(" %-25s %2d %2d ", hostname_buf, stratum, poll);
|
printf(" %-25s %2d %2d ", hostname_buf, stratum, poll);
|
||||||
|
|
4
cmdmon.c
4
cmdmon.c
|
@ -1077,8 +1077,8 @@ handle_source_data(CMD_Request *rx_message, CMD_Reply *tx_message)
|
||||||
case RPT_JITTERY:
|
case RPT_JITTERY:
|
||||||
tx_message->data.source_data.state = htons(RPY_SD_ST_JITTERY);
|
tx_message->data.source_data.state = htons(RPY_SD_ST_JITTERY);
|
||||||
break;
|
break;
|
||||||
case RPT_OTHER:
|
case RPT_CANDIDATE:
|
||||||
tx_message->data.source_data.state = htons(RPY_SD_ST_OTHER);
|
tx_message->data.source_data.state = htons(RPY_SD_ST_CANDIDATE);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
switch (report.mode) {
|
switch (report.mode) {
|
||||||
|
|
|
@ -41,7 +41,7 @@ typedef struct {
|
||||||
int stratum;
|
int stratum;
|
||||||
int poll;
|
int poll;
|
||||||
enum {RPT_NTP_CLIENT, RPT_NTP_PEER, RPT_LOCAL_REFERENCE} mode;
|
enum {RPT_NTP_CLIENT, RPT_NTP_PEER, RPT_LOCAL_REFERENCE} mode;
|
||||||
enum {RPT_SYNC, RPT_UNREACH, RPT_FALSETICKER, RPT_JITTERY, RPT_OTHER} state;
|
enum {RPT_SYNC, RPT_UNREACH, RPT_FALSETICKER, RPT_JITTERY, RPT_CANDIDATE} state;
|
||||||
|
|
||||||
unsigned long latest_meas_ago; /* seconds */
|
unsigned long latest_meas_ago; /* seconds */
|
||||||
double orig_latest_meas; /* seconds */
|
double orig_latest_meas; /* seconds */
|
||||||
|
|
|
@ -1089,7 +1089,7 @@ SRC_ReportSource(int index, RPT_SourceReport *report, struct timeval *now)
|
||||||
report->state = RPT_FALSETICKER;
|
report->state = RPT_FALSETICKER;
|
||||||
break;
|
break;
|
||||||
case SRC_SELECTABLE:
|
case SRC_SELECTABLE:
|
||||||
report->state = RPT_OTHER;
|
report->state = RPT_CANDIDATE;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
assert(0);
|
assert(0);
|
||||||
|
|
Loading…
Reference in a new issue