diff options
| author | Andre Oppermann <andre@FreeBSD.org> | 2004-01-09 12:23:58 +0000 |
|---|---|---|
| committer | Andre Oppermann <andre@FreeBSD.org> | 2004-01-09 12:23:58 +0000 |
| commit | 78779d572be8622c51d30907265a4fed610e9383 (patch) | |
| tree | 7072222fd17d4dc61479f9f79fc1a336a156decd /sys | |
| parent | 222a2708bb353f01ee21a0767e436c09816b9022 (diff) | |
Notes
Diffstat (limited to 'sys')
| -rw-r--r-- | sys/netinet/tcp_subr.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/netinet/tcp_subr.c b/sys/netinet/tcp_subr.c index 926d547703eb..e8923dbf21d3 100644 --- a/sys/netinet/tcp_subr.c +++ b/sys/netinet/tcp_subr.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; @@ -1736,6 +1738,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); } |
