freebsd-dev/sys
Bill Paul 498bd0d326 Fix the following bugs in re(4)
- Correct the PCI ID for the 8169SC/8110SC in the device list (I added
  the macro for it to if_rlreg.h before, but forgot to use it.)

- Remove the extra interrupt spinlock I added previously. After giving it
  some more thought, it's not really needed.

- Work around a hardware bug in some versions of the 8169. When sending
  very small IP datagrams with checksum offload enabled, a conflict can
  occur between the TX autopadding feature and the hardware checksumming
  that can corrupt the outbound packet. This is the reason that checksum
  offload sometimes breaks NFS: if you're using NFS over UDP, and you're
  very unlucky, you might find yourself doing a fragmented NFS write where
  the last fragment is smaller than the minimum ethernet frame size (60
  bytes). (It's rare, but if you keep NFS running long enough it'll
  happen.) If checksum offload is enabled, the chip will have to both
  autopad the fragment and calculate its checksum header. This confuses
  some revs of the 8169, causing the packet that appears on the wire
  to be corrupted. (The IP addresses and the checksum field are mangled.)
  This will cause the NFS write to fail. Unfortunately, when NFS retries,
  it sends the same write request over and over again, and it keeps
  failing, so NFS stays wedged.

  (A simple way to provoke the failure is to connect the failing system
  to a network with a known good machine and do "ping -s 1473 <badhost>"
  from the good system. The ping will fail.)

  Someone had previously worked around this using the heavy-handed
  approahch of just disabling checksum offload. The correct fix is to
  manually pad short frames where the TCP/IP stack has requested
  checksum offloading. This allows us to have checksum offload turned
  on by default but still let NFS work right.

- Not a bug, but change the ID strings for devices with hardware rev
  0x30000000 and 0x38000000 to both be 8168B/8111B. According to RealTek,
  they're both the same device, but 0x30000000 is an earlier silicon spin.
2006-07-30 23:25:21 +00:00
..
amd64 Remove sio(4) and related options from MI files to amd64, i386 2006-07-29 18:38:54 +00:00
arm Retire SYF_ARGMASK and remove both SYF_MPSAFE and SYF_ARGMASK. sy_narg is 2006-07-28 20:22:58 +00:00
boot Add snd_emu10kx_load 2006-07-26 12:59:42 +00:00
bsm Merge OpenBSM 1.0 alpha 7 new AUE_ event identifiers to kernel version 2006-07-03 14:45:43 +00:00
cam Drop Giant before returning in error path, thus eliminates 2006-07-14 13:58:32 +00:00
coda
compat Regen for MPSAFE flag removal. 2006-07-28 19:08:37 +00:00
conf Remove sio(4) and related options from MI files to amd64, i386 2006-07-29 18:38:54 +00:00
contrib Import from OpenBSD 1.168, dhartmei: 2006-07-21 09:48:13 +00:00
crypto Remove trailing spaces. 2006-07-28 14:48:30 +00:00
ddb Disable the pager for 'panic' and 'call' to be paranoid. 2006-07-19 18:26:53 +00:00
dev Fix the following bugs in re(4) 2006-07-30 23:25:21 +00:00
fs In udf_find_partmaps(), when we find a type 1 partition map, we have to 2006-07-25 14:15:50 +00:00
gdb
geom Fix what looks like a typo: MODULE_DEPEND() takes module names, 2006-07-27 11:52:12 +00:00
gnu Add snd_emu10kx driver for Creative SoundBlaster Live! and Audigy series 2006-07-15 19:36:28 +00:00
i4b Extend i4b to support CAPI manager based ISDN controllers (CAPI manager is part of 2006-07-09 21:16:06 +00:00
i386 Remove sio(4) and related options from MI files to amd64, i386 2006-07-29 18:38:54 +00:00
ia64 Remove sio(4) and related options from MI files to amd64, i386 2006-07-29 18:38:54 +00:00
isa (apply '(lambda (reformat-region 'style-9-parens)) (read-file isahint.c)) 2006-07-08 16:50:10 +00:00
isofs/cd9660
kern Regen for MPSAFE flag removal. 2006-07-28 19:08:37 +00:00
libkern
modules Remove Alpha remnants. 2006-07-27 19:12:49 +00:00
net Remove the dependency of bridgestp.h on if_bridgevar.h by moving a couple of 2006-07-27 21:01:48 +00:00
net80211 add support for 802.11 packet injection via bpf 2006-07-26 03:15:16 +00:00
netatalk Change semantics of socket close and detach. Add a new protocol switch 2006-07-21 17:11:15 +00:00
netatm Change semantics of socket close and detach. Add a new protocol switch 2006-07-21 17:11:15 +00:00
netgraph Remove the dependency of bridgestp.h on if_bridgevar.h by moving a couple of 2006-07-27 21:01:48 +00:00
netinet Change semantics of socket close and detach. Add a new protocol switch 2006-07-21 17:11:15 +00:00
netinet6 Align IPv6 socket locking with IPv4 locking: lock socket buffer explicitly 2006-07-23 12:24:22 +00:00
netipsec Fix build breakage from previous commit which confused key_abort and key_close. 2006-07-22 09:18:02 +00:00
netipx Change semantics of socket close and detach. Add a new protocol switch 2006-07-21 17:11:15 +00:00
netkey Change semantics of socket close and detach. Add a new protocol switch 2006-07-21 17:11:15 +00:00
netnatm Change semantics of socket close and detach. Add a new protocol switch 2006-07-21 17:11:15 +00:00
netncp soreceive_generic(), and sopoll_generic(). Add new functions sosend(), 2006-07-24 15:20:08 +00:00
netsmb soreceive_generic(), and sopoll_generic(). Add new functions sosend(), 2006-07-24 15:20:08 +00:00
nfs
nfs4client Always supply curthread as argument to nfs_asyncio and nfs_doio 2006-07-12 09:16:35 +00:00
nfsclient soreceive_generic(), and sopoll_generic(). Add new functions sosend(), 2006-07-24 15:20:08 +00:00
nfsserver Now that all system calls are MPSAFE, retire the SYF_MPSAFE flag used to 2006-07-28 19:05:28 +00:00
opencrypto
pc98 Remove sio(4) and related options from MI files to amd64, i386 2006-07-29 18:38:54 +00:00
pccard
pci Fix the following bugs in re(4) 2006-07-30 23:25:21 +00:00
posix4 Backout the feature which can change thread's scheduling option, I really 2006-07-13 06:41:26 +00:00
powerpc Remove sio(4) and related options from MI files to amd64, i386 2006-07-29 18:38:54 +00:00
rpc
security Remove the NDEVFSINO and NDEVFSOVERFLOW options which no longer exists in 2006-07-17 09:07:02 +00:00
sparc64 Remove sio(4) and related options from MI files to amd64, i386 2006-07-29 18:38:54 +00:00
sys Bump __FreeBSD_version for OpenSSL 0.9.8b import. 2006-07-29 19:44:07 +00:00
tools
ufs Drop two unnecessary casts. 2006-07-18 07:03:43 +00:00
vm Export the number of object bypasses and collapses through sysctl. 2006-07-22 22:31:57 +00:00
Makefile o Add geom to a list of cscope dirs. 2006-07-04 14:14:16 +00:00