diff --git a/daemon/call_interfaces.c b/daemon/call_interfaces.c index 58a89c4fb..a33f0d2d0 100644 --- a/daemon/call_interfaces.c +++ b/daemon/call_interfaces.c @@ -2397,6 +2397,8 @@ static void ng_stats_stream(bencode_item_t *list, const struct packet_stream *ps bencode_dictionary_add_string(dict, "crypto suite", ps->crypto.params.crypto_suite->name); bencode_dictionary_add_integer(dict, "last packet", packet_stream_last_packet(ps)); + bencode_dictionary_add_integer(dict, "last kernel packet", atomic64_get_na(&ps->stats_in->last_packet)); + bencode_dictionary_add_integer(dict, "last user packet", atomic64_get_na(&ps->last_packet)); flags = bencode_dictionary_add_list(dict, "flags"); diff --git a/daemon/cli.c b/daemon/cli.c index 8d705fb21..277d564b4 100644 --- a/daemon/cli.c +++ b/daemon/cli.c @@ -709,7 +709,8 @@ static void cli_list_tag_info(struct cli_writer *cw, struct call_monologue *ml) local_addr = sockaddr_print_buf(&local_endpoint->address); cw->cw_printf(cw, "-------- Port %15s:%-5u <> %15s:%-5u%s, SSRC %" PRIx32 ", " - "" UINT64F " p, " UINT64F " b, " UINT64F " e, " UINT64F " ts", + "" UINT64F " p, " UINT64F " b, " UINT64F " e, " UINT64F " uts " + UINT64F " kts", local_addr, (unsigned int) local_endpoint->port, sockaddr_print_buf(&ps->endpoint.address), @@ -719,7 +720,8 @@ static void cli_list_tag_info(struct cli_writer *cw, struct call_monologue *ml) atomic64_get_na(&ps->stats_in->packets), atomic64_get_na(&ps->stats_in->bytes), atomic64_get_na(&ps->stats_in->errors), - packet_stream_last_packet(ps)); + atomic64_get_na(&ps->last_packet), + atomic64_get_na(&ps->stats_in->last_packet)); cw->cw_printf(cw, "\n"); } } diff --git a/kernel-module/xt_RTPENGINE.c b/kernel-module/xt_RTPENGINE.c index 5a039a703..9af7f99ac 100644 --- a/kernel-module/xt_RTPENGINE.c +++ b/kernel-module/xt_RTPENGINE.c @@ -1556,6 +1556,8 @@ static int proc_list_show(struct seq_file *f, void *v) { (unsigned long long) atomic64_read(&g->target.pt_stats[i]->packets)); } + seq_printf(f, " last packet: %lli", (long long) atomic64_read(&g->target.stats->last_packet)); + seq_printf(f, " SSRC in:"); for (i = 0; i < ARRAY_SIZE(g->target.ssrc); i++) { if (!g->target.ssrc[i] || !g->target.ssrc_stats[i])