ipv6: making ip and icmp statistics per/namespace
Signed-off-by: Denis V. Lunev <den@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
087fe24033
commit
9261e53701
@@ -113,23 +113,20 @@ extern struct ctl_path net_ipv6_ctl_path[];
|
||||
#define _DEVINC(net, statname, modifier, idev, field) \
|
||||
({ \
|
||||
struct inet6_dev *_idev = (idev); \
|
||||
(void)(net); \
|
||||
if (likely(_idev != NULL)) \
|
||||
SNMP_INC_STATS##modifier((_idev)->stats.statname, (field)); \
|
||||
SNMP_INC_STATS##modifier(statname##_statistics, (field)); \
|
||||
SNMP_INC_STATS##modifier((net)->mib.statname##_statistics, (field));\
|
||||
})
|
||||
|
||||
#define _DEVADD(net, statname, modifier, idev, field, val) \
|
||||
({ \
|
||||
struct inet6_dev *_idev = (idev); \
|
||||
(void)(net); \
|
||||
if (likely(_idev != NULL)) \
|
||||
SNMP_ADD_STATS##modifier((_idev)->stats.statname, (field), (val)); \
|
||||
SNMP_ADD_STATS##modifier(statname##_statistics, (field), (val));\
|
||||
SNMP_ADD_STATS##modifier((net)->mib.statname##_statistics, (field), (val));\
|
||||
})
|
||||
|
||||
/* MIBs */
|
||||
DECLARE_SNMP_STAT(struct ipstats_mib, ipv6_statistics);
|
||||
|
||||
#define IP6_INC_STATS(net, idev,field) \
|
||||
_DEVINC(net, ipv6, , idev, field)
|
||||
@@ -138,9 +135,6 @@ DECLARE_SNMP_STAT(struct ipstats_mib, ipv6_statistics);
|
||||
#define IP6_ADD_STATS_BH(net, idev,field,val) \
|
||||
_DEVADD(net, ipv6, _BH, idev, field, val)
|
||||
|
||||
DECLARE_SNMP_STAT(struct icmpv6_mib, icmpv6_statistics);
|
||||
DECLARE_SNMP_STAT(struct icmpv6msg_mib, icmpv6msg_statistics);
|
||||
|
||||
#define ICMP6_INC_STATS(net, idev, field) \
|
||||
_DEVINC(net, icmpv6, , idev, field)
|
||||
#define ICMP6_INC_STATS_BH(net, idev, field) \
|
||||
|
@@ -16,6 +16,9 @@ struct netns_mib {
|
||||
struct proc_dir_entry *proc_net_devsnmp6;
|
||||
DEFINE_SNMP_STAT(struct udp_mib, udp_stats_in6);
|
||||
DEFINE_SNMP_STAT(struct udp_mib, udplite_stats_in6);
|
||||
DEFINE_SNMP_STAT(struct ipstats_mib, ipv6_statistics);
|
||||
DEFINE_SNMP_STAT(struct icmpv6_mib, icmpv6_statistics);
|
||||
DEFINE_SNMP_STAT(struct icmpv6msg_mib, icmpv6msg_statistics);
|
||||
#endif
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user