]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - net/ipv4/netfilter.c
Merge branch 'writable_limits' of git://decibel.fi.muni.cz/~xslaby/linux
[net-next-2.6.git] / net / ipv4 / netfilter.c
index 07de855e2175ea1f40760c84388388d4676f30b0..d88a46c54fd1bbb62a6f9ed13570c518940666b5 100644 (file)
@@ -43,7 +43,7 @@ int ip_route_me_harder(struct sk_buff *skb, unsigned addr_type)
 
                /* Drop old route. */
                skb_dst_drop(skb);
-               skb_dst_set(skb, &rt->u.dst);
+               skb_dst_set(skb, &rt->dst);
        } else {
                /* non-local src, find valid iif to satisfy
                 * rp-filter when calling ip_route_input. */
@@ -53,11 +53,11 @@ int ip_route_me_harder(struct sk_buff *skb, unsigned addr_type)
 
                orefdst = skb->_skb_refdst;
                if (ip_route_input(skb, iph->daddr, iph->saddr,
-                                  RT_TOS(iph->tos), rt->u.dst.dev) != 0) {
-                       dst_release(&rt->u.dst);
+                                  RT_TOS(iph->tos), rt->dst.dev) != 0) {
+                       dst_release(&rt->dst);
                        return -1;
                }
-               dst_release(&rt->u.dst);
+               dst_release(&rt->dst);
                refdst_drop(orefdst);
        }
 
@@ -212,9 +212,7 @@ static __sum16 nf_ip_checksum_partial(struct sk_buff *skb, unsigned int hook,
                skb->csum = csum_tcpudp_nofold(iph->saddr, iph->daddr, protocol,
                                               skb->len - dataoff, 0);
                skb->ip_summed = CHECKSUM_NONE;
-               csum = __skb_checksum_complete_head(skb, dataoff + len);
-               if (!csum)
-                       skb->ip_summed = CHECKSUM_UNNECESSARY;
+               return __skb_checksum_complete_head(skb, dataoff + len);
        }
        return csum;
 }