Lines Matching defs:server

159 int sys_samples = 0;		/* number of samples/server, will be modified later */
161 struct server *sys_servers; /* the server list */
205 static void transmit (struct server *);
207 static void server_data (struct server *, s_fp, l_fp *, u_fp);
208 static void clock_filter (struct server *);
209 static struct server *clock_select (void);
212 static struct server *findserver (sockaddr_u *);
225 static void print_server (struct server *, FILE *);
347 errflg = (argc < 2); /* need at least server on cmdline */
442 "usage: %s [-46bBdqsuv] [-a key#] [-e delay] [-k file] [-p samples] [-o version#] [-t timeo] server ...\n",
505 "Adding time server %s from NetInfo configuration.",
658 * transmit - transmit a packet to the given server, or mark it completed.
664 register struct server *server
669 if (server->filter_nextpt < server->xmtcnt) {
672 * Last message to this server timed out. Shift
676 server_data(server, 0, &ts, 0);
679 if ((int)server->filter_nextpt >= sys_samples) {
684 server->event_time = 0;
690 printf("transmit(%s)\n", stoa(&server->srcadr));
693 * If we're here, send another message to the server. Fill in
717 get_systime(&server->xmt);
718 L_ADDUF(&server->xmt, sys_authdelay);
719 HTONL_FP(&server->xmt, &xpkt.xmt);
721 sendpkt(&server->srcadr, &xpkt, (int)(LEN_PKT_NOMAC + len));
725 stoa(&server->srcadr));
727 get_systime(&(server->xmt));
728 HTONL_FP(&server->xmt, &xpkt.xmt);
729 sendpkt(&server->srcadr, &xpkt, LEN_PKT_NOMAC);
732 printf("transmit to %s\n", stoa(&server->srcadr));
736 * Update the server timeout and transmit count
738 server->event_time = current_time + sys_timeout;
739 server->xmtcnt++;
752 register struct server *server;
794 * So far, so good. See if this is from a server we know.
796 server = findserver(&(rbufp->recv_srcadr));
797 if (server == NULL) {
799 printf("receive: server not found\n");
808 if (!L_ISEQU(&org, &server->xmt)) {
836 server->trust <<= 1;
838 server->trust |= 1;
846 msyslog(LOG_ERR, "%s rate limit response from server.",
848 server->event_time = 0;
856 server->leap = PKT_LEAP(rpkt->li_vn_mode);
857 server->stratum = PKT_TO_STRATUM(rpkt->stratum);
858 server->precision = rpkt->precision;
859 server->rootdelay = ntohl(rpkt->rootdelay);
860 server->rootdisp = ntohl(rpkt->rootdisp);
861 server->refid = rpkt->refid;
862 NTOHL_FP(&rpkt->reftime, &server->reftime);
864 NTOHL_FP(&rpkt->xmt, &server->org);
867 * Make sure the server is at least somewhat sane. If not, try
870 if (L_ISZERO(&rec) || !L_ISHIS(&server->org, &rec)) {
871 server->event_time = current_time + sys_timeout;
882 t10 = server->org; /* pkt.xmt == t1 */
910 + (FP_SECOND >> (-(int)server->precision)) + NTP_MAXSKW;
922 server_data(server, (s_fp) di, &ci, 0);
924 if ((int)server->filter_nextpt >= sys_samples) {
929 server->event_time = 0;
934 server->event_time = current_time + sys_timeout;
939 * server_data - add a sample to the server's filter registers
943 register struct server *server,
951 i = server->filter_nextpt;
953 server->filter_delay[i] = d;
954 server->filter_offset[i] = *c;
955 server->filter_soffset[i] = LFPTOFP(c);
956 server->filter_error[i] = e;
957 server->filter_nextpt = (u_short)(i + 1);
963 * clock_filter - determine a server's delay, dispersion and offset
967 register struct server *server
983 if (server->filter_delay[ord[j]] == 0)
985 if (server->filter_delay[ord[i]] == 0
986 || (server->filter_delay[ord[i]]
987 > server->filter_delay[ord[j]])) {
1002 if (server->filter_delay[ord[0]] == 0) {
1003 server->delay = 0;
1004 L_CLR(&server->offset);
1005 server->soffset = 0;
1006 server->dispersion = PEER_MAXDISP;
1010 server->delay = server->filter_delay[ord[0]];
1011 server->offset = server->filter_offset[ord[0]];
1012 server->soffset = LFPTOFP(&server->offset);
1013 server->dispersion = 0;
1015 if (server->filter_delay[ord[i]] == 0)
1018 d = server->filter_soffset[ord[i]]
1019 - server->filter_soffset[ord[0]];
1028 server->dispersion += (u_fp)(d) >> i;
1041 static struct server *
1044 struct server *server;
1053 struct server *server_list[NTP_MAXCLOCK];
1055 struct server *sys_server;
1067 for (server = sys_servers; server != NULL; server = server->next_server) {
1068 if (server->stratum == 0) {
1070 printf("%s: Server dropped: no data\n", ntoa(&server->srcadr));
1073 if (server->stratum > NTP_INFIN) {
1075 printf("%s: Server dropped: strata too high\n", ntoa(&server->srcadr));
1078 if (server->delay > NTP_MAXWGT) {
1080 printf("%s: Server dropped: server too far away\n",
1081 ntoa(&server->srcadr));
1084 if (server->leap == LEAP_NOTINSYNC) {
1086 printf("%s: Server dropped: leap not in sync\n", ntoa(&server->srcadr));
1089 if (!L_ISHIS(&server->org, &server->reftime)) {
1091 printf("%s: Server dropped: server is very broken\n",
1092 ntoa(&server->srcadr));
1095 if ((server->org.l_ui - server->reftime.l_ui)
1098 printf("%s: Server dropped: server has gone too long without sync\n",
1099 ntoa(&server->srcadr));
1102 if (server->trust != 0) {
1105 ntoa(&server->srcadr));
1113 d = server->dispersion + server->dispersion;
1115 if (server->stratum <= server_list[i]->stratum)
1118 if (server->stratum < server_list[i]->stratum)
1137 server_list[i] = server;
1171 * server.delay.
1182 server = server_list[i];
1184 server_list[j] = server;
1232 * i is the index of the server with the worst
1253 * That's it. Return our server.
1266 register struct server *sp, *server;
1271 server = clock_select();
1280 if (server == 0) {
1282 "no server suitable for synchronization found");
1295 if (server->soffset < 0)
1296 absoffset = 1u + (u_fp)(-(server->soffset + 1));
1298 absoffset = (u_fp)server->soffset;
1303 if (simple_query || l_step_systime(&server->offset)){
1304 msyslog(LOG_NOTICE, "step time server %s offset %s sec",
1305 stoa(&server->srcadr),
1306 lfptoa(&server->offset, 6));
1309 if (simple_query || l_adj_systime(&server->offset)) {
1310 msyslog(LOG_NOTICE, "adjust time server %s offset %s sec",
1311 stoa(&server->srcadr),
1312 lfptoa(&server->offset, 6));
1345 * addserver - determine a server's address and allocate a new structure
1353 register struct server *server;
1384 /* Name server is unusable. Exit after failing on the
1385 first server, in order to shorten the timeout caused
1387 fprintf(stderr, "Exiting, name server cannot be used: %s (%d)",
1389 msyslog(LOG_ERR, "name server cannot be used: %s (%d)",
1408 /* We must get all returned server in case the first one fails */
1414 server = emalloc_zero(sizeof(*server));
1415 memcpy(&server->srcadr, ptr->ai_addr, ptr->ai_addrlen);
1416 server->event_time = ++sys_numservers;
1418 sys_servers = server;
1420 struct server *sp;
1425 sp->next_server = server;
1435 * findserver - find a server in the list given its address
1438 static struct server *
1443 struct server *server;
1444 struct server *mc_server;
1450 for (server = sys_servers; server != NULL;
1451 server = server->next_server) {
1452 if (SOCK_EQ(addr, &server->srcadr))
1453 return server;
1455 if (AF(addr) == AF(&server->srcadr)) {
1456 if (IS_MCAST(&server->srcadr))
1457 mc_server = server;
1463 struct server *sp;
1470 server = emalloc_zero(sizeof(*server));
1472 server->srcadr = *addr;
1474 server->event_time = ++sys_numservers;
1479 sp->next_server = server;
1480 transmit(server);
1492 struct server *server;
1500 * Search through the server list looking for guys
1504 for (server = sys_servers; server != NULL;
1505 server = server->next_server) {
1506 if (server->event_time != 0
1507 && server->event_time <= current_time)
1508 transmit(server);
1863 /* Find a local family compatible socket to send ntp packet to ntp server */
2148 * print_server - print detail information for a server
2152 register struct server *pp,
2164 (void) fprintf(fp, "server %s, stratum %d, offset %s, delay %s\n",
2170 (void) fprintf(fp, "server %s, port %d\n",
2242 /* Find a time server in NetInfo */
2254 if (ni_lookupprop(domain, &confdir, "server", namelist) != NI_OK) {