return (i);
} /* int openvpn_strsplit */
-
/* dispatches stats about traffic (TCP or UDP) generated by the tunnel per single endpoint */
-static void iostats_submit (char *name, char *type, counter_t rx, counter_t tx)
+static void iostats_submit (char *pinst, char *tinst, counter_t rx, counter_t tx)
{
value_t values[2];
value_list_t vl = VALUE_LIST_INIT;
vl.values_len = STATIC_ARRAY_SIZE (values);
sstrncpy (vl.host, hostname_g, sizeof (vl.host));
sstrncpy (vl.plugin, "openvpn", sizeof (vl.plugin));
- sstrncpy (vl.plugin_instance, name, sizeof (vl.plugin_instance));
-
- if (type) /* new naming schema - improved naming schema option */
- {
- sstrncpy (vl.type, "io_octets", sizeof (vl.type));
- sstrncpy (vl.type_instance, type, sizeof (vl.type_instance));
- }
- else /* old naming schema (multicontext only): plugin_instance = hostname rather than filename */
- {
- sstrncpy (vl.type, "if_octets", sizeof (vl.type));
- }
+ if (pinst != NULL)
+ sstrncpy (vl.plugin_instance, pinst,
+ sizeof (vl.plugin_instance));
+ sstrncpy (vl.type, "if_octets", sizeof (vl.type));
+ if (tinst != NULL)
+ sstrncpy (vl.type_instance, tinst, sizeof (vl.type_instance));
plugin_dispatch_values (&vl);
} /* void traffic_submit */
/* dispatches stats about data compression shown when in single mode */
-static void compression_submit (char *name, char *type, counter_t uncompressed, counter_t compressed)
+static void compression_submit (char *pinst, char *tinst,
+ counter_t uncompressed, counter_t compressed)
{
value_t values[2];
value_list_t vl = VALUE_LIST_INIT;
vl.values_len = STATIC_ARRAY_SIZE (values);
sstrncpy (vl.host, hostname_g, sizeof (vl.host));
sstrncpy (vl.plugin, "openvpn", sizeof (vl.plugin));
- sstrncpy (vl.plugin_instance, name, sizeof (vl.plugin_instance));
+ if (pinst != NULL)
+ sstrncpy (vl.plugin_instance, pinst,
+ sizeof (vl.plugin_instance));
sstrncpy (vl.type, "compression", sizeof (vl.type));
- sstrncpy (vl.type_instance, type, sizeof (vl.type_instance));
+ if (tinst != NULL)
+ sstrncpy (vl.type_instance, tinst, sizeof (vl.type_instance));
plugin_dispatch_values (&vl);
} /* void compression_submit */
* with more or less fields.
*/
if (fields_num != 8)
- {
continue;
+
+ if (strcmp (fields[0], "CLIENT_LIST") != 0)
+ continue;
+
+ if (new_naming_schema)
+ {
+ /* plugin inst = file name, type inst = fields[1] */
+ iostats_submit (name, /* vpn instance */
+ fields[1], /* "Common Name" */
+ atoll (fields[4]), /* "Bytes Received" */
+ atoll (fields[5])); /* "Bytes Sent" */
}
else
{
- if (strcmp (fields[0], "CLIENT_LIST") == 0)
- {
- if (new_naming_schema)
- {
- iostats_submit (name, /* vpn instance */
- fields[1], /* "Common Name" */
- atoll (fields[4]), /* "Bytes Received" */
- atoll (fields[5])); /* "Bytes Sent" */
- }
- else
- {
- iostats_submit (fields[1], /* "Common Name" */
- NULL, /* unused when in multimode */
- atoll (fields[4]), /* "Bytes Received" */
- atoll (fields[5])); /* "Bytes Sent" */
- }
-
- read = 1;
- }
+ /* plugin inst = fields[1], type inst = "" */
+ iostats_submit (fields[1], /* "Common Name" */
+ NULL, /* unused when in multimode */
+ atoll (fields[4]), /* "Bytes Received" */
+ atoll (fields[5])); /* "Bytes Sent" */
}
+
+ read = 1;
}
return (read);
}
else
{
- if (strcmp (fields[0], "CLIENT_LIST") == 0)
+ if (strcmp (fields[0], "CLIENT_LIST") != 0)
+ continue;
+
+ if (new_naming_schema)
{
- if (new_naming_schema)
- {
- iostats_submit (name, /* vpn instance */
- fields[1], /* "Common Name" */
- atoll (fields[4]), /* "Bytes Received" */
- atoll (fields[5])); /* "Bytes Sent" */
- }
- else
- {
- iostats_submit (fields[1], /* "Common Name" */
- NULL, /* unused when in multimode */
- atoll (fields[4]), /* "Bytes Received" */
- atoll (fields[5])); /* "Bytes Sent" */
- }
-
- read = 1;
+ iostats_submit (name, /* vpn instance */
+ fields[1], /* "Common Name" */
+ atoll (fields[4]), /* "Bytes Received" */
+ atoll (fields[5])); /* "Bytes Sent" */
}
+ else
+ {
+ iostats_submit (fields[1], /* "Common Name" */
+ NULL, /* unused when in multimode */
+ atoll (fields[4]), /* "Bytes Received" */
+ atoll (fields[5])); /* "Bytes Sent" */
+ }
+
+ read = 1;
}
}