]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - include/net/ip.h
mib: put ip statistics on struct net
[net-next-2.6.git] / include / net / ip.h
index 6d7bcd5e62d48ce689b1700afa9e34a82401e86e..ff2535ada02e582cfa22290eff7beb1ba259af87 100644 (file)
@@ -156,17 +156,15 @@ struct ipv4_config
 };
 
 extern struct ipv4_config ipv4_config;
-DECLARE_SNMP_STAT(struct ipstats_mib, ip_statistics);
-#define IP_INC_STATS(field)            SNMP_INC_STATS(ip_statistics, field)
-#define IP_INC_STATS_BH(field)         SNMP_INC_STATS_BH(ip_statistics, field)
-#define IP_INC_STATS_USER(field)       SNMP_INC_STATS_USER(ip_statistics, field)
-#define IP_ADD_STATS_BH(field, val)    SNMP_ADD_STATS_BH(ip_statistics, field, val)
+#define IP_INC_STATS(net, field)       SNMP_INC_STATS((net)->mib.ip_statistics, field)
+#define IP_INC_STATS_BH(net, field)    SNMP_INC_STATS_BH((net)->mib.ip_statistics, field)
+#define IP_ADD_STATS_BH(net, field, val) SNMP_ADD_STATS_BH((net)->mib.ip_statistics, field, val)
 DECLARE_SNMP_STAT(struct linux_mib, net_statistics);
-#define NET_INC_STATS(field)           SNMP_INC_STATS(net_statistics, field)
-#define NET_INC_STATS_BH(field)                SNMP_INC_STATS_BH(net_statistics, field)
-#define NET_INC_STATS_USER(field)      SNMP_INC_STATS_USER(net_statistics, field)
-#define NET_ADD_STATS_BH(field, adnd)  SNMP_ADD_STATS_BH(net_statistics, field, adnd)
-#define NET_ADD_STATS_USER(field, adnd)        SNMP_ADD_STATS_USER(net_statistics, field, adnd)
+#define NET_INC_STATS(net, field)      do { (void)net; SNMP_INC_STATS(net_statistics, field); } while (0)
+#define NET_INC_STATS_BH(net, field)   do { (void)net; SNMP_INC_STATS_BH(net_statistics, field); } while (0)
+#define NET_INC_STATS_USER(net, field)         do { (void)net; SNMP_INC_STATS_USER(net_statistics, field); } while (0)
+#define NET_ADD_STATS_BH(net, field, adnd) do { (void)net; SNMP_ADD_STATS_BH(net_statistics, field, adnd); } while (0)
+#define NET_ADD_STATS_USER(net, field, adnd) do { (void)net; SNMP_ADD_STATS_USER(net_statistics, field, adnd); } while (0)
 
 extern unsigned long snmp_fold_field(void *mib[], int offt);
 extern int snmp_mib_init(void *ptr[2], size_t mibsize);
@@ -210,7 +208,7 @@ int ip_dont_fragment(struct sock *sk, struct dst_entry *dst)
 {
        return (inet_sk(sk)->pmtudisc == IP_PMTUDISC_DO ||
                (inet_sk(sk)->pmtudisc == IP_PMTUDISC_WANT &&
-                !(dst_metric(dst, RTAX_LOCK)&(1<<RTAX_MTU))));
+                !(dst_metric_locked(dst, RTAX_MTU))));
 }
 
 extern void __ip_select_ident(struct iphdr *iph, struct dst_entry *dst, int more);