]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
tcp/lro: If timestamps mismatch or it's a FIN, force flush.
authorsephe <sephe@FreeBSD.org>
Fri, 5 Aug 2016 09:08:00 +0000 (09:08 +0000)
committersephe <sephe@FreeBSD.org>
Fri, 5 Aug 2016 09:08:00 +0000 (09:08 +0000)
commit7679792d26c12fad52cc5b7b14efe6274e734715
tree87aafa91bf4d6841bdefffa5ecac77d70b806e10
parent369d07a5cd9590f534b0465e5066f180506e4eee
tcp/lro: If timestamps mismatch or it's a FIN, force flush.

This keeps the segments/ACK/FIN delivery order.

Before this patch, it was observed: if A sent FIN immediately after
an ACK, B would deliver FIN first to the TCP stack, then the ACK.
This out-of-order delivery causes one unnecessary ACK sent from B.

Reviewed by: gallatin, hps
Obtained from:  rrs, gallatin
Sponsored by: Netflix (rrs, gallatin), Microsoft (sephe)
Differential Revision: https://reviews.freebsd.org/D7415
sys/netinet/tcp_lro.c