From ea47112ba9e60076e86c5d99043a46ff6a671114 Mon Sep 17 00:00:00 2001 From: Eric Leblond Date: Tue, 25 Nov 2008 12:15:16 +0100 Subject: [PATCH] --- yaml --- r: 122384 b: refs/heads/master c: 5f145e44ae09f629d25536b2947a91e9c01bddcb h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/net/ipv4/netfilter.c | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 855fa2ce5ce5..58e77537d27a 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4813eadf6b17caa7fcce67ac2f929a3dd5178fa2 +refs/heads/master: 5f145e44ae09f629d25536b2947a91e9c01bddcb diff --git a/trunk/net/ipv4/netfilter.c b/trunk/net/ipv4/netfilter.c index 6efdb70b3eb2..7c145d76384d 100644 --- a/trunk/net/ipv4/netfilter.c +++ b/trunk/net/ipv4/netfilter.c @@ -125,6 +125,7 @@ struct ip_rt_info { __be32 daddr; __be32 saddr; u_int8_t tos; + u_int32_t mark; }; static void nf_ip_saveroute(const struct sk_buff *skb, @@ -138,6 +139,7 @@ static void nf_ip_saveroute(const struct sk_buff *skb, rt_info->tos = iph->tos; rt_info->daddr = iph->daddr; rt_info->saddr = iph->saddr; + rt_info->mark = skb->mark; } } @@ -150,6 +152,7 @@ static int nf_ip_reroute(struct sk_buff *skb, 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);