tcp/sack: Take FIN bit into consideration when setup report SACK block end
authorSepherosa Ziehau <sephe@dragonflybsd.org>
Wed, 28 Mar 2012 08:17:32 +0000 (16:17 +0800)
committerSepherosa Ziehau <sephe@dragonflybsd.org>
Wed, 11 Apr 2012 01:43:09 +0000 (09:43 +0800)
commit3a5d999bd2fedb7e7e52153a00e267a20bd9e57a
tree1e7bfaafe11052adb684220cbb08e7c8dc974fe7
parentd8cda59e8c86784d37df653fa3d1fdb2d6270d98
tcp/sack: Take FIN bit into consideration when setup report SACK block end

The invalid SACK option observed on the heavily segment reordering network
path (50% segments out of order) contains only one SACK block which tries
to cover the FIN segment but sets the right edge incorrectly, i.e. the right
edge is same as the left edge; mainly because the FIN bit is not counted.
sys/netinet/tcp_input.c
sys/netinet/tcp_sack.c
sys/netinet/tcp_var.h