netfilter: ip6tables: use skb->len for accounting
Changli Gao [Fri, 23 Jul 2010 14:24:34 +0000 (16:24 +0200)]
ipv6_hdr(skb)->payload_len is ZERO and can't be used for accounting, if
the payload is a Jumbo Payload specified in RFC2675.

Signed-off-by: Changli Gao <xiaosuo@gmail.com>
Signed-off-by: Patrick McHardy <kaber@trash.net>

net/ipv6/netfilter/ip6_tables.c

index dc41d6d..33113c1 100644 (file)
@@ -387,9 +387,7 @@ ip6t_do_table(struct sk_buff *skb,
                                goto no_match;
                }
 
-               ADD_COUNTER(e->counters,
-                           ntohs(ipv6_hdr(skb)->payload_len) +
-                           sizeof(struct ipv6hdr), 1);
+               ADD_COUNTER(e->counters, skb->len, 1);
 
                t = ip6t_get_target_c(e);
                IP_NF_ASSERT(t->u.kernel.target);