diff options
author | Thomas Graf <tgraf@suug.ch> | 2015-11-15 18:09:42 -0800 |
---|---|---|
committer | Thomas Graf <tgraf@suug.ch> | 2015-11-15 18:09:42 -0800 |
commit | 559e31e62f2dbbb3b6f415070bf459a98614cf0e (patch) | |
tree | e1d2f6538bfb96a8daa96d77be2fc50de34f349a | |
parent | 9a69cb6d596413c1d80f432b3eb0362a7e42b8a7 (diff) | |
parent | 665c63d4e75e0cda65e9ef52d7828ff44e028449 (diff) |
Merge pull request #30 from tklauser/ip6-link-stats
Add additional IPv6 link stats
-rw-r--r-- | src/in_netlink.c | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/src/in_netlink.c b/src/in_netlink.c index 683e05f..84a841a 100644 --- a/src/in_netlink.c +++ b/src/in_netlink.c @@ -49,6 +49,17 @@ static struct bmon_module netlink_ops; #include <netlink/route/classifier.h> #include <netlink/route/qdisc/htb.h> +/* These counters are not available prior to libnl 3.2.25. Set them to -1 so + * rtnl_link_get_stat() won't be called for them. */ +#if LIBNL_CURRENT < 220 +# define RTNL_LINK_ICMP6_CSUMERRORS -1 +# define RTNL_LINK_IP6_CSUMERRORS -1 +# define RTNL_LINK_IP6_NOECTPKTS -1 +# define RTNL_LINK_IP6_ECT1PKTS -1 +# define RTNL_LINK_IP6_ECT0PKTS -1 +# define RTNL_LINK_IP6_CEPKTS -1 +#endif + static struct attr_map link_attrs[] = { { .name = "bytes", @@ -283,6 +294,14 @@ static struct attr_map link_attrs[] = { .txid = RTNL_LINK_ICMP6_OUTERRORS, }, { + .name = "icmp6csumerr", + .type = ATTR_TYPE_COUNTER, + .unit = UNIT_NUMBER, + .description = "ICMPv6 Checksum Errors", + .rxid = RTNL_LINK_ICMP6_CSUMERRORS, + .txid = -1, +}, +{ .name = "ip6inhdrerr", .type = ATTR_TYPE_COUNTER, .unit = UNIT_NUMBER, @@ -323,6 +342,14 @@ static struct attr_map link_attrs[] = { .txid = -1, }, { + .name = "ip6csumerr", + .type = ATTR_TYPE_COUNTER, + .unit = UNIT_NUMBER, + .description = "Ip6 Checksum Error", + .rxid = RTNL_LINK_IP6_CSUMERRORS, + .txid = -1, +}, +{ .name = "ip6reasmtimeo", .type = ATTR_TYPE_COUNTER, .unit = UNIT_NUMBER, @@ -353,6 +380,38 @@ static struct attr_map link_attrs[] = { .description = "Ip6 Reasm/Frag Requests", .rxid = RTNL_LINK_IP6_REASMREQDS, .txid = RTNL_LINK_IP6_FRAGCREATES, +}, +{ + .name = "ip6noectpkts", + .type = ATTR_TYPE_COUNTER, + .unit = UNIT_NUMBER, + .description = "Ip6 Non-ECT Packets", + .rxid = RTNL_LINK_IP6_NOECTPKTS, + .txid = -1, +}, +{ + .name = "ip6ect1pkts", + .type = ATTR_TYPE_COUNTER, + .unit = UNIT_NUMBER, + .description = "Ip6 ECT(1) Packets", + .rxid = RTNL_LINK_IP6_ECT1PKTS, + .txid = -1, +}, +{ + .name = "ip6ect0pkts", + .type = ATTR_TYPE_COUNTER, + .unit = UNIT_NUMBER, + .description = "Ip6 ECT(0) Packets", + .rxid = RTNL_LINK_IP6_ECT0PKTS, + .txid = -1, +}, +{ + .name = "ip6cepkts", + .type = ATTR_TYPE_COUNTER, + .unit = UNIT_NUMBER, + .description = "Ip6 CE Packets", + .rxid = RTNL_LINK_IP6_CEPKTS, + .txid = -1, } }; |