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/

Reply via email to