freebsd-dev/sys
Kenneth D. Merry 931eeffaa2 A number of netfront fixes and stability improvements:
- Re-enable TSO.  This was broken previously due to CSUM_TSO clearing the
   CSUM_TCP flag, so our checksum flags were incorrectly set going to the
   netback driver.  That was fixed in r206844 in tcp_output.c, so we can
   turn TSO back on here.

 - Fix the way transmit slots are calculated, so that we can't overfill
   the ring.

 - Avoid sending packets with more fragments/segments than netback can
   handle.  The Linux netback code can only handle packets of
   MAX_SKB_FRAGS, which turns out to be 18 on machines with 4K pages.  We
   can easily generate packets with 32 or so fragments with TSO turned on.
   Right now the solution is just to drop the packets (since netback
   doesn't seem to handle it gracefully), but we should come up with a way
   to allow a driver to tell the TCP stack the maximum number of fragments
   it can handle in a single packet.

 - Fix the way the consumer is tracked in the receive path.  It could get
   out of sync fairly easily.

 - Use standard Xen ring macros to make it clearer how netfront is using
   the rings.

 - Get rid of Linux-ish negative errno return values.

 - Added more documentation to the driver.

 - Refactored code to make it easier to read.

 - Some other minor fixes.

Reviewed by:	gibbs

Reviewed by:	gibbs
Sponsored by:	Spectra Logic
MFC after:	7 days
2010-06-08 03:13:26 +00:00
..
amd64 Style-compilant order of declarations. 2010-06-06 16:13:50 +00:00
arm Don't set PG_WRITEABLE in pmap_enter() unless the page is managed. 2010-06-05 18:20:09 +00:00
boot Use -Wl,-N instead of the undocumented -N option for GCC. 2010-06-03 17:42:32 +00:00
bsm
cam redfacedly noting a missing part of a patch. 2010-06-07 22:43:37 +00:00
cddl Fix freeing space after deleting large files with holes. 2010-06-03 11:08:46 +00:00
compat Bring USB fixes for linux(4). 2010-05-24 07:04:00 +00:00
conf Add a driver for the CPU temperature sensors attached over I2C on the 2010-06-05 17:51:37 +00:00
contrib Provide kernel level headers for the libfdt code. 2010-06-02 17:24:41 +00:00
crypto Use the fpu_kern_enter() interface to properly separate usermode FPU 2010-06-05 16:00:53 +00:00
ddb MFp4 @178364: 2010-05-24 16:41:05 +00:00
dev A number of netfront fixes and stability improvements: 2010-06-08 03:13:26 +00:00
fs Don't try to call cdevsw d_close() method when devfs_close() is called 2010-06-01 18:57:21 +00:00
gdb
geom Make sure not to pass NULL to g_orphan_provider(). 2010-06-05 08:00:52 +00:00
gnu Move checking against RLIMIT_FSIZE into one place, vn_rlimit_fsize(). 2010-05-05 16:44:25 +00:00
i386 Introduce the x86 kernel interfaces to allow kernel code to use 2010-06-05 15:59:59 +00:00
ia64 Simplify the inner loop of get_pv_entry(): While iterating over the page's 2010-05-30 20:31:12 +00:00
isa Do not attempt to switch to the same VTs between suspend and resume. 2010-05-26 16:37:54 +00:00
kern Call BUS_PROBE_NOMATCH() when device detached due to driver unload. 2010-06-07 18:47:53 +00:00
kgssapi
libkern Provide memchr() in the libkern. 2010-06-02 17:27:23 +00:00
mips Don't set PG_WRITEABLE in init_pte_prot() (and thus pmap_enter()) unless 2010-06-06 06:07:44 +00:00
modules opensolaris_kmem.c is already part of opensolaris.ko which zfs.ko depends on. 2010-06-03 09:29:54 +00:00
net Provide a macro for registering a virtualized sysctl handler for 2010-06-02 15:29:21 +00:00
net80211 Fix resource leaks in ieee80211_ioctl_setchanlist() in case of error. 2010-06-01 14:20:58 +00:00
netatalk
netgraph Remove some dead and incorrect code. 2010-06-05 10:16:23 +00:00
netinet This fixes a BUG in the handling of the cum-ack calculation. 2010-06-07 18:29:10 +00:00
netinet6 Fix our version of IPv6 address representation. 2010-05-19 00:35:47 +00:00
netipsec MFp4 @178283: 2010-05-24 16:27:47 +00:00
netipx
netnatm
netncp Switch to our preferred 2-clause BSD license. 2010-04-07 16:50:38 +00:00
netsmb Switch to our preferred 2-clause BSD license. 2010-04-07 16:50:38 +00:00
nfs
nfsclient Fix build: newnp represents newvp so KDTRACE_NFS_ATTRCACHE_FLUSH_DONE() 2010-05-27 22:59:37 +00:00
nfsserver Patch the regular NFS server so that it returns ESTALE to the client 2010-03-26 01:19:29 +00:00
nlm
opencrypto Use the fpu_kern_enter() interface to properly separate usermode FPU 2010-06-05 16:00:53 +00:00
pc98 Introduce the x86 kernel interfaces to allow kernel code to use 2010-06-05 15:59:59 +00:00
pci Add new tunable 'net.link.ifqmaxlen' to set default send interface 2010-05-03 07:32:50 +00:00
powerpc Add Open Firmware PNP info strings to GPIOs and Uninorth cells. 2010-06-06 14:29:06 +00:00
rpc When the regular NFS server replied to a UDP client out of the replay 2010-03-23 23:03:30 +00:00
security Add a case to make sure that internal audit records get converted 2010-05-04 15:29:07 +00:00
sparc64 Don't set PG_WRITEABLE in pmap_enter() unless the page is managed. 2010-06-05 18:20:09 +00:00
sun4v Merge portions of r208645 and supporting code from the i386 pmap: 2010-06-01 05:18:48 +00:00
sys Convert pm_runcount to int to correctly check for negative value. 2010-06-05 23:05:08 +00:00
teken Just use <stdint.h> instead of <inttypes.h>. We don't need it here. 2010-04-03 17:22:28 +00:00
tools Flattened Device Tree helper scripts. 2010-06-02 17:22:38 +00:00
ufs Extend the scope of the lock on the quota file vnode in quotaon() to 2010-06-03 10:24:53 +00:00
vm Make vm_contig_grow_cache() extern, and use it when vm_phys_alloc_contig() 2010-06-04 06:35:36 +00:00
x86 Add support for corrected machine check interrupts. CMCI is a new local 2010-05-24 15:45:05 +00:00
xdr
xen
Makefile