Gleb Smirnoff 0c39d38d21 Historically we have two fields in tcpcb to describe sender MSS: t_maxopd,
and t_maxseg. This dualism emerged with T/TCP, but was not properly cleaned
up after T/TCP removal. After all permutations over the years the result is
that t_maxopd stores a minimum of peer offered MSS and MTU reduced by minimum
protocol header. And t_maxseg stores (t_maxopd - TCPOLEN_TSTAMP_APPA) if
timestamps are in action, or is equal to t_maxopd otherwise. That's a very
rough estimate of MSS reduced by options length. Throughout the code it
was used in places, where preciseness was not important, like cwnd or
ssthresh calculations.

With this change:

- t_maxopd goes away.
- t_maxseg now stores MSS not adjusted by options.
- new function tcp_maxseg() is provided, that calculates MSS reduced by
  options length. The functions gives a better estimate, since it takes
  into account SACK state as well.

Reviewed by:	jtl
Differential Revision:	https://reviews.freebsd.org/D3593
2016-01-07 00:14:42 +00:00
..
2015-04-26 11:39:25 +00:00
2015-01-12 08:33:04 +00:00
2015-09-05 10:15:19 +00:00
2015-12-17 14:41:30 +00:00
2015-12-17 14:41:30 +00:00
2015-07-31 09:02:28 +00:00
2015-12-10 11:49:32 +00:00
2015-06-17 15:20:14 +00:00
2015-12-10 11:49:32 +00:00
2015-06-19 21:55:12 +00:00
2015-09-15 21:16:45 +00:00
2015-12-24 13:57:43 +00:00