summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid S. Miller <davem@nuts.ninka.net>2003-05-20 04:50:57 -0700
committerDavid S. Miller <davem@nuts.ninka.net>2003-05-20 04:50:57 -0700
commita67283b7658e581b4959ebd73eabd4d14c66c65f (patch)
treee101c451751feeeb0fbd9e06c00711ae653ab9e6
parentace40f5723c1aee9cb19456a0ceb49b2885d0940 (diff)
[IPV4]: Fix route copying during redirects.
-rw-r--r--net/ipv4/route.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/net/ipv4/route.c b/net/ipv4/route.c
index d9e78a4e0650..2be9bc1bdde2 100644
--- a/net/ipv4/route.c
+++ b/net/ipv4/route.c
@@ -958,12 +958,15 @@ void ip_rt_redirect(u32 old_gw, u32 daddr, u32 new_gw,
INIT_RCU_HEAD(&rt->u.dst.rcu_head);
rt->u.dst.__use = 1;
atomic_set(&rt->u.dst.__refcnt, 1);
+ rt->u.dst.child = NULL;
if (rt->u.dst.dev)
dev_hold(rt->u.dst.dev);
+ rt->u.dst.obsolete = 0;
rt->u.dst.lastuse = jiffies;
+ rt->u.dst.path = &rt->u.dst;
rt->u.dst.neighbour = NULL;
rt->u.dst.hh = NULL;
- rt->u.dst.obsolete = 0;
+ rt->u.dst.xfrm = NULL;
rt->rt_flags |= RTCF_REDIRECTED;