Module Name: src
Committed By: ozaki-r
Date: Mon Sep 7 01:56:50 UTC 2015
Modified Files:
src/sys/netinet: tcp_subr.c
Log Message:
Refactor tcp_mtudisc
No functional change.
To generate a diff of this commit:
cvs rdiff -u -r1.263 -r1.264 src/sys/netinet/tcp_subr.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/netinet/tcp_subr.c
diff -u src/sys/netinet/tcp_subr.c:1.263 src/sys/netinet/tcp_subr.c:1.264
--- src/sys/netinet/tcp_subr.c:1.263 Mon Aug 24 22:21:26 2015
+++ src/sys/netinet/tcp_subr.c Mon Sep 7 01:56:50 2015
@@ -1,4 +1,4 @@
-/* $NetBSD: tcp_subr.c,v 1.263 2015/08/24 22:21:26 pooka Exp $ */
+/* $NetBSD: tcp_subr.c,v 1.264 2015/09/07 01:56:50 ozaki-r Exp $ */
/*
* Copyright (C) 1995, 1996, 1997, and 1998 WIDE Project.
@@ -91,7 +91,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: tcp_subr.c,v 1.263 2015/08/24 22:21:26 pooka Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tcp_subr.c,v 1.264 2015/09/07 01:56:50 ozaki-r Exp $");
#ifdef _KERNEL_OPT
#include "opt_inet.h"
@@ -1768,41 +1768,43 @@ void
tcp_mtudisc(struct inpcb *inp, int errno)
{
struct tcpcb *tp = intotcpcb(inp);
- struct rtentry *rt = in_pcbrtentry(inp);
+ struct rtentry *rt;
- if (tp != 0) {
- if (rt != 0) {
- /*
- * If this was not a host route, remove and realloc.
- */
- if ((rt->rt_flags & RTF_HOST) == 0) {
- in_rtchange(inp, errno);
- if ((rt = in_pcbrtentry(inp)) == 0)
- return;
- }
+ if (tp == NULL)
+ return;
- /*
- * Slow start out of the error condition. We
- * use the MTU because we know it's smaller
- * than the previously transmitted segment.
- *
- * Note: This is more conservative than the
- * suggestion in draft-floyd-incr-init-win-03.
- */
- if (rt->rt_rmx.rmx_mtu != 0)
- tp->snd_cwnd =
- TCP_INITIAL_WINDOW(tcp_init_win,
- rt->rt_rmx.rmx_mtu);
+ rt = in_pcbrtentry(inp);
+ if (rt != NULL) {
+ /*
+ * If this was not a host route, remove and realloc.
+ */
+ if ((rt->rt_flags & RTF_HOST) == 0) {
+ in_rtchange(inp, errno);
+ if ((rt = in_pcbrtentry(inp)) == NULL)
+ return;
}
/*
- * Resend unacknowledged packets.
+ * Slow start out of the error condition. We
+ * use the MTU because we know it's smaller
+ * than the previously transmitted segment.
+ *
+ * Note: This is more conservative than the
+ * suggestion in draft-floyd-incr-init-win-03.
*/
- tp->snd_nxt = tp->sack_newdata = tp->snd_una;
- tcp_output(tp);
+ if (rt->rt_rmx.rmx_mtu != 0)
+ tp->snd_cwnd =
+ TCP_INITIAL_WINDOW(tcp_init_win,
+ rt->rt_rmx.rmx_mtu);
}
+
+ /*
+ * Resend unacknowledged packets.
+ */
+ tp->snd_nxt = tp->sack_newdata = tp->snd_una;
+ tcp_output(tp);
}
-#endif
+#endif /* INET */
#ifdef INET6
/*