TCP UTO - Weekly Report 1
Catalin Nicutar
catalin.nicutar at gmail.com
Mon May 30 12:32:11 UTC 2011
Hello!
I am Catalin Nicutar and I am working as a GSoC student towards implementing
TCP UTO for FreeBSD.
* Short TCP UTO description
UTO stands for User Timeout Option. This option is described in RFC5482.
The concept of "User Timeout" is well specified in RFC793 as a general
timeout used for various purposes (In particular TCP will tear down the
connection if this timeout expires in any state). TCP UTO specifies that
a peer should be allowed to advertise this value to provide a hint to the
other side.
RFC 793 specifies that a user should be allowed to specify a timeout for
"Open" and "Send" (the last timeout specified overrides previous values).
FreeBSD (and other Unix implementations) generally support an option called
SO_SNDTIMEO. However, there is no provision for advertising this value.
The ability to change the local value is useless if not advertised to the
other peer since he will still close the connection after *his* timeout
expires (in other words he has no idea of the User Timeout chosen by the
other side).
* Benefits
TCP UTO augments the flexibility of a connection. It allows to specify
relaxed timeouts (large periods of silence during which the peers might
actually not be connected) or short timeouts to inform peers that the
connection will pe torn down quickly in case they don't ACK data quickly
enough.
My goals for this week are:
* Add sysctls to control the imposed upper and lower limits for the
User Timeout of a connection
* Add a sysctl to globally enable the advertising of the timeout (as
required by the RFC)
* Add socket options (setsockopt) for enabling the option,
controling whether the local timeout will be changeable, etc.
The Perforce space I will be working in is
http://p4web.freebsd.org/@md=d&cd=//depot/projects/soc2011/&dw=u&c=MER@//depot/projects/soc2011/cnicutar_tcputo_8/?ac=83
This is all for report 1. If you have questions, suggestions or advices
drop me an email to cnicutar at FreeBSD.org
Catalin Nicutar
More information about the soc-status
mailing list