freebsd-dev/sys/dev/cxgbe/tom
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
..
t4_connect.c Add support for configuring additional virtual interfaces (VIs) on a port. 2015-12-03 00:02:01 +00:00
t4_cpl_io.c Historically we have two fields in tcpcb to describe sender MSS: t_maxopd, 2016-01-07 00:14:42 +00:00
t4_ddp.c cxgbe(4): Updates to the base NIC driver and t4_tom to support the iSCSI 2015-12-26 00:26:02 +00:00
t4_listen.c Add support for configuring additional virtual interfaces (VIs) on a port. 2015-12-03 00:02:01 +00:00
t4_tom_l2t.c Implement interface link header precomputation API. 2015-12-31 05:03:27 +00:00
t4_tom_l2t.h
t4_tom.c cxgbe(4): Updates to the base NIC driver and t4_tom to support the iSCSI 2015-12-26 00:26:02 +00:00
t4_tom.h cxgbe(4): Updates to the base NIC driver and t4_tom to support the iSCSI 2015-12-26 00:26:02 +00:00