snmp: 64bit ipstats_mib for all arches
/proc/net/snmp and /proc/net/netstat expose SNMP counters.
Width of these counters is either 32 or 64 bits, depending on the size
of "unsigned long" in kernel.
This means user program parsing these files must already be prepared to
deal with 64bit values, regardless of user program being 32 or 64 bit.
This patch introduces 64bit snmp values for IPSTAT mib, where some
counters can wrap pretty fast if they are 32bit wide.
# netstat -s|egrep "InOctets|OutOctets"
InOctets: 244068329096
OutOctets: 244069348848
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
f3eb62d2cc
commit
4ce3c183fc
@@ -136,17 +136,17 @@ extern struct ctl_path net_ipv6_ctl_path[];
|
||||
/* MIBs */
|
||||
|
||||
#define IP6_INC_STATS(net, idev,field) \
|
||||
_DEVINC(net, ipv6, , idev, field)
|
||||
_DEVINC(net, ipv6, 64, idev, field)
|
||||
#define IP6_INC_STATS_BH(net, idev,field) \
|
||||
_DEVINC(net, ipv6, _BH, idev, field)
|
||||
_DEVINC(net, ipv6, 64_BH, idev, field)
|
||||
#define IP6_ADD_STATS(net, idev,field,val) \
|
||||
_DEVADD(net, ipv6, , idev, field, val)
|
||||
_DEVADD(net, ipv6, 64, idev, field, val)
|
||||
#define IP6_ADD_STATS_BH(net, idev,field,val) \
|
||||
_DEVADD(net, ipv6, _BH, idev, field, val)
|
||||
_DEVADD(net, ipv6, 64_BH, idev, field, val)
|
||||
#define IP6_UPD_PO_STATS(net, idev,field,val) \
|
||||
_DEVUPD(net, ipv6, , idev, field, val)
|
||||
_DEVUPD(net, ipv6, 64, idev, field, val)
|
||||
#define IP6_UPD_PO_STATS_BH(net, idev,field,val) \
|
||||
_DEVUPD(net, ipv6, _BH, idev, field, val)
|
||||
_DEVUPD(net, ipv6, 64_BH, idev, field, val)
|
||||
#define ICMP6_INC_STATS(net, idev, field) \
|
||||
_DEVINC(net, icmpv6, , idev, field)
|
||||
#define ICMP6_INC_STATS_BH(net, idev, field) \
|
||||
|
||||
Reference in New Issue
Block a user