summaryrefslogtreecommitdiff
path: root/sys/netinet/tcp_timewait.c
diff options
context:
space:
mode:
authorAndre Oppermann <andre@FreeBSD.org>2004-01-08 11:17:11 +0000
committerAndre Oppermann <andre@FreeBSD.org>2004-01-08 11:17:11 +0000
commitbf87c82ebb8b786dbc33eca932efefc47ffd55dd (patch)
treef34b6055d8c4aec2a13b86b6e14165a697b65cea /sys/netinet/tcp_timewait.c
parente0f630ea7af0e72ce4907c5eebff7c745a9b8950 (diff)
Notes
Diffstat (limited to 'sys/netinet/tcp_timewait.c')
-rw-r--r--sys/netinet/tcp_timewait.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/netinet/tcp_timewait.c b/sys/netinet/tcp_timewait.c
index df941d534606..60709fe51647 100644
--- a/sys/netinet/tcp_timewait.c
+++ b/sys/netinet/tcp_timewait.c
@@ -459,6 +459,8 @@ tcp_respond(tp, ipgen, th, m, ack, seq, flags)
tlen += sizeof (struct tcpiphdr);
ip->ip_len = tlen;
ip->ip_ttl = ip_defttl;
+ if (path_mtu_discovery)
+ ip->ip_off |= IP_DF;
}
m->m_len = tlen;
m->m_pkthdr.len = tlen;
@@ -1733,6 +1735,8 @@ tcp_twrespond(struct tcptw *tw, struct socket *so, struct mbuf *msrc,
m->m_pkthdr.csum_flags = CSUM_TCP;
m->m_pkthdr.csum_data = offsetof(struct tcphdr, th_sum);
ip->ip_len = m->m_pkthdr.len;
+ if (path_mtu_discovery)
+ ip->ip_off |= IP_DF;
error = ip_output(m, inp->inp_options, NULL,
(tw->tw_so_options & SO_DONTROUTE), NULL, inp);
}