freebsd-dev/sys
Mike Silbersack c1537ef063 Enhance our RFC1948 implementation to perform better in some pathlogical
TIME_WAIT recycling cases I was able to generate with http testing tools.

In short, as the old algorithm relied on ticks to create the time offset
component of an ISN, two connections with the exact same host, port pair
that were generated between timer ticks would have the exact same sequence
number.  As a result, the second connection would fail to pass the TIME_WAIT
check on the server side, and the SYN would never be acknowledged.

I've "fixed" this by adding random positive increments to the time component
between clock ticks so that ISNs will *always* be increasing, no matter how
quickly the port is recycled.

Except in such contrived benchmarking situations, this problem should never
come up in normal usage...  until networks get faster.

No MFC planned, 4.x is missing other optimizations that are needed to even
create the situation in which such quick port recycling will occur.
2004-04-20 06:33:39 +00:00
..
alpha MFamd64 2004-04-18 06:24:51 +00:00
amd64 Simplify the sf_buf implementation. In short, make it a trivial veneer 2004-04-18 05:36:37 +00:00
arm Remove advertising clause from University of California Regent's license, 2004-04-05 21:29:41 +00:00
boot White space style cleanup. 2004-04-20 03:15:59 +00:00
cam The opt_da.h file doesn't exist anymore since the DA_OLD_QUIRKS option 2004-04-19 13:38:10 +00:00
coda Device megapatch 5/6: 2004-02-21 21:32:15 +00:00
compat Correct the AT_DISPATCH_LEVEL() macro to match earlier changes. 2004-04-20 02:27:38 +00:00
conf As promised a while ago, remove DA_OLD_QUIRKS and all quirks it was enabling. 2004-04-19 03:33:55 +00:00
contrib Remove warnings from vendor files. This takes some files off the vendor 2004-04-14 18:12:29 +00:00
crypto Fix a reentrancy issue in md5_calc(). 2004-01-27 18:57:21 +00:00
ddb Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
dev Use BSD spelling, no SysV. 2004-04-19 18:44:04 +00:00
fs Do not drop Giant around the poll method yet, we're not ready for it. 2004-04-12 21:52:52 +00:00
geom Calculate bio_completed properly or die! 2004-04-04 20:37:28 +00:00
gnu Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
i4b Convert callers to the new bus_alloc_resource_any(9) API. 2004-03-17 17:50:55 +00:00
i386 Use BSD spelling vs. SysV. 2004-04-19 18:38:04 +00:00
ia64 MFamd64 2004-04-18 07:11:12 +00:00
isa Don't check for device_get_softc() returning NULL, it can't happen. 2004-04-17 10:25:04 +00:00
isofs/cd9660 Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
kern If you're trying to find out if a thread is valid and in 2004-04-19 14:20:01 +00:00
libkern Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
modules Remove opt_da.h from the Makefile as well. Duplication of the option in 2004-04-19 17:26:46 +00:00
net Add some comments, move a static array of constants in the only place 2004-04-19 17:28:39 +00:00
net80211 Resolve the issue of whether frames have FCS or not. Frame data does not 2004-04-05 22:13:21 +00:00
netatalk Lock down the netatalk AARP code, which is responsible for appletalk 2004-04-09 01:40:12 +00:00
netatm These are changes to allow to use the Intel C/C++ compiler (lang/icc) 2004-03-12 21:45:33 +00:00
netgraph + rename and document an unused field in struct arpcom (field is still 2004-04-18 01:15:32 +00:00
netinet Enhance our RFC1948 implementation to perform better in some pathlogical 2004-04-20 06:33:39 +00:00
netinet6 ifp has the same value as rt->rti_ifp so remove the dependency 2004-04-19 08:02:52 +00:00
netipsec use native names for if_link, ifa_link, if_addrhead. 2004-04-17 23:29:25 +00:00
netipx Rename dup_sockaddr() to sodupsockaddr() for consistency with other 2004-03-01 03:14:23 +00:00
netkey avoid duplicate free. 2004-01-25 17:18:12 +00:00
netnatm Rename dup_sockaddr() to sodupsockaddr() for consistency with other 2004-03-01 03:14:23 +00:00
netncp Make the process_exit eventhandler run without Giant. Add Giant hooks 2004-03-14 02:06:28 +00:00
netsmb Rename dup_sockaddr() to sodupsockaddr() for consistency with other 2004-03-01 03:14:23 +00:00
nfs Remove advertising clause from University of California Regent's 2004-04-07 05:00:01 +00:00
nfs4client Remove advertising clause from University of California Regent's 2004-04-07 20:46:16 +00:00
nfsclient Let the NFS client notice a file's size changing as a modification. 2004-04-14 23:23:55 +00:00
nfsserver Don't send the available space as is in the FSSTAT call. Under 2004-04-12 13:02:21 +00:00
opencrypto kthread_exit() no longer requires Giant, so don't force callers to acquire 2004-03-05 22:42:17 +00:00
pc98 sx was randomly added to NOTES. Instead, place it in the misc 2004-04-14 02:25:31 +00:00
pccard Convert callers to the new bus_alloc_resource_any(9) API. 2004-03-17 17:50:55 +00:00
pci Use BSD spelling, no SysV. 2004-04-19 18:44:04 +00:00
posix4 The sem_timedwait() and ksem_timedwait() functions both 2004-02-03 22:27:03 +00:00
powerpc MFamd64 2004-04-18 08:10:04 +00:00
rpc Remove advertising clause from University of California Regent's 2004-04-07 05:00:01 +00:00
security Define BPFD_LOCK_ASSERT() to assert the BPF descriptor lock. 2004-02-29 15:33:56 +00:00
sparc64 Remove avail_end. It is not used. 2004-04-11 06:02:24 +00:00
sys Prevent SysV spellings in int's in the kernel. 2004-04-19 22:49:00 +00:00
tools Correct $FreeBSD$ style. 2004-04-16 05:22:11 +00:00
ufs Record where half the bits in this file came from (from ufs_readwrite.c). 2004-04-07 11:21:18 +00:00
vm - pmap_kenter_temporary() is unused by machine-independent code. Therefore, 2004-04-10 22:41:46 +00:00
Makefile Replaced outdated comment. 2004-01-17 03:28:27 +00:00