Session MTU update patch only 9
Jason Wolfe
nitroboost at gmail.com
Fri Nov 2 19:04:12 UTC 2012
Hi,
While attempting to fix a PMTUD bug in 8.3-RELEASE-p4 that appears to now
be resolved by r234342, I also came across r238516. It appears this fix
only made it into 9/STABLE though, does anyone know why it wasn't brought
back to 8? It's a fairly easy port, but I just wanted to confirm there
wasn't something else at play I'm missing.
"If ip_output() returns EMSGSIZE to tcp_output(), then the latter calls
tcp_mtudisc(), which in its turn may call tcp_output(). Under certain
conditions (must admit they are very special) an infinite recursion can
happen.
To avoid recursion we can pass struct route to ip_output() and obtain
correct mtu. This allows us not to use tcp_mtudisc() but call
tcp_mss_update()
directly."
Jason
More information about the freebsd-net
mailing list