summaryrefslogtreecommitdiffhomepage
path: root/pkg/gate/gate.go
diff options
context:
space:
mode:
authorMarek Majkowski <marek@cloudflare.com>2020-01-02 12:09:24 +0100
committerMarek Majkowski <marek@cloudflare.com>2020-01-07 20:35:39 +0000
commit08a97a6d193f46cd547fadae3bb4125cc788543b (patch)
treeb828fca0e14c1ab2954c5bfe99a8233979c50340 /pkg/gate/gate.go
parent1f384ac42b9ee8b52000dc2bff79d975853519ed (diff)
#1398 - send ACK when available buffer space gets larger than 1 MSS
When receiving data, netstack avoids sending spurious acks. When user does recv() should netstack send ack telling the sender that the window was increased? It depends. Before this patch, netstack _will_ send the ack in the case when window was zero or window >> scale was zero. Basically - when recv space increased from zero. This is not working right with silly-window-avoidance on the sender side. Some network stacks refuse to transmit segments, that will fill the window but are below MSS. Before this patch, this confuses netstack. On one hand if the window was like 3 bytes, netstack will _not_ send ack if the window increases. On the other hand sending party will refuse to transmit 3-byte packet. This patch changes that, making netstack will send an ACK when the available buffer size increases to or above 1*MSS. This will inform other party buffer is large enough, and hopefully uncork it. Signed-off-by: Marek Majkowski <marek@cloudflare.com>
Diffstat (limited to 'pkg/gate/gate.go')
0 files changed, 0 insertions, 0 deletions