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-12-09 08:53:41 +00:00
2015-04-26 11:39:25 +00:00
2015-12-16 15:16:44 +00:00
2009-06-01 21:17:03 +00:00
2014-11-12 09:57:15 +00:00
2014-11-12 09:57:15 +00:00
2015-01-12 08:33:04 +00:00
2015-03-02 17:30:26 +00:00
2016-01-01 10:15:06 +00:00
2015-12-31 05:03:27 +00:00
2015-02-19 22:35:23 +00:00
2015-12-01 11:24:30 +00:00
2016-01-04 17:23:10 +00:00
2015-12-08 10:50:03 +00:00
2015-12-08 10:50:03 +00:00
2015-12-16 23:39:27 +00:00
2015-12-16 23:39:27 +00:00
2015-12-09 11:14:27 +00:00
2015-11-25 14:45:43 +00:00
2015-09-05 10:15:19 +00:00
2015-01-18 18:06:40 +00:00
2014-11-06 14:39:04 +00:00
2015-12-22 14:53:19 +00:00
2015-08-29 06:58:30 +00:00
2015-08-29 06:58:30 +00:00
2014-12-21 05:07:11 +00:00
2015-12-17 14:41:30 +00:00
2016-01-04 15:03:20 +00:00
2015-04-17 11:57:06 +00:00
2015-12-17 14:41:30 +00:00
2014-11-04 15:39:56 +00:00
2015-07-31 09:02:28 +00:00
2015-06-18 18:28:38 +00:00
2015-11-05 07:26:32 +00:00
2015-11-03 10:21:53 +00:00
2015-04-01 22:26:39 +00:00
2015-12-09 11:14:27 +00:00
2014-12-21 05:07:11 +00:00
2015-04-02 14:22:59 +00:00
2015-12-09 11:14:27 +00:00
2015-10-29 21:26:32 +00:00
2014-12-11 18:35:34 +00:00
2015-05-22 17:05:21 +00:00
2015-12-09 11:14:27 +00:00
2015-12-31 05:03:27 +00:00
2015-04-15 00:57:21 +00:00
2015-12-09 11:14:27 +00:00
2015-07-18 06:48:30 +00:00
2015-07-29 08:12:05 +00:00
2015-07-27 22:35:54 +00:00
2015-10-19 11:17:54 +00:00
2015-01-10 20:49:57 +00:00
2015-12-16 23:39:27 +00:00
2015-09-11 13:54:33 +00:00
2015-09-12 17:08:51 +00:00
2015-12-21 18:52:02 +00:00
2015-08-02 16:07:30 +00:00
2015-12-10 11:49:32 +00:00
2015-06-17 15:20:14 +00:00
2015-12-27 17:33:59 +00:00
2015-12-25 18:11:40 +00:00
2015-07-24 14:09:03 +00:00
2015-12-06 16:17:57 +00:00
2015-12-10 11:49:32 +00:00
2015-03-10 19:49:25 +00:00
2016-01-04 20:34:40 +00:00
2015-06-19 21:55:12 +00:00
2015-08-29 09:14:32 +00:00
2015-09-15 21:16:45 +00:00
2015-12-03 15:19:29 +00:00
2015-11-06 14:00:26 +00:00
2015-12-06 16:17:57 +00:00
2015-06-14 17:48:44 +00:00
2015-09-12 17:08:51 +00:00
2015-12-06 16:17:57 +00:00
2015-12-06 16:17:57 +00:00
2015-04-30 17:43:40 +00:00
2015-12-24 19:09:48 +00:00
2015-12-24 19:09:48 +00:00
2015-12-11 06:22:58 +00:00
2015-12-11 06:22:58 +00:00
2016-01-07 00:14:42 +00:00
2015-06-30 17:19:58 +00:00
2014-11-04 15:39:56 +00:00
2016-01-07 00:14:42 +00:00
2015-10-15 01:44:32 +00:00
2015-10-14 00:35:37 +00:00
2015-09-27 05:29:34 +00:00
2015-12-16 00:56:45 +00:00
2016-01-07 00:14:42 +00:00
2015-12-24 19:09:48 +00:00
2015-12-24 19:09:48 +00:00
2016-01-07 00:14:42 +00:00
2015-08-30 13:44:39 +00:00
2015-08-03 12:13:54 +00:00
2016-01-07 00:14:42 +00:00
2016-01-07 00:14:42 +00:00
2015-12-24 19:09:48 +00:00
2015-12-31 05:03:27 +00:00
2014-10-25 18:25:00 +00:00
2015-12-24 13:57:43 +00:00
2015-08-27 15:27:41 +00:00