Why TCP_MAX_SACK == 3 ?

Noritoshi Demizu demizu at dd.iij4u.or.jp
Mon Mar 7 07:16:41 PST 2005


In netinet/tcp.h, TCP_MAX_SACK is defined as follows.

#define	TCP_MAX_SACK	3	/* MAX # SACKs sent in any segment */

Shouldn't it be 4?  If a peer node does not use TCP timestamps option,
four SACK blocks can be sent.  For example, if my memory serves correctly,
Microsoft Windows does not use TCP timestamps option by default.


By the way, currently, both window scale option and timestamps option
are controled by one sysctl variable: net.inet.tcp.rfc1323.
Wouldn't it be nice if each option had its own sysctl variable?

Regards,
Noritoshi Demizu


More information about the freebsd-net mailing list