net: skb->dst accessors
[safe/jmp/linux-2.6] / net / ipv4 / netfilter / ipt_REJECT.c
index 0b4b6e0..c93ae44 100644 (file)
@@ -108,17 +108,16 @@ static void send_reset(struct sk_buff *oldskb, int hook)
                addr_type = RTN_LOCAL;
 
        /* ip_route_me_harder expects skb->dst to be set */
-       dst_hold(oldskb->dst);
-       nskb->dst = oldskb->dst;
+       skb_dst_set(nskb, dst_clone(skb_dst(oldskb)));
 
        if (ip_route_me_harder(nskb, addr_type))
                goto free_nskb;
 
-       niph->ttl       = dst_metric(nskb->dst, RTAX_HOPLIMIT);
+       niph->ttl       = dst_metric(skb_dst(nskb), RTAX_HOPLIMIT);
        nskb->ip_summed = CHECKSUM_NONE;
 
        /* "Never happens" */
-       if (nskb->len > dst_mtu(nskb->dst))
+       if (nskb->len > dst_mtu(skb_dst(nskb)))
                goto free_nskb;
 
        nf_ct_attach(nskb, oldskb);