X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/dfe42a2505e655ee80e862c72a78a15802a76a71..b365f2b79a681a3afc3b487fd5fa659f83725bd7:/package/wprobe/src/exporter/wprobe-export.c?ds=sidebyside diff --git a/package/wprobe/src/exporter/wprobe-export.c b/package/wprobe/src/exporter/wprobe-export.c index fa32e8b28..a0e52e2f4 100644 --- a/package/wprobe/src/exporter/wprobe-export.c +++ b/package/wprobe/src/exporter/wprobe-export.c @@ -25,7 +25,6 @@ static int do_close = 0; struct wprobe_mapping { int id; bool counter; - float scale; const char *wprobe_id; struct wprobe_value *val; }; @@ -36,16 +35,14 @@ struct wprobe_mapping { #define WMAP(_id, _name, ...) \ { \ - .scale = 1.0f, \ .counter = false, \ - .id = IPFIX_FT_WPROBE_##_id##_AVG, \ + .id = IPFIX_FT_WPROBE_##_id##_N, \ .wprobe_id = _name \ , ## __VA_ARGS__ \ } #define WMAP_COUNTER(_id, _name, ...) \ { \ - .scale = 1.0f, \ .counter = true, \ .id = IPFIX_FT_WPROBE_##_id, \ .wprobe_id = _name \ @@ -144,7 +141,7 @@ add_template_fields(ipfix_t *handle, ipfix_template_t *t, struct wprobe_mapping if (map[i].counter) g_data.addrs[f++] = &map[i].val->U32; else - g_data.addrs[f++] = &map[i].val->avg; + g_data.addrs[f++] = &map[i].val->n; if (ipfix_add_field( handle, t, FOKUS_USERID, map[i].id + 0, 4) < 0) exit(1); @@ -152,11 +149,14 @@ add_template_fields(ipfix_t *handle, ipfix_template_t *t, struct wprobe_mapping if (map[i].counter) continue; - g_data.addrs[f++] = &map[i].val->stdev; - g_data.addrs[f++] = &map[i].val->n; - if (ipfix_add_field( handle, t, FOKUS_USERID, map[i].id + 1, 4) < 0) + g_data.lens[f] = 8; + g_data.addrs[f++] = &map[i].val->s; + + g_data.lens[f] = 8; + g_data.addrs[f++] = &map[i].val->ss; + if (ipfix_add_field( handle, t, FOKUS_USERID, map[i].id + 1, 8) < 0) exit(1); - if (ipfix_add_field( handle, t, FOKUS_USERID, map[i].id + 2, 4) < 0) + if (ipfix_add_field( handle, t, FOKUS_USERID, map[i].id + 2, 8) < 0) exit(1); } g_data.maxfields = f; @@ -194,6 +194,7 @@ int main ( int argc, char **argv ) int port = IPFIX_PORTNO; int verbose_level = 0; int opt, i = 10; + char *err = NULL; while ((opt = getopt(argc, argv, "hi:c:p:vstu")) != EOF) { switch (opt) { @@ -252,9 +253,9 @@ int main ( int argc, char **argv ) return -1; } - dev = wprobe_get_dev(ifname); + dev = wprobe_get_auto(ifname, &err); if (!dev || (list_empty(&dev->global_attr) && list_empty(&dev->link_attr))) { - fprintf(stderr, "Cannot connect to wprobe on interface '%s'\n", ifname); + fprintf(stderr, "Cannot connect to wprobe on interface '%s': %s\n", ifname, (err ? err : "Unknown error")); return -1; }