summaryrefslogtreecommitdiffhomepage
path: root/pkg/tcpip/header/interfaces.go
diff options
context:
space:
mode:
authorAyush Ranjan <ayushranjan@google.com>2021-02-11 17:17:00 -0800
committergVisor bot <gvisor-bot@google.com>2021-02-11 17:19:47 -0800
commit91cf7b3ca48b9388c9058962ffe798c37e951990 (patch)
treec96f1153e83a6849ede78c8477f95241f1d26da2 /pkg/tcpip/header/interfaces.go
parent4314bb0b2b96cc3a84e8dead29812ccb1bfcebe2 (diff)
[netstack] Fix recovery entry and exit checks.
Entry check: - Earlier implementation was preventing us from entering recovery even if SND.UNA is lost but dupAckCount is still below threshold. Fixed that. - We should only enter recovery when at least one more byte of data beyond the highest byte that was outstanding when fast retransmit was last entered is acked. Added that check. Exit check: - Earlier we were checking if SEG.ACK is in range [SND.UNA, SND.NXT]. The intention was to check if any unacknowledged data was ACKed. Note that (SEG.ACK - 1) is actually the sequence number which was ACKed. So we were incorrectly including (SND.UNA - 1) in the range. Fixed the check to now be (SEG.ACK - 1) in range [SND.UNA, SND.NXT). Additionally, moved a RACK specific test to the rack tests file. Added tests for the changes I made. PiperOrigin-RevId: 357091322
Diffstat (limited to 'pkg/tcpip/header/interfaces.go')
0 files changed, 0 insertions, 0 deletions