Hi, For local src packets, it is better to update sk_route_caps in ip_route_me_harder.
Signed-off-by: Lepton Wu <[EMAIL PROTECTED]> diff -pru -X linux-2.6.22.6/Documentation/dontdiff linux-2.6.22.6/net/ipv4/netfilter.c linux-2.6.22.6-lepton/net/ipv4/netfilter.c --- linux-2.6.22.6/net/ipv4/netfilter.c 2007-09-19 13:19:13.000000000 +0800 +++ linux-2.6.22.6-lepton/net/ipv4/netfilter.c 2007-09-19 17:10:36.000000000 +0800 @@ -37,6 +37,10 @@ int ip_route_me_harder(struct sk_buff ** /* Drop old route. */ dst_release((*pskb)->dst); (*pskb)->dst = &rt->u.dst; + if((*pskb)->sk){ + dst_hold((*pskb)->dst); + sk_setup_caps((*pskb)->sk, (*pskb)->dst); + } } else { /* non-local src, find valid iif to satisfy * rp-filter when calling ip_route_input. */ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/