prefix ipv6 link statistics identifiers with IP6

This commit is contained in:
Thomas Graf 2011-03-16 12:55:19 +01:00
parent 82fe785820
commit 4b0126b8e6
3 changed files with 97 additions and 95 deletions

View file

@ -46,36 +46,36 @@ enum rtnl_link_st {
RTNL_LINK_TX_WIN_ERR,
RTNL_LINK_COLLISIONS,
RTNL_LINK_MULTICAST,
RTNL_LINK_INPKTS, /* InReceives */
RTNL_LINK_INHDRERRORS, /* InHdrErrors */
RTNL_LINK_INTOOBIGERRORS, /* InTooBigErrors */
RTNL_LINK_INNOROUTES, /* InNoRoutes */
RTNL_LINK_INADDRERRORS, /* InAddrErrors */
RTNL_LINK_INUNKNOWNPROTOS, /* InUnknownProtos */
RTNL_LINK_INTRUNCATEDPKTS, /* InTruncatedPkts */
RTNL_LINK_INDISCARDS, /* InDiscards */
RTNL_LINK_INDELIVERS, /* InDelivers */
RTNL_LINK_OUTFORWDATAGRAMS, /* OutForwDatagrams */
RTNL_LINK_OUTPKTS, /* OutRequests */
RTNL_LINK_OUTDISCARDS, /* OutDiscards */
RTNL_LINK_OUTNOROUTES, /* OutNoRoutes */
RTNL_LINK_REASMTIMEOUT, /* ReasmTimeout */
RTNL_LINK_REASMREQDS, /* ReasmReqds */
RTNL_LINK_REASMOKS, /* ReasmOKs */
RTNL_LINK_REASMFAILS, /* ReasmFails */
RTNL_LINK_FRAGOKS, /* FragOKs */
RTNL_LINK_FRAGFAILS, /* FragFails */
RTNL_LINK_FRAGCREATES, /* FragCreates */
RTNL_LINK_INMCASTPKTS, /* InMcastPkts */
RTNL_LINK_OUTMCASTPKTS, /* OutMcastPkts */
RTNL_LINK_INBCASTPKTS, /* InBcastPkts */
RTNL_LINK_OUTBCASTPKTS, /* OutBcastPkts */
RTNL_LINK_INOCTETS, /* InOctets */
RTNL_LINK_OUTOCTETS, /* OutOctets */
RTNL_LINK_INMCASTOCTETS, /* InMcastOctets */
RTNL_LINK_OUTMCASTOCTETS, /* OutMcastOctets */
RTNL_LINK_INBCASTOCTETS, /* InBcastOctets */
RTNL_LINK_OUTBCASTOCTETS, /* OutBcastOctets */
RTNL_LINK_IP6_INPKTS, /* InReceives */
RTNL_LINK_IP6_INHDRERRORS, /* InHdrErrors */
RTNL_LINK_IP6_INTOOBIGERRORS, /* InTooBigErrors */
RTNL_LINK_IP6_INNOROUTES, /* InNoRoutes */
RTNL_LINK_IP6_INADDRERRORS, /* InAddrErrors */
RTNL_LINK_IP6_INUNKNOWNPROTOS, /* InUnknownProtos */
RTNL_LINK_IP6_INTRUNCATEDPKTS, /* InTruncatedPkts */
RTNL_LINK_IP6_INDISCARDS, /* InDiscards */
RTNL_LINK_IP6_INDELIVERS, /* InDelivers */
RTNL_LINK_IP6_OUTFORWDATAGRAMS, /* OutForwDatagrams */
RTNL_LINK_IP6_OUTPKTS, /* OutRequests */
RTNL_LINK_IP6_OUTDISCARDS, /* OutDiscards */
RTNL_LINK_IP6_OUTNOROUTES, /* OutNoRoutes */
RTNL_LINK_IP6_REASMTIMEOUT, /* ReasmTimeout */
RTNL_LINK_IP6_REASMREQDS, /* ReasmReqds */
RTNL_LINK_IP6_REASMOKS, /* ReasmOKs */
RTNL_LINK_IP6_REASMFAILS, /* ReasmFails */
RTNL_LINK_IP6_FRAGOKS, /* FragOKs */
RTNL_LINK_IP6_FRAGFAILS, /* FragFails */
RTNL_LINK_IP6_FRAGCREATES, /* FragCreates */
RTNL_LINK_IP6_INMCASTPKTS, /* InMcastPkts */
RTNL_LINK_IP6_OUTMCASTPKTS, /* OutMcastPkts */
RTNL_LINK_IP6_INBCASTPKTS, /* InBcastPkts */
RTNL_LINK_IP6_OUTBCASTPKTS, /* OutBcastPkts */
RTNL_LINK_IP6_INOCTETS, /* InOctets */
RTNL_LINK_IP6_OUTOCTETS, /* OutOctets */
RTNL_LINK_IP6_INMCASTOCTETS, /* InMcastOctets */
RTNL_LINK_IP6_OUTMCASTOCTETS, /* OutMcastOctets */
RTNL_LINK_IP6_INBCASTOCTETS, /* InBcastOctets */
RTNL_LINK_IP6_OUTBCASTOCTETS, /* OutBcastOctets */
RTNL_LINK_ICMP6_INMSGS, /* InMsgs */
RTNL_LINK_ICMP6_INERRORS, /* InErrors */
RTNL_LINK_ICMP6_OUTMSGS, /* OutMsgs */

View file

@ -1287,36 +1287,36 @@ static const struct trans_tbl link_stats[] = {
__ADD(RTNL_LINK_TX_WIN_ERR, tx_win_err)
__ADD(RTNL_LINK_COLLISIONS, collisions)
__ADD(RTNL_LINK_MULTICAST, multicast)
__ADD(RTNL_LINK_INPKTS, InReceives)
__ADD(RTNL_LINK_INHDRERRORS, InHdrErrors)
__ADD(RTNL_LINK_INTOOBIGERRORS, InTooBigErrors)
__ADD(RTNL_LINK_INNOROUTES, InNoRoutes)
__ADD(RTNL_LINK_INADDRERRORS, InAddrErrors)
__ADD(RTNL_LINK_INUNKNOWNPROTOS, InUnknownProtos)
__ADD(RTNL_LINK_INTRUNCATEDPKTS, InTruncatedPkts)
__ADD(RTNL_LINK_INDISCARDS, InDiscards)
__ADD(RTNL_LINK_INDELIVERS, InDelivers)
__ADD(RTNL_LINK_OUTFORWDATAGRAMS, OutForwDatagrams)
__ADD(RTNL_LINK_OUTPKTS, OutRequests)
__ADD(RTNL_LINK_OUTDISCARDS, OutDiscards)
__ADD(RTNL_LINK_OUTNOROUTES, OutNoRoutes)
__ADD(RTNL_LINK_REASMTIMEOUT, ReasmTimeout)
__ADD(RTNL_LINK_REASMREQDS, ReasmReqds)
__ADD(RTNL_LINK_REASMOKS, ReasmOKs)
__ADD(RTNL_LINK_REASMFAILS, ReasmFails)
__ADD(RTNL_LINK_FRAGOKS, FragOKs)
__ADD(RTNL_LINK_FRAGFAILS, FragFails)
__ADD(RTNL_LINK_FRAGCREATES, FragCreates)
__ADD(RTNL_LINK_INMCASTPKTS, InMcastPkts)
__ADD(RTNL_LINK_OUTMCASTPKTS, OutMcastPkts)
__ADD(RTNL_LINK_INBCASTPKTS, InBcastPkts)
__ADD(RTNL_LINK_OUTBCASTPKTS, OutBcastPkts)
__ADD(RTNL_LINK_INOCTETS, InOctets)
__ADD(RTNL_LINK_OUTOCTETS, OutOctets)
__ADD(RTNL_LINK_INMCASTOCTETS, InMcastOctets)
__ADD(RTNL_LINK_OUTMCASTOCTETS, OutMcastOctets)
__ADD(RTNL_LINK_INBCASTOCTETS, InBcastOctets)
__ADD(RTNL_LINK_OUTBCASTOCTETS, OutBcastOctets)
__ADD(RTNL_LINK_IP6_INPKTS, Ip6InReceives)
__ADD(RTNL_LINK_IP6_INHDRERRORS, Ip6InHdrErrors)
__ADD(RTNL_LINK_IP6_INTOOBIGERRORS, Ip6InTooBigErrors)
__ADD(RTNL_LINK_IP6_INNOROUTES, Ip6InNoRoutes)
__ADD(RTNL_LINK_IP6_INADDRERRORS, Ip6InAddrErrors)
__ADD(RTNL_LINK_IP6_INUNKNOWNPROTOS, Ip6InUnknownProtos)
__ADD(RTNL_LINK_IP6_INTRUNCATEDPKTS, Ip6InTruncatedPkts)
__ADD(RTNL_LINK_IP6_INDISCARDS, Ip6InDiscards)
__ADD(RTNL_LINK_IP6_INDELIVERS, Ip6InDelivers)
__ADD(RTNL_LINK_IP6_OUTFORWDATAGRAMS, Ip6OutForwDatagrams)
__ADD(RTNL_LINK_IP6_OUTPKTS, Ip6OutRequests)
__ADD(RTNL_LINK_IP6_OUTDISCARDS, Ip6OutDiscards)
__ADD(RTNL_LINK_IP6_OUTNOROUTES, Ip6OutNoRoutes)
__ADD(RTNL_LINK_IP6_REASMTIMEOUT, Ip6ReasmTimeout)
__ADD(RTNL_LINK_IP6_REASMREQDS, Ip6ReasmReqds)
__ADD(RTNL_LINK_IP6_REASMOKS, Ip6ReasmOKs)
__ADD(RTNL_LINK_IP6_REASMFAILS, Ip6ReasmFails)
__ADD(RTNL_LINK_IP6_FRAGOKS, Ip6FragOKs)
__ADD(RTNL_LINK_IP6_FRAGFAILS, Ip6FragFails)
__ADD(RTNL_LINK_IP6_FRAGCREATES, Ip6FragCreates)
__ADD(RTNL_LINK_IP6_INMCASTPKTS, Ip6InMcastPkts)
__ADD(RTNL_LINK_IP6_OUTMCASTPKTS, Ip6OutMcastPkts)
__ADD(RTNL_LINK_IP6_INBCASTPKTS, Ip6InBcastPkts)
__ADD(RTNL_LINK_IP6_OUTBCASTPKTS, Ip6OutBcastPkts)
__ADD(RTNL_LINK_IP6_INOCTETS, Ip6InOctets)
__ADD(RTNL_LINK_IP6_OUTOCTETS, Ip6OutOctets)
__ADD(RTNL_LINK_IP6_INMCASTOCTETS, Ip6InMcastOctets)
__ADD(RTNL_LINK_IP6_OUTMCASTOCTETS, Ip6OutMcastOctets)
__ADD(RTNL_LINK_IP6_INBCASTOCTETS, Ip6InBcastOctets)
__ADD(RTNL_LINK_IP6_OUTBCASTOCTETS, Ip6OutBcastOctets)
__ADD(RTNL_LINK_ICMP6_INMSGS, ICMP6_InMsgs)
__ADD(RTNL_LINK_ICMP6_INERRORS, ICMP6_InErrors)
__ADD(RTNL_LINK_ICMP6_OUTMSGS, ICMP6_OutMsgs)

View file

@ -76,16 +76,18 @@ static int inet6_parse_protinfo(struct rtnl_link *link, struct nlattr *attr,
uint64_t *cnt = nla_data(tb[IFLA_INET6_STATS]);
int i;
for (i = 1; i < __IPSTATS_MIB_MAX; i++)
rtnl_link_set_stat(link, RTNL_LINK_INPKTS, cnt[i-1]);
for (i = 1; i <= __IPSTATS_MIB_MAX; i++)
rtnl_link_set_stat(link, RTNL_LINK_IP6_INPKTS + i - 1,
cnt[i]);
}
if (tb[IFLA_INET6_ICMP6STATS]) {
uint64_t *cnt = nla_data(tb[IFLA_INET6_STATS]);
uint64_t *cnt = nla_data(tb[IFLA_INET6_ICMP6STATS]);
int i;
for (i = 1; i < __ICMP6_MIB_MAX; i++)
rtnl_link_set_stat(link, RTNL_LINK_ICMP6_INMSGS, cnt[i-1]);
for (i = 1; i <= __ICMP6_MIB_MAX; i++)
rtnl_link_set_stat(link, RTNL_LINK_ICMP6_INMSGS + i - 1,
cnt[i]);
}
return 0;
@ -230,9 +232,9 @@ static void inet6_dump_stats(struct rtnl_link *link,
nl_dump(p, " IPv6: InPkts InOctets "
" InDiscards InDelivers\n");
nl_dump(p, " %18llu ", link->l_stats[RTNL_LINK_INPKTS]);
nl_dump(p, " %18llu ", link->l_stats[RTNL_LINK_IP6_INPKTS]);
octets = nl_cancel_down_bytes(link->l_stats[RTNL_LINK_INOCTETS],
octets = nl_cancel_down_bytes(link->l_stats[RTNL_LINK_IP6_INOCTETS],
&octetsUnit);
if (octets)
nl_dump(p, "%14.2f %3s ", octets, octetsUnit);
@ -240,15 +242,15 @@ static void inet6_dump_stats(struct rtnl_link *link,
nl_dump(p, "%16llu B ", 0);
nl_dump(p, "%18llu %18llu\n",
link->l_stats[RTNL_LINK_INDISCARDS],
link->l_stats[RTNL_LINK_INDELIVERS]);
link->l_stats[RTNL_LINK_IP6_INDISCARDS],
link->l_stats[RTNL_LINK_IP6_INDELIVERS]);
nl_dump(p, " OutPkts OutOctets "
" OutDiscards OutForwards\n");
nl_dump(p, " %18llu ", link->l_stats[RTNL_LINK_OUTPKTS]);
nl_dump(p, " %18llu ", link->l_stats[RTNL_LINK_IP6_OUTPKTS]);
octets = nl_cancel_down_bytes(link->l_stats[RTNL_LINK_OUTOCTETS],
octets = nl_cancel_down_bytes(link->l_stats[RTNL_LINK_IP6_OUTOCTETS],
&octetsUnit);
if (octets)
nl_dump(p, "%14.2f %3s ", octets, octetsUnit);
@ -256,23 +258,23 @@ static void inet6_dump_stats(struct rtnl_link *link,
nl_dump(p, "%16llu B ", 0);
nl_dump(p, "%18llu %18llu\n",
link->l_stats[RTNL_LINK_OUTDISCARDS],
link->l_stats[RTNL_LINK_OUTFORWDATAGRAMS]);
link->l_stats[RTNL_LINK_IP6_OUTDISCARDS],
link->l_stats[RTNL_LINK_IP6_OUTFORWDATAGRAMS]);
nl_dump(p, " InMcastPkts InMcastOctets "
" InBcastPkts InBcastOctests\n");
nl_dump(p, " %18llu ", link->l_stats[RTNL_LINK_INMCASTPKTS]);
nl_dump(p, " %18llu ", link->l_stats[RTNL_LINK_IP6_INMCASTPKTS]);
octets = nl_cancel_down_bytes(link->l_stats[RTNL_LINK_INMCASTOCTETS],
octets = nl_cancel_down_bytes(link->l_stats[RTNL_LINK_IP6_INMCASTOCTETS],
&octetsUnit);
if (octets)
nl_dump(p, "%14.2f %3s ", octets, octetsUnit);
else
nl_dump(p, "%16llu B ", 0);
nl_dump(p, "%18llu ", link->l_stats[RTNL_LINK_INBCASTPKTS]);
octets = nl_cancel_down_bytes(link->l_stats[RTNL_LINK_INBCASTOCTETS],
nl_dump(p, "%18llu ", link->l_stats[RTNL_LINK_IP6_INBCASTPKTS]);
octets = nl_cancel_down_bytes(link->l_stats[RTNL_LINK_IP6_INBCASTOCTETS],
&octetsUnit);
if (octets)
nl_dump(p, "%14.2f %3s\n", octets, octetsUnit);
@ -282,17 +284,17 @@ static void inet6_dump_stats(struct rtnl_link *link,
nl_dump(p, " OutMcastPkts OutMcastOctets "
" OutBcastPkts OutBcastOctests\n");
nl_dump(p, " %18llu ", link->l_stats[RTNL_LINK_OUTMCASTPKTS]);
nl_dump(p, " %18llu ", link->l_stats[RTNL_LINK_IP6_OUTMCASTPKTS]);
octets = nl_cancel_down_bytes(link->l_stats[RTNL_LINK_OUTMCASTOCTETS],
octets = nl_cancel_down_bytes(link->l_stats[RTNL_LINK_IP6_OUTMCASTOCTETS],
&octetsUnit);
if (octets)
nl_dump(p, "%14.2f %3s ", octets, octetsUnit);
else
nl_dump(p, "%16llu B ", 0);
nl_dump(p, "%18llu ", link->l_stats[RTNL_LINK_OUTBCASTPKTS]);
octets = nl_cancel_down_bytes(link->l_stats[RTNL_LINK_OUTBCASTOCTETS],
nl_dump(p, "%18llu ", link->l_stats[RTNL_LINK_IP6_OUTBCASTPKTS]);
octets = nl_cancel_down_bytes(link->l_stats[RTNL_LINK_IP6_OUTBCASTOCTETS],
&octetsUnit);
if (octets)
nl_dump(p, "%14.2f %3s\n", octets, octetsUnit);
@ -302,32 +304,32 @@ static void inet6_dump_stats(struct rtnl_link *link,
nl_dump(p, " ReasmOKs ReasmFails "
" ReasmReqds ReasmTimeout\n");
nl_dump(p, " %18llu %18llu %18llu %18llu\n",
link->l_stats[RTNL_LINK_REASMOKS],
link->l_stats[RTNL_LINK_REASMFAILS],
link->l_stats[RTNL_LINK_REASMREQDS],
link->l_stats[RTNL_LINK_REASMTIMEOUT]);
link->l_stats[RTNL_LINK_IP6_REASMOKS],
link->l_stats[RTNL_LINK_IP6_REASMFAILS],
link->l_stats[RTNL_LINK_IP6_REASMREQDS],
link->l_stats[RTNL_LINK_IP6_REASMTIMEOUT]);
nl_dump(p, " FragOKs FragFails "
" FragCreates\n");
nl_dump(p, " %18llu %18llu %18llu\n",
link->l_stats[RTNL_LINK_FRAGOKS],
link->l_stats[RTNL_LINK_FRAGFAILS],
link->l_stats[RTNL_LINK_FRAGCREATES]);
link->l_stats[RTNL_LINK_IP6_FRAGOKS],
link->l_stats[RTNL_LINK_IP6_FRAGFAILS],
link->l_stats[RTNL_LINK_IP6_FRAGCREATES]);
nl_dump(p, " InHdrErrors InTooBigErrors "
" InNoRoutes InAddrErrors\n");
nl_dump(p, " %18llu %18llu %18llu %18llu\n",
link->l_stats[RTNL_LINK_INHDRERRORS],
link->l_stats[RTNL_LINK_INTOOBIGERRORS],
link->l_stats[RTNL_LINK_INNOROUTES],
link->l_stats[RTNL_LINK_INADDRERRORS]);
link->l_stats[RTNL_LINK_IP6_INHDRERRORS],
link->l_stats[RTNL_LINK_IP6_INTOOBIGERRORS],
link->l_stats[RTNL_LINK_IP6_INNOROUTES],
link->l_stats[RTNL_LINK_IP6_INADDRERRORS]);
nl_dump(p, " InUnknownProtos InTruncatedPkts "
" OutNoRoutes\n");
nl_dump(p, " %18llu %18llu %18llu\n",
link->l_stats[RTNL_LINK_INUNKNOWNPROTOS],
link->l_stats[RTNL_LINK_INTRUNCATEDPKTS],
link->l_stats[RTNL_LINK_OUTNOROUTES]);
link->l_stats[RTNL_LINK_IP6_INUNKNOWNPROTOS],
link->l_stats[RTNL_LINK_IP6_INTRUNCATEDPKTS],
link->l_stats[RTNL_LINK_IP6_OUTNOROUTES]);
nl_dump(p, " ICMPv6: InMsgs InErrors "
" OutMsgs OutErrors\n");