summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJun-ichiro itojun Hagino <itojun@cvs.openbsd.org>2000-12-21 00:54:12 +0000
committerJun-ichiro itojun Hagino <itojun@cvs.openbsd.org>2000-12-21 00:54:12 +0000
commitc6c21d948b96291429c8fb37d7cd607011eea395 (patch)
treefac787cda958f00325b6746c37e64524975704b4
parentb67d6f1b9e9094ee6f60d7627dd51b3245970fa8 (diff)
correct ipv6 path mtu discovery.
-rw-r--r--sys/netinet/tcp_subr.c4
-rw-r--r--sys/netinet6/in6_pcb.c12
2 files changed, 10 insertions, 6 deletions
diff --git a/sys/netinet/tcp_subr.c b/sys/netinet/tcp_subr.c
index 9ab06da405c..3309968706e 100644
--- a/sys/netinet/tcp_subr.c
+++ b/sys/netinet/tcp_subr.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: tcp_subr.c,v 1.37 2000/12/13 09:47:08 provos Exp $ */
+/* $OpenBSD: tcp_subr.c,v 1.38 2000/12/21 00:54:10 itojun Exp $ */
/* $NetBSD: tcp_subr.c,v 1.22 1996/02/13 23:44:00 christos Exp $ */
/*
@@ -976,7 +976,7 @@ tcp6_mtudisc_callback(faddr)
sin6.sin6_len = sizeof(struct sockaddr_in6);
sin6.sin6_addr = *faddr;
(void) in6_pcbnotify(&tcbtable, (struct sockaddr *)&sin6, 0,
- &zeroin6_addr, 0, EMSGSIZE, tcp_mtudisc);
+ &zeroin6_addr, 0, PRC_MSGSIZE, tcp_mtudisc);
}
#endif /* INET6 */
diff --git a/sys/netinet6/in6_pcb.c b/sys/netinet6/in6_pcb.c
index eeecdc6ea72..9fcdff824f8 100644
--- a/sys/netinet6/in6_pcb.c
+++ b/sys/netinet6/in6_pcb.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: in6_pcb.c,v 1.20 2000/10/11 09:14:14 itojun Exp $ */
+/* $OpenBSD: in6_pcb.c,v 1.21 2000/12/21 00:54:11 itojun Exp $ */
/*
* Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
@@ -587,11 +587,15 @@ in6_pcbnotify(head, dst, fport_arg, la, lport_arg, cmd, notify)
*
* XXX: we assume in_rtchange does not free the PCB.
*/
- if (IN6_ARE_ADDR_EQUAL(&inp->inp_route6.ro_dst.sin6_addr, faddr))
+ if (IN6_ARE_ADDR_EQUAL(&inp->inp_route6.ro_dst.sin6_addr,
+ faddr)) {
in_rtchange(inp, errno);
- if (notify == in_rtchange)
- continue; /* there's nothing to do any more */
+ if (notify == in_rtchange) {
+ /* there's nothing to do any more */
+ continue;
+ }
+ }
}
if (!IN6_ARE_ADDR_EQUAL(&inp->inp_faddr6, faddr) ||