From d5238627e4fab93a6c09816c60eb90e237b626c3 Mon Sep 17 00:00:00 2001 From: Lev Stipakov Date: Wed, 22 Mar 2023 13:32:49 +0200 Subject: [PATCH] Print DCO client stats on SIGUSR2 Change-Id: I465febdf7ee5fe573e88255844f718efb60f8e8a Signed-off-by: Lev Stipakov Acked-by: Gert Doering Message-Id: <20230322113249.2039-1-lstipakov@gmail.com> URL: https://www.mail-archive.com/openvpn-devel@lists.sourceforge.net/msg26471.html Signed-off-by: Gert Doering --- src/openvpn/sig.c | 13 +++++++++---- src/openvpn/sig.h | 2 +- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/openvpn/sig.c b/src/openvpn/sig.c index 5b89bb42b..05c0054b6 100644 --- a/src/openvpn/sig.c +++ b/src/openvpn/sig.c @@ -300,18 +300,23 @@ restore_signal_state(void) * Triggered by SIGUSR2 or F2 on Windows. */ void -print_status(const struct context *c, struct status_output *so) +print_status(struct context *c, struct status_output *so) { struct gc_arena gc = gc_new(); status_reset(so); + if (dco_enabled(&c->options)) + { + dco_get_peer_stats(c); + } + status_printf(so, "OpenVPN STATISTICS"); status_printf(so, "Updated,%s", time_string(0, 0, false, &gc)); status_printf(so, "TUN/TAP read bytes," counter_format, c->c2.tun_read_bytes); status_printf(so, "TUN/TAP write bytes," counter_format, c->c2.tun_write_bytes); - status_printf(so, "TCP/UDP read bytes," counter_format, c->c2.link_read_bytes); - status_printf(so, "TCP/UDP write bytes," counter_format, c->c2.link_write_bytes); + status_printf(so, "TCP/UDP read bytes," counter_format, c->c2.link_read_bytes + c->c2.dco_read_bytes); + status_printf(so, "TCP/UDP write bytes," counter_format, c->c2.link_write_bytes + c->c2.dco_write_bytes); status_printf(so, "Auth read bytes," counter_format, c->c2.link_read_bytes_auth); #ifdef USE_COMP if (c->c2.comp_context) @@ -402,7 +407,7 @@ remap_signal(struct context *c) } static void -process_sigusr2(const struct context *c) +process_sigusr2(struct context *c) { struct status_output *so = status_open(NULL, 0, M_INFO, NULL, 0); print_status(c, so); diff --git a/src/openvpn/sig.h b/src/openvpn/sig.h index 4858eb93d..b09dfab6c 100644 --- a/src/openvpn/sig.h +++ b/src/openvpn/sig.h @@ -69,7 +69,7 @@ void restore_signal_state(void); void print_signal(const struct signal_info *si, const char *title, int msglevel); -void print_status(const struct context *c, struct status_output *so); +void print_status(struct context *c, struct status_output *so); void remap_signal(struct context *c); -- 2.47.3