[SK_BUFF]: Introduce arp_hdr(), remove skb->nh.arph
[safe/jmp/linux-2.6] / net / ipv4 / netfilter / arpt_mangle.c
index a58325c..b4450f1 100644 (file)
@@ -11,7 +11,7 @@ static unsigned int
 target(struct sk_buff **pskb,
        const struct net_device *in, const struct net_device *out,
        unsigned int hooknum, const struct xt_target *target,
-       const void *targinfo, void *userinfo)
+       const void *targinfo)
 {
        const struct arpt_mangle *mangle = targinfo;
        struct arphdr *arp;
@@ -30,8 +30,8 @@ target(struct sk_buff **pskb,
                *pskb = nskb;
        }
 
-       arp = (*pskb)->nh.arph;
-       arpptr = (*pskb)->nh.raw + sizeof(*arp);
+       arp = arp_hdr(*pskb);
+       arpptr = skb_network_header(*pskb) + sizeof(*arp);
        pln = arp->ar_pln;
        hln = arp->ar_hln;
        /* We assume that pln and hln were checked in the match */
@@ -67,7 +67,7 @@ target(struct sk_buff **pskb,
 
 static int
 checkentry(const char *tablename, const void *e, const struct xt_target *target,
-           void *targinfo, unsigned int targinfosize, unsigned int hook_mask)
+          void *targinfo, unsigned int hook_mask)
 {
        const struct arpt_mangle *mangle = targinfo;