diff options
author | Bhasker Hariharan <bhaskerh@google.com> | 2019-06-21 18:30:01 -0700 |
---|---|---|
committer | gVisor bot <gvisor-bot@google.com> | 2019-06-21 18:31:31 -0700 |
commit | c1761378a93f8d596d7956c9b7ba2a9d3d0619bc (patch) | |
tree | c69a6f7f4b06b6c9f570c6b4cbe3fc83d3d98803 /pkg/tcpip/checker/checker.go | |
parent | ab6774cebf5c618d0cae579e84bd39666857f78b (diff) |
Fix the logic for sending zero window updates.
Today we have the logic split in two places between endpoint Read() and the
worker goroutine which actually sends a zero window. This change makes it so
that when a zero window ACK is sent we set a flag in the endpoint which can be
read by the endpoint to decide if it should notify the worker to send a
nonZeroWindow update.
The worker now does not do the check again but instead sends an ACK and flips
the flag right away.
Similarly today when SO_RECVBUF is set the SetSockOpt call has logic
to decide if a zero window update is required. Rather than do that we move
the logic to the worker goroutine and it can check the zeroWindow flag
and send an update if required.
PiperOrigin-RevId: 254505447
Diffstat (limited to 'pkg/tcpip/checker/checker.go')
0 files changed, 0 insertions, 0 deletions