Please resend against the current kernel tree if you want me to apply this. Also it appears the patch is whitespace damaged, please make sure you'll send it in a way that doesn't corrupt it (f.i. as attachment).
Here is the patch against the 2.6.26-stable
--- linux-2.6.26/net/ipv4/netfilter.c.ori 2008-07-15 22:39:02.000000000 +0200 +++ linux-2.6.26/net/ipv4/netfilter.c 2008-07-16 18:10:14.000000000 +0200 @@ -121,6 +121,7 @@ __be32 daddr; __be32 saddr; u_int8_t tos; + __u32 mark; }; static void nf_ip_saveroute(const struct sk_buff *skb, @@ -134,6 +135,7 @@ rt_info->tos = iph->tos; rt_info->daddr = iph->daddr; rt_info->saddr = iph->saddr; + rt_info->mark = skb->mark; } } @@ -146,6 +148,7 @@ const struct iphdr *iph = ip_hdr(skb); if (!(iph->tos == rt_info->tos + && skb->mark == rt_info->mark && iph->daddr == rt_info->daddr && iph->saddr == rt_info->saddr)) return ip_route_me_harder(skb, RTN_UNSPEC);