]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - net/ipv6/netfilter.c
[NETFILTER]: ip6_route_me_harder should take into account mark
[net-next-2.6.git] / net / ipv6 / netfilter.c
index f6294e5bcb3175e84bbdbe6c28fb05017fc10413..1c405dd30c67b5996483a513009e76e5706137fe 100644 (file)
@@ -15,6 +15,7 @@ int ip6_route_me_harder(struct sk_buff *skb)
        struct dst_entry *dst;
        struct flowi fl = {
                .oif = skb->sk ? skb->sk->sk_bound_dev_if : 0,
+               .mark = skb->mark,
                .nl_u =
                { .ip6_u =
                  { .daddr = iph->daddr,
@@ -91,7 +92,7 @@ __sum16 nf_ip6_checksum(struct sk_buff *skb, unsigned int hook,
                if (hook != NF_IP6_PRE_ROUTING && hook != NF_IP6_LOCAL_IN)
                        break;
                if (!csum_ipv6_magic(&ip6h->saddr, &ip6h->daddr,
-                                    skb->len - dataoff, protocol,
+                                    skb->len - dataoff, protocol,
                                     csum_sub(skb->csum,
                                              skb_checksum(skb, 0,
                                                           dataoff, 0)))) {
@@ -106,7 +107,7 @@ __sum16 nf_ip6_checksum(struct sk_buff *skb, unsigned int hook,
                                             protocol,
                                             csum_sub(0,
                                                      skb_checksum(skb, 0,
-                                                                  dataoff, 0))));
+                                                                  dataoff, 0))));
                csum = __skb_checksum_complete(skb);
        }
        return csum;