cmdmon: use 32-bit fields in client access report

The clientlog record still uses 16-bit integers to count dropped
packets, but this will avoid an incompatible change in the command
reply if there will be a need to count more than 2^16 drops.
This commit is contained in:
Miroslav Lichvar 2016-01-29 13:46:38 +01:00
parent a6da963f45
commit 861ac013bc
3 changed files with 6 additions and 6 deletions

View file

@ -553,8 +553,8 @@ typedef struct {
IPAddr ip; IPAddr ip;
uint32_t ntp_hits; uint32_t ntp_hits;
uint32_t cmd_hits; uint32_t cmd_hits;
uint16_t ntp_drops; uint32_t ntp_drops;
uint16_t cmd_drops; uint32_t cmd_drops;
int8_t ntp_interval; int8_t ntp_interval;
int8_t cmd_interval; int8_t cmd_interval;
int8_t ntp_timeout_interval; int8_t ntp_timeout_interval;

View file

@ -2125,14 +2125,14 @@ process_cmd_clients(char *line)
printf("%-25s", hostname); printf("%-25s", hostname);
printf(" %6"PRIu32" %5"PRIu16" ", printf(" %6"PRIu32" %5"PRIu16" ",
ntohl(client->ntp_hits), ntohs(client->ntp_drops)); ntohl(client->ntp_hits), ntohl(client->ntp_drops));
print_clientlog_interval(client->ntp_interval); print_clientlog_interval(client->ntp_interval);
printf(" "); printf(" ");
print_clientlog_interval(client->ntp_timeout_interval); print_clientlog_interval(client->ntp_timeout_interval);
printf(" "); printf(" ");
print_seconds(ntohl(client->last_ntp_hit_ago)); print_seconds(ntohl(client->last_ntp_hit_ago));
printf(" %6"PRIu32" %5"PRIu16" ", printf(" %6"PRIu32" %5"PRIu16" ",
ntohl(client->cmd_hits), ntohs(client->cmd_drops)); ntohl(client->cmd_hits), ntohl(client->cmd_drops));
print_clientlog_interval(client->cmd_interval); print_clientlog_interval(client->cmd_interval);
printf(" "); printf(" ");
print_seconds(ntohl(client->last_cmd_hit_ago)); print_seconds(ntohl(client->last_cmd_hit_ago));

View file

@ -1062,8 +1062,8 @@ handle_client_accesses_by_index(CMD_Request *rx_message, CMD_Reply *tx_message)
UTI_IPHostToNetwork(&report.ip_addr, &client->ip); UTI_IPHostToNetwork(&report.ip_addr, &client->ip);
client->ntp_hits = htonl(report.ntp_hits); client->ntp_hits = htonl(report.ntp_hits);
client->cmd_hits = htonl(report.cmd_hits); client->cmd_hits = htonl(report.cmd_hits);
client->ntp_drops = htons(report.ntp_drops); client->ntp_drops = htonl(report.ntp_drops);
client->cmd_drops = htons(report.cmd_drops); client->cmd_drops = htonl(report.cmd_drops);
client->ntp_interval = report.ntp_interval; client->ntp_interval = report.ntp_interval;
client->cmd_interval = report.cmd_interval; client->cmd_interval = report.cmd_interval;
client->ntp_timeout_interval = report.ntp_timeout_interval; client->ntp_timeout_interval = report.ntp_timeout_interval;