int burst_good_samples_to_go;
int burst_total_samples_to_go;
- /* Report from last valid response */
+ /* Report from last valid response and packet/timestamp statistics */
RPT_NTPReport report;
};
NTP_PacketInfo info;
inst->report.total_rx_count++;
+ if (rx_ts->source == NTP_TS_KERNEL)
+ inst->report.total_kernel_rx_ts++;
+ else if (rx_ts->source == NTP_TS_HARDWARE)
+ inst->report.total_hw_rx_ts++;
if (!parse_packet(message, length, &info))
return 0;
message);
if (tx_ts->source == NTP_TS_HARDWARE) {
+ inst->report.total_hw_tx_ts++;
if (has_saved_response(inst))
process_saved_response(inst);
+ } else if (tx_ts->source == NTP_TS_KERNEL) {
+ inst->report.total_kernel_tx_ts++;
}
}
uint32_t total_rx_count;
uint32_t total_valid_count;
uint32_t total_good_count;
+ uint32_t total_kernel_tx_ts;
+ uint32_t total_kernel_rx_ts;
+ uint32_t total_hw_tx_ts;
+ uint32_t total_hw_rx_ts;
} RPT_NTPReport;
typedef struct {