gvisor/pkg/sentry
Bhasker Hariharan 3d71c627fa Add support for TCP receive buffer auto tuning.
The implementation is similar to linux where we track the number of bytes
consumed by the application to grow the receive buffer of a given TCP endpoint.

This ensures that the advertised window grows at a reasonable rate to accomodate
for the sender's rate and prevents large amounts of data being held in stack
buffers if the application is not actively reading or not reading fast enough.

The original paper that was used to implement the linux receive buffer auto-
tuning is available @ https://public.lanl.gov/radiant/pubs/drs/lacsi2001.pdf

NOTE: Linux does not implement DRS as defined in that paper, it's just a good
reference to understand the solution space.

Updates #230

PiperOrigin-RevId: 253168283
2019-06-13 22:28:01 -07:00
..
arch Update canonical repository. 2019-06-13 16:50:15 -07:00
context Update canonical repository. 2019-06-13 16:50:15 -07:00
control Update canonical repository. 2019-06-13 16:50:15 -07:00
device Update canonical repository. 2019-06-13 16:50:15 -07:00
fs Plumb context through more layers of filesytem. 2019-06-13 18:40:38 -07:00
hostcpu Update canonical repository. 2019-06-13 16:50:15 -07:00
hostmm Update canonical repository. 2019-06-13 16:50:15 -07:00
inet Update canonical repository. 2019-06-13 16:50:15 -07:00
kernel Plumb context through more layers of filesytem. 2019-06-13 18:40:38 -07:00
limits Update canonical repository. 2019-06-13 16:50:15 -07:00
loader Plumb context through more layers of filesytem. 2019-06-13 18:40:38 -07:00
memmap Update canonical repository. 2019-06-13 16:50:15 -07:00
mm Update canonical repository. 2019-06-13 16:50:15 -07:00
pgalloc Update canonical repository. 2019-06-13 16:50:15 -07:00
platform Update canonical repository. 2019-06-13 16:50:15 -07:00
safemem Update canonical repository. 2019-06-13 16:50:15 -07:00
sighandling Update canonical repository. 2019-06-13 16:50:15 -07:00
socket Add support for TCP receive buffer auto tuning. 2019-06-13 22:28:01 -07:00
state Update canonical repository. 2019-06-13 16:50:15 -07:00
strace Update canonical repository. 2019-06-13 16:50:15 -07:00
syscalls Plumb context through more layers of filesytem. 2019-06-13 18:40:38 -07:00
time Update canonical repository. 2019-06-13 16:50:15 -07:00
unimpl Update canonical repository. 2019-06-13 16:50:15 -07:00
uniqueid Update canonical repository. 2019-06-13 16:50:15 -07:00
usage Update canonical repository. 2019-06-13 16:50:15 -07:00
usermem Update canonical repository. 2019-06-13 16:50:15 -07:00
watchdog Update canonical repository. 2019-06-13 16:50:15 -07:00
BUILD Remove license comments 2019-01-31 11:12:53 -08:00