aboutsummaryrefslogtreecommitdiffstats
path: root/src/libcharon/plugins/stroke/stroke_socket.c
diff options
context:
space:
mode:
authorMartin Willi <martin@revosec.ch>2013-03-15 10:55:22 +0100
committerMartin Willi <martin@revosec.ch>2013-03-15 10:55:22 +0100
commitcf729248b28473b9651e347741d351cf0d34892f (patch)
treeffa05dd5a68b0fec088d779323fec34b36c45f33 /src/libcharon/plugins/stroke/stroke_socket.c
parentd022322bed29e0b6d1ca09edb891402d7e2cc73f (diff)
downloadstrongswan-cf729248b28473b9651e347741d351cf0d34892f.tar.bz2
strongswan-cf729248b28473b9651e347741d351cf0d34892f.tar.xz
Add a "resetcounters" command to ipsec, clearing global or connection counters
Diffstat (limited to 'src/libcharon/plugins/stroke/stroke_socket.c')
-rw-r--r--src/libcharon/plugins/stroke/stroke_socket.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/libcharon/plugins/stroke/stroke_socket.c b/src/libcharon/plugins/stroke/stroke_socket.c
index ebb3c723d..7d41682fb 100644
--- a/src/libcharon/plugins/stroke/stroke_socket.c
+++ b/src/libcharon/plugins/stroke/stroke_socket.c
@@ -509,7 +509,14 @@ static void stroke_counters(private_stroke_socket_t *this,
{
pop_string(msg, &msg->counters.name);
- this->counter->print(this->counter, out, msg->counters.name);
+ if (msg->counters.reset)
+ {
+ this->counter->reset(this->counter, msg->counters.name);
+ }
+ else
+ {
+ this->counter->print(this->counter, out, msg->counters.name);
+ }
}
/**
@@ -675,6 +682,7 @@ static job_requeue_t process(stroke_job_context_t *ctx)
break;
case STR_COUNTERS:
stroke_counters(this, msg, out);
+ break;
default:
DBG1(DBG_CFG, "received unknown stroke");
break;