aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLev Stipakov2023-03-22 13:32:49 +0200
committerGert Doering2023-03-23 10:54:00 +0100
commitd598871ca9fb7b4814ee8d8edfb26d20479bb6ed (patch)
tree3d99a484a90e11f4c4487d3400ff5fe1bc3235ca
parent5acefd944c6a8a4338b5105ffe6b9ffce6bad330 (diff)
downloadopenvpn-d598871ca9fb7b4814ee8d8edfb26d20479bb6ed.zip
openvpn-d598871ca9fb7b4814ee8d8edfb26d20479bb6ed.tar.gz
Print DCO client stats on SIGUSR2
Change-Id: I465febdf7ee5fe573e88255844f718efb60f8e8a Signed-off-by: Lev Stipakov <lev@openvpn.net> Acked-by: Gert Doering <gert@greenie.muc.de> 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 <gert@greenie.muc.de> (cherry picked from commit d5238627e4fab93a6c09816c60eb90e237b626c3)
-rw-r--r--src/openvpn/sig.c13
-rw-r--r--src/openvpn/sig.h2
2 files changed, 10 insertions, 5 deletions
diff --git a/src/openvpn/sig.c b/src/openvpn/sig.c
index 5b89bb4..05c0054 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 4858eb9..b09dfab 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);