FreeBSD Bugzilla – Attachment 106075 Details for
Bug 146628
[tcp] [patch] TCP does not clear DF when MTU is below a threshold
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
patch-3.diff
patch-3.diff (text/plain), 1.76 KB, created by
oppermann
on 2010-08-15 09:11:53 UTC
(
hide
)
Description:
patch-3.diff
Filename:
MIME Type:
Creator:
oppermann
Created:
2010-08-15 09:11:53 UTC
Size:
1.76 KB
patch
obsolete
>Index: tcp_subr.c >=================================================================== >--- tcp_subr.c (revision 211211) >+++ tcp_subr.c (working copy) >@@ -1339,11 +1325,9 @@ > if (!mtu) > mtu = ip_next_mtu(ip->ip_len, > 1); >- if (mtu < max(296, V_tcp_minmss >- + sizeof(struct tcpiphdr))) >- mtu = 0; >- if (!mtu) >- mtu = V_tcp_mssdflt >+ if (mtu < V_tcp_minmss >+ + sizeof(struct tcpiphdr)) >+ mtu = V_tcp_minmss > + sizeof(struct tcpiphdr); > /* > * Only cache the the MTU if it >Index: tcp_output.c >=================================================================== >--- tcp_output.c (revision 211211) >+++ tcp_output.c (working copy) >@@ -1183,8 +1221,10 @@ > * This might not be the best thing to do according to RFC3390 > * Section 2. However the tcp hostcache migitates the problem > * so it affects only the first tcp connection with a host. >+ * >+ * NB: Don't set DF on small MTU/MSS to have a safe fallback. > */ >- if (V_path_mtu_discovery) >+ if (V_path_mtu_discovery && tp->t_maxopd > V_tcp_minmss) > ip->ip_off |= IP_DF; > error = ip_output(m, tp->t_inpcb->inp_options, NULL,
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 146628
:
106074
| 106075