summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Bluhm <bluhm@cvs.openbsd.org>2012-01-10 12:50:33 +0000
committerAlexander Bluhm <bluhm@cvs.openbsd.org>2012-01-10 12:50:33 +0000
commit1f4458b8c2784925767a56411306ee4b60970133 (patch)
treedcdd98ca92cd68976c47243d9fde49a3c76ee549
parenta726606c405f5824304aeaff8843b6d252a3cc3f (diff)
Flush the cached IPv6 forward route every 500 ms. This prevents
wrong checks for local addresses and wrong packet forwarding in environments with only one communication partner and changing addresses or routes. Remove the #if 0 around the existing code to make IPv6 behave like IPv4. ok henning@
-rw-r--r--sys/netinet6/frag6.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/sys/netinet6/frag6.c b/sys/netinet6/frag6.c
index 50065850700..0293f673a0c 100644
--- a/sys/netinet6/frag6.c
+++ b/sys/netinet6/frag6.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: frag6.c,v 1.38 2012/01/09 14:47:53 bluhm Exp $ */
+/* $OpenBSD: frag6.c,v 1.39 2012/01/10 12:50:32 bluhm Exp $ */
/* $KAME: frag6.c,v 1.40 2002/05/27 21:40:31 itojun Exp $ */
/*
@@ -620,6 +620,7 @@ frag6_slowtimo(void)
{
struct ip6q *q6, *nq6;
int s = splsoftnet();
+ extern struct route_in6 ip6_forward_rt;
IP6Q_LOCK();
TAILQ_FOREACH_SAFE(q6, &frag6_queue, ip6q_queue, nq6)
@@ -642,7 +643,6 @@ frag6_slowtimo(void)
}
IP6Q_UNLOCK();
-#if 0
/*
* Routing changes might produce a better route than we last used;
* make sure we notice eventually, even if forwarding only for one
@@ -652,7 +652,6 @@ frag6_slowtimo(void)
RTFREE(ip6_forward_rt.ro_rt);
ip6_forward_rt.ro_rt = 0;
}
-#endif
splx(s);
}