<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src-test2/sys/netinet/udp_usrreq.c, branch release/3.3.0_cvs</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src-test2/atom?h=release%2F3.3.0_cvs</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src-test2/atom?h=release%2F3.3.0_cvs'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/'/>
<updated>1999-09-16T08:26:13Z</updated>
<entry>
<title>This commit was manufactured by cvs2svn to create tag</title>
<updated>1999-09-16T08:26:13Z</updated>
<author>
<name>cvs2svn</name>
<email>cvs2svn@FreeBSD.org</email>
</author>
<published>1999-09-16T08:26:13Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=5be28542797ac26e17de490f50e0830003596d38'/>
<id>urn:sha1:5be28542797ac26e17de490f50e0830003596d38</id>
<content type='text'>
'RELENG_3_3_0_RELEASE'.

This commit was manufactured to restore the state of the 3.3-RELEASE image.
Releases prior to 5.3-RELEASE are omitting the secure/ and crypto/ subdirs.
</content>
</entry>
<entry>
<title>$Id$ -&gt; $FreeBSD$</title>
<updated>1999-08-29T16:33:42Z</updated>
<author>
<name>Peter Wemm</name>
<email>peter@FreeBSD.org</email>
</author>
<published>1999-08-29T16:33:42Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=c4f617ca01b475bdf034553dfe123deeb1589899'/>
<id>urn:sha1:c4f617ca01b475bdf034553dfe123deeb1589899</id>
<content type='text'>
</content>
</entry>
<entry>
<title>MFC:</title>
<updated>1999-08-29T13:09:25Z</updated>
<author>
<name>Brian Feldman</name>
<email>green@FreeBSD.org</email>
</author>
<published>1999-08-29T13:09:25Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=9869a172377d8b1d7100c57ddce71500c43efad9'/>
<id>urn:sha1:9869a172377d8b1d7100c57ddce71500c43efad9</id>
<content type='text'>
   This is the pre-3.3 IPFW megamerge. This brings IPFW almost completely
up to 4.0's. __FreeBSD_version is bumped by this commi. Changes include:
	- per-socket credentials stored
	- ability to get those credentials with sysctl
	- uid- and gid- based filtering in IPFW
	- dynamic logging in IPFW (rules can be set as logging for any number
	  of packets, not just the default, and logging can be reset)

Following this is a commit to pidentd to use 1 and 2.
</content>
</entry>
<entry>
<title>Reviewed by:	freebsd-current</title>
<updated>1998-12-03T20:23:21Z</updated>
<author>
<name>Matthew Dillon</name>
<email>dillon@FreeBSD.org</email>
</author>
<published>1998-12-03T20:23:21Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=51508de112f6fd562148cad74dde057d9e9e7305'/>
<id>urn:sha1:51508de112f6fd562148cad74dde057d9e9e7305</id>
<content type='text'>
    Add ICMP_BANDLIM option and 'net.inet.icmp.icmplim' sysctl.  If option
    is specified in kernel config, icmplim defaults to 100 pps.  Setting it
    to 0 will disable the feature.  This feature limits ICMP error responses
    for packets sent to bad tcp or udp ports, which does a lot to help the
    machine handle network D.O.S. attacks.

    The kernel will report packet rates that exceed the limit at a rate of
    one kernel printf per second.  There is one issue in regards to the
    'tail end' of an attack... the kernel will not output the last report
    until some unrelated and valid icmp error packet is return at some
    point after the attack is over.  This is a minor reporting issue only.
</content>
</entry>
<entry>
<title>Re-implement tcp and ip fragment reassembly to not store pointers in the</title>
<updated>1998-08-24T07:47:39Z</updated>
<author>
<name>Doug Rabson</name>
<email>dfr@FreeBSD.org</email>
</author>
<published>1998-08-24T07:47:39Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=6effc71332ad05cc93c8911c4e4deb2873ef6e26'/>
<id>urn:sha1:6effc71332ad05cc93c8911c4e4deb2873ef6e26</id>
<content type='text'>
ip header which can't work on alpha since pointers are too big.

Reviewed by: Garrett Wollman &lt;wollman@khavrinen.lcs.mit.edu&gt;
</content>
</entry>
<entry>
<title>Convert socket structures to be type-stable and add a version number.</title>
<updated>1998-05-15T20:11:40Z</updated>
<author>
<name>Garrett Wollman</name>
<email>wollman@FreeBSD.org</email>
</author>
<published>1998-05-15T20:11:40Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=98271db4d5d00999e63492d6550727afc907e54c'/>
<id>urn:sha1:98271db4d5d00999e63492d6550727afc907e54c</id>
<content type='text'>
Define a parameter which indicates the maximum number of sockets in a
system, and use this to size the zone allocators used for sockets and
for certain PCBs.

Convert PF_LOCAL PCB structures to be type-stable and add a version number.

Define an external format for infomation about socket structures and use
it in several places.

Define a mechanism to get all PF_LOCAL and PF_INET PCB lists through
sysctl(3) without blocking network interrupts for an unreasonable
length of time.  This probably still has some bugs and/or race
conditions, but it seems to work well enough on my machines.

It is now possible for `netstat' to get almost all of its information
via the sysctl(3) interface rather than reading kmem (changes to follow).
</content>
</entry>
<entry>
<title>Fixed style bugs (mostly) in previous commit.</title>
<updated>1998-03-28T10:18:26Z</updated>
<author>
<name>Bruce Evans</name>
<email>bde@FreeBSD.org</email>
</author>
<published>1998-03-28T10:18:26Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=8781d8e928fbfc9853e6f770374e063384a05bcd'/>
<id>urn:sha1:8781d8e928fbfc9853e6f770374e063384a05bcd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use the zone allocator to allocate inpcbs and tcpcbs.  Each protocol creates</title>
<updated>1998-03-24T18:06:34Z</updated>
<author>
<name>Garrett Wollman</name>
<email>wollman@FreeBSD.org</email>
</author>
<published>1998-03-24T18:06:34Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=3d4d47f39858441d8b8625898e74563f7b60e2b5'/>
<id>urn:sha1:3d4d47f39858441d8b8625898e74563f7b60e2b5</id>
<content type='text'>
its own zone; this is used particularly by TCP which allocates both inpcb and
tcpcb in a single allocation.  (Some hackery ensures that the tcpcb is
reasonably aligned.)  Also keep track of the number of pcbs of each type
allocated, and keep a generation count (instance version number) for future
use.
</content>
</entry>
<entry>
<title>Improved connection establishment performance by doing local port lookups via</title>
<updated>1998-01-27T09:15:13Z</updated>
<author>
<name>David Greenman</name>
<email>dg@FreeBSD.org</email>
</author>
<published>1998-01-27T09:15:13Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=c3229e05a368643ab2e7e7c210b40586d041ba04'/>
<id>urn:sha1:c3229e05a368643ab2e7e7c210b40586d041ba04</id>
<content type='text'>
a hashed port list. In the new scheme, in_pcblookup() goes away and is
replaced by a new routine, in_pcblookup_local() for doing the local port
check. Note that this implementation is space inefficient in that the PCB
struct is now too large to fit into 128 bytes. I might deal with this in the
future by using the new zone allocator, but I wanted these changes to be
extensively tested in their current form first.

Also:
1) Fixed off-by-one errors in the port lookup loops in in_pcbbind().
2) Got rid of some unneeded rehashing. Adding a new routine, in_pcbinshash()
   to do the initialial hash insertion.
3) Renamed in_pcblookuphash() to in_pcblookup_hash() for easier readability.
4) Added a new routine, in_pcbremlists() to remove the PCB from the various
   hash lists.
5) Added/deleted comments where appropriate.
6) Removed unnecessary splnet() locking. In general, the PCB functions should
   be called at splnet()...there are unfortunately a few exceptions, however.
7) Reorganized a few structs for better cache line behavior.
8) Killed my TCP_ACK_HACK kludge. It may come back in a different form in
   the future, however.

These changes have been tested on wcarchive for more than a month. In tests
done here, connection establishment overhead is reduced by more than 50
times, thus getting rid of one of the major networking scalability problems.

Still to do: make tcp_fastimo/tcp_slowtimo scale well for systems with a
large number of connections. tcp_fastimo is easy; tcp_slowtimo is difficult.

WARNING: Anything that knows about inpcb and tcpcb structs will have to be
         recompiled; at the very least, this includes netstat(1).
</content>
</entry>
<entry>
<title>Fix a couple of operator precedence bugs.</title>
<updated>1998-01-25T17:25:41Z</updated>
<author>
<name>Steve Price</name>
<email>steve@FreeBSD.org</email>
</author>
<published>1998-01-25T17:25:41Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=694ad0a9b17e1995d371a1304882d50e54b82110'/>
<id>urn:sha1:694ad0a9b17e1995d371a1304882d50e54b82110</id>
<content type='text'>
PR:		5450
Submitted by:	Sakari Jalovaara &lt;sja@tekla.fi&gt;
</content>
</entry>
</feed>
