<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/sys/netinet/tcp_hostcache.c, branch release/6.2.0</title>
<subtitle>FreeBSD source tree</subtitle>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/'/>
<entry>
<title>/* -&gt; /*- for license, minor formatting changes</title>
<updated>2005-01-07T01:45:51+00:00</updated>
<author>
<name>Warner Losh</name>
<email>imp@FreeBSD.org</email>
</author>
<published>2005-01-07T01:45:51+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=c398230b64aea809cb7c5cea8db580af7097920c'/>
<id>c398230b64aea809cb7c5cea8db580af7097920c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Minor grammer fix in comment.</title>
<updated>2004-12-05T22:20:59+00:00</updated>
<author>
<name>Robert Watson</name>
<email>rwatson@FreeBSD.org</email>
</author>
<published>2004-12-05T22:20:59+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=6fbed4af22f3a0c3ac1abf57c0ca345015b7f619'/>
<id>6fbed4af22f3a0c3ac1abf57c0ca345015b7f619</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove RFC1644 T/TCP support from the TCP side of the network stack.</title>
<updated>2004-11-02T22:22:22+00:00</updated>
<author>
<name>Andre Oppermann</name>
<email>andre@FreeBSD.org</email>
</author>
<published>2004-11-02T22:22:22+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=c94c54e4df9ae401d299ca3b08f00acade2fccc8'/>
<id>c94c54e4df9ae401d299ca3b08f00acade2fccc8</id>
<content type='text'>
A complete rationale and discussion is given in this message
and the resulting discussion:

 http://docs.freebsd.org/cgi/mid.cgi?4177C8AD.6060706

Note that this commit removes only the functional part of T/TCP
from the tcp_* related functions in the kernel.  Other features
introduced with RFC1644 are left intact (socket layer changes,
sendmsg(2) on connection oriented protocols)  and are meant to
be reused by a simpler and less intrusive reimplemention of the
previous T/TCP functionality.

Discussed on:	-arch
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
A complete rationale and discussion is given in this message
and the resulting discussion:

 http://docs.freebsd.org/cgi/mid.cgi?4177C8AD.6060706

Note that this commit removes only the functional part of T/TCP
from the tcp_* related functions in the kernel.  Other features
introduced with RFC1644 are left intact (socket layer changes,
sendmsg(2) on connection oriented protocols)  and are meant to
be reused by a simpler and less intrusive reimplemention of the
previous T/TCP functionality.

Discussed on:	-arch
</pre>
</div>
</content>
</entry>
<entry>
<title>White space cleanup for netinet before branch:</title>
<updated>2004-08-16T18:32:07+00:00</updated>
<author>
<name>Robert Watson</name>
<email>rwatson@FreeBSD.org</email>
</author>
<published>2004-08-16T18:32:07+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=a4f757cd5dc1421d90d72a34853247e0c2c18cce'/>
<id>a4f757cd5dc1421d90d72a34853247e0c2c18cce</id>
<content type='text'>
- Trailing tab/space cleanup
- Remove spurious spaces between or before tabs

This change avoids touching files that Andre likely has in his working
set for PFIL hooks changes for IPFW/DUMMYNET.

Approved by:	re (scottl)
Submitted by:	Xin LI &lt;delphij@frontfree.net&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Trailing tab/space cleanup
- Remove spurious spaces between or before tabs

This change avoids touching files that Andre likely has in his working
set for PFIL hooks changes for IPFW/DUMMYNET.

Approved by:	re (scottl)
Submitted by:	Xin LI &lt;delphij@frontfree.net&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove the UMA_ZONE_NOFREE flag to all uma_zcreate() calls in the IP and</title>
<updated>2004-08-11T17:08:31+00:00</updated>
<author>
<name>Andre Oppermann</name>
<email>andre@FreeBSD.org</email>
</author>
<published>2004-08-11T17:08:31+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=4efb805c0c38b380ebe380547c541be91083d8dc'/>
<id>4efb805c0c38b380ebe380547c541be91083d8dc</id>
<content type='text'>
TCP code.  This flag would have prevented giving back excessive free slabs
to the global pool after a transient peak usage.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
TCP code.  This flag would have prevented giving back excessive free slabs
to the global pool after a transient peak usage.
</pre>
</div>
</content>
</entry>
<entry>
<title>Correct the displayed bandwidth calculation for a readout via sysctl.  The</title>
<updated>2004-08-11T10:12:16+00:00</updated>
<author>
<name>Andre Oppermann</name>
<email>andre@FreeBSD.org</email>
</author>
<published>2004-08-11T10:12:16+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=2f6e6e9b4c07922fa23cdc41b7cc288a99a96ef9'/>
<id>2f6e6e9b4c07922fa23cdc41b7cc288a99a96ef9</id>
<content type='text'>
saved value does not have to be scaled with HZ; it is already in bytes per
second.  Only the multiply by eight remains to show bits per second (bps).
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
saved value does not have to be scaled with HZ; it is already in bytes per
second.  Only the multiply by eight remains to show bits per second (bps).
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix a potential race when purging expired hostcache entries.</title>
<updated>2004-04-23T13:54:28+00:00</updated>
<author>
<name>Andre Oppermann</name>
<email>andre@FreeBSD.org</email>
</author>
<published>2004-04-23T13:54:28+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=b62dccc7e5ef1dd90c0fceb6219f81b153abd173'/>
<id>b62dccc7e5ef1dd90c0fceb6219f81b153abd173</id>
<content type='text'>
Spotted by:	luigi
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Spotted by:	luigi
</pre>
</div>
</content>
</entry>
<entry>
<title>Swap destination and source arguments of two bcopy() calls.</title>
<updated>2003-12-02T21:25:12+00:00</updated>
<author>
<name>Andre Oppermann</name>
<email>andre@FreeBSD.org</email>
</author>
<published>2003-12-02T21:25:12+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=f5bd8e9affdb04ec6ac7260b2a233f9e3e7b0557'/>
<id>f5bd8e9affdb04ec6ac7260b2a233f9e3e7b0557</id>
<content type='text'>
Before committing the initial tcp_hostcache I changed them from memcpy()
to conform with FreeBSD style without realizing the difference in argument
definition.

This fixes hostcache operation for IPv6 (in general and explicitly IPv6
path mtu discovery) and T/TCP (RFC1644).

Submitted by:	Taku YAMAMOTO &lt;taku@cent.saitama-u.ac.jp&gt;
Approved by:	re (rwatson)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Before committing the initial tcp_hostcache I changed them from memcpy()
to conform with FreeBSD style without realizing the difference in argument
definition.

This fixes hostcache operation for IPv6 (in general and explicitly IPv6
path mtu discovery) and T/TCP (RFC1644).

Submitted by:	Taku YAMAMOTO &lt;taku@cent.saitama-u.ac.jp&gt;
Approved by:	re (rwatson)
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix an optimization where I made an ifdef'd out section to broad.</title>
<updated>2003-11-28T16:33:03+00:00</updated>
<author>
<name>Andre Oppermann</name>
<email>andre@FreeBSD.org</email>
</author>
<published>2003-11-28T16:33:03+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=cd6c4060c8801b7b1c1e74ffbc7aedc37c603fe8'/>
<id>cd6c4060c8801b7b1c1e74ffbc7aedc37c603fe8</id>
<content type='text'>
When the hostcache bucket limit is reached the last bucket wasn't
removed from the bucket row but inserted a few lines later at the
bucket row head again.  This leads to infinite loop when the same
bucket row is accessed the next time for a lookup/insert or purge
action.

Tested by:	imp, Matt Smith
Approved by:	re (rwatson)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When the hostcache bucket limit is reached the last bucket wasn't
removed from the bucket row but inserted a few lines later at the
bucket row head again.  This leads to infinite loop when the same
bucket row is accessed the next time for a lookup/insert or purge
action.

Tested by:	imp, Matt Smith
Approved by:	re (rwatson)
</pre>
</div>
</content>
</entry>
<entry>
<title>Introduce tcp_hostcache and remove the tcp specific metrics from</title>
<updated>2003-11-20T20:07:39+00:00</updated>
<author>
<name>Andre Oppermann</name>
<email>andre@FreeBSD.org</email>
</author>
<published>2003-11-20T20:07:39+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=97d8d152c28bb596e1c310d9842db5d0314207b2'/>
<id>97d8d152c28bb596e1c310d9842db5d0314207b2</id>
<content type='text'>
the routing table.  Move all usage and references in the tcp stack
from the routing table metrics to the tcp hostcache.

It caches measured parameters of past tcp sessions to provide better
initial start values for following connections from or to the same
source or destination.  Depending on the network parameters to/from
the remote host this can lead to significant speedups for new tcp
connections after the first one because they inherit and shortcut
the learning curve.

tcp_hostcache is designed for multiple concurrent access in SMP
environments with high contention and is hash indexed by remote
ip address.

It removes significant locking requirements from the tcp stack with
regard to the routing table.

Reviewed by:	sam (mentor), bms
Reviewed by:	-net, -current, core@kame.net (IPv6 parts)
Approved by:	re (scottl)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
the routing table.  Move all usage and references in the tcp stack
from the routing table metrics to the tcp hostcache.

It caches measured parameters of past tcp sessions to provide better
initial start values for following connections from or to the same
source or destination.  Depending on the network parameters to/from
the remote host this can lead to significant speedups for new tcp
connections after the first one because they inherit and shortcut
the learning curve.

tcp_hostcache is designed for multiple concurrent access in SMP
environments with high contention and is hash indexed by remote
ip address.

It removes significant locking requirements from the tcp stack with
regard to the routing table.

Reviewed by:	sam (mentor), bms
Reviewed by:	-net, -current, core@kame.net (IPv6 parts)
Approved by:	re (scottl)
</pre>
</div>
</content>
</entry>
</feed>
