mib: add struct net to ICMP_INC_STATS_BH
authorPavel Emelyanov <xemul@openvz.org>
Tue, 15 Jul 2008 06:03:00 +0000 (23:03 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 15 Jul 2008 06:05:29 +0000 (23:05 -0700)
Signed-off-by: Pavel Emelyanov <xemul@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/net/icmp.h
net/dccp/ipv4.c
net/ipv4/icmp.c
net/ipv4/tcp_ipv4.c
net/ipv4/udp.c
net/sctp/input.c

index c86fef8..e2ae640 100644 (file)
@@ -32,7 +32,7 @@ extern struct icmp_err icmp_err_convert[];
 DECLARE_SNMP_STAT(struct icmp_mib, icmp_statistics);
 DECLARE_SNMP_STAT(struct icmpmsg_mib, icmpmsg_statistics);
 #define ICMP_INC_STATS(net, field)     SNMP_INC_STATS(icmp_statistics, field)
-#define ICMP_INC_STATS_BH(field)       SNMP_INC_STATS_BH(icmp_statistics, field)
+#define ICMP_INC_STATS_BH(net, field)  SNMP_INC_STATS_BH(icmp_statistics, field)
 #define ICMPMSGOUT_INC_STATS(field)    SNMP_INC_STATS(icmpmsg_statistics, field+256)
 #define ICMPMSGIN_INC_STATS_BH(field)  SNMP_INC_STATS_BH(icmpmsg_statistics, field)
 
index cc4f334..2b03c47 100644 (file)
@@ -208,7 +208,7 @@ static void dccp_v4_err(struct sk_buff *skb, u32 info)
        struct net *net = dev_net(skb->dev);
 
        if (skb->len < (iph->ihl << 2) + 8) {
-               ICMP_INC_STATS_BH(ICMP_MIB_INERRORS);
+               ICMP_INC_STATS_BH(net, ICMP_MIB_INERRORS);
                return;
        }
 
@@ -216,7 +216,7 @@ static void dccp_v4_err(struct sk_buff *skb, u32 info)
                        iph->daddr, dh->dccph_dport,
                        iph->saddr, dh->dccph_sport, inet_iif(skb));
        if (sk == NULL) {
-               ICMP_INC_STATS_BH(ICMP_MIB_INERRORS);
+               ICMP_INC_STATS_BH(net, ICMP_MIB_INERRORS);
                return;
        }
 
index e94de41..56a7bbc 100644 (file)
@@ -763,7 +763,7 @@ static void icmp_unreach(struct sk_buff *skb)
 out:
        return;
 out_err:
-       ICMP_INC_STATS_BH(ICMP_MIB_INERRORS);
+       ICMP_INC_STATS_BH(net, ICMP_MIB_INERRORS);
        goto out;
 }
 
@@ -803,7 +803,7 @@ static void icmp_redirect(struct sk_buff *skb)
 out:
        return;
 out_err:
-       ICMP_INC_STATS_BH(ICMP_MIB_INERRORS);
+       ICMP_INC_STATS_BH(dev_net(skb->dev), ICMP_MIB_INERRORS);
        goto out;
 }
 
@@ -874,7 +874,7 @@ static void icmp_timestamp(struct sk_buff *skb)
 out:
        return;
 out_err:
-       ICMP_INC_STATS_BH(ICMP_MIB_INERRORS);
+       ICMP_INC_STATS_BH(dev_net(skb->dst->dev), ICMP_MIB_INERRORS);
        goto out;
 }
 
@@ -994,7 +994,7 @@ int icmp_rcv(struct sk_buff *skb)
                skb_set_network_header(skb, nh);
        }
 
-       ICMP_INC_STATS_BH(ICMP_MIB_INMSGS);
+       ICMP_INC_STATS_BH(net, ICMP_MIB_INMSGS);
 
        switch (skb->ip_summed) {
        case CHECKSUM_COMPLETE:
@@ -1053,7 +1053,7 @@ drop:
        kfree_skb(skb);
        return 0;
 error:
-       ICMP_INC_STATS_BH(ICMP_MIB_INERRORS);
+       ICMP_INC_STATS_BH(net, ICMP_MIB_INERRORS);
        goto drop;
 }
 
index ca41b77..0fefd44 100644 (file)
@@ -346,14 +346,14 @@ void tcp_v4_err(struct sk_buff *skb, u32 info)
        struct net *net = dev_net(skb->dev);
 
        if (skb->len < (iph->ihl << 2) + 8) {
-               ICMP_INC_STATS_BH(ICMP_MIB_INERRORS);
+               ICMP_INC_STATS_BH(net, ICMP_MIB_INERRORS);
                return;
        }
 
        sk = inet_lookup(net, &tcp_hashinfo, iph->daddr, th->dest,
                        iph->saddr, th->source, inet_iif(skb));
        if (!sk) {
-               ICMP_INC_STATS_BH(ICMP_MIB_INERRORS);
+               ICMP_INC_STATS_BH(net, ICMP_MIB_INERRORS);
                return;
        }
        if (sk->sk_state == TCP_TIME_WAIT) {
index 9342cfd..fdd4faa 100644 (file)
@@ -359,7 +359,7 @@ void __udp4_lib_err(struct sk_buff *skb, u32 info, struct hlist_head udptable[])
        sk = __udp4_lib_lookup(net, iph->daddr, uh->dest,
                        iph->saddr, uh->source, skb->dev->ifindex, udptable);
        if (sk == NULL) {
-               ICMP_INC_STATS_BH(ICMP_MIB_INERRORS);
+               ICMP_INC_STATS_BH(net, ICMP_MIB_INERRORS);
                return; /* No socket for error */
        }
 
index d354a23..ed8834e 100644 (file)
@@ -61,6 +61,7 @@
 #include <net/sctp/sctp.h>
 #include <net/sctp/sm.h>
 #include <net/sctp/checksum.h>
+#include <net/net_namespace.h>
 
 /* Forward declarations for internal helpers. */
 static int sctp_rcv_ootb(struct sk_buff *);
@@ -534,7 +535,7 @@ void sctp_v4_err(struct sk_buff *skb, __u32 info)
        int err;
 
        if (skb->len < ihlen + 8) {
-               ICMP_INC_STATS_BH(ICMP_MIB_INERRORS);
+               ICMP_INC_STATS_BH(&init_net, ICMP_MIB_INERRORS);
                return;
        }
 
@@ -548,7 +549,7 @@ void sctp_v4_err(struct sk_buff *skb, __u32 info)
        skb->network_header = saveip;
        skb->transport_header = savesctp;
        if (!sk) {
-               ICMP_INC_STATS_BH(ICMP_MIB_INERRORS);
+               ICMP_INC_STATS_BH(&init_net, ICMP_MIB_INERRORS);
                return;
        }
        /* Warning:  The sock lock is held.  Remember to call