Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/netinet6 do not mistakenly lock PMTUD route entry with R...
details: https://anonhg.NetBSD.org/src/rev/b47c86e50258
branches: trunk
changeset: 532067:b47c86e50258
user: itojun <itojun%NetBSD.org@localhost>
date: Fri May 31 04:26:19 2002 +0000
description:
do not mistakenly lock PMTUD route entry with RTV_MTU.
diffstat:
sys/netinet6/icmp6.c | 15 ++++++---------
1 files changed, 6 insertions(+), 9 deletions(-)
diffs (36 lines):
diff -r f31b0266aea8 -r b47c86e50258 sys/netinet6/icmp6.c
--- a/sys/netinet6/icmp6.c Fri May 31 03:18:54 2002 +0000
+++ b/sys/netinet6/icmp6.c Fri May 31 04:26:19 2002 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: icmp6.c,v 1.79 2002/05/29 19:50:48 christos Exp $ */
+/* $NetBSD: icmp6.c,v 1.80 2002/05/31 04:26:19 itojun Exp $ */
/* $KAME: icmp6.c,v 1.217 2001/06/20 15:03:29 jinmei Exp $ */
/*
@@ -66,7 +66,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: icmp6.c,v 1.79 2002/05/29 19:50:48 christos Exp $");
+__KERNEL_RCSID(0, "$NetBSD: icmp6.c,v 1.80 2002/05/31 04:26:19 itojun Exp $");
#include "opt_inet.h"
#include "opt_ipsec.h"
@@ -1208,13 +1208,10 @@
/* sin6.sin6_scope_id = XXX: should be set if DST is a scoped addr */
rt = icmp6_mtudisc_clone((struct sockaddr *)&sin6);
- if (rt && (rt->rt_flags & RTF_HOST)
- && !(rt->rt_rmx.rmx_locks & RTV_MTU)) {
- if (mtu < IPV6_MMTU) {
- /* xxx */
- rt->rt_rmx.rmx_locks |= RTV_MTU;
- } else if (mtu < rt->rt_ifp->if_mtu &&
- rt->rt_rmx.rmx_mtu > mtu) {
+ if (rt && (rt->rt_flags & RTF_HOST) &&
+ !(rt->rt_rmx.rmx_locks & RTV_MTU) &&
+ (rt->rt_rmx.rmx_mtu > mtu || rt->rt_rmx.rmx_mtu == 0)) {
+ if (mtu < IN6_LINKMTU(rt->rt_ifp)) {
icmp6stat.icp6s_pmtuchg++;
rt->rt_rmx.rmx_mtu = mtu;
}
Home |
Main Index |
Thread Index |
Old Index