NetBSD/distrib
dyoung 60149b1ce8 Work in progress: use a raw socket for GRE in IP encapsulation
instead of adding/subtracting our own IPv4 header.

There are many benefits:  gre(4) needn't grok the outer encapsulation
header any longer, so this simplifies the gre(4) code.  The IP
stack needn't grok GRE, so it is simplified, too.  gre(4) will
benefit from optimizations in the socket code.  Eventually, gre(4)
will gain an IPv6 encapsulation with very few new lines of code.

There is a small performance loss.  A 133 MHz, 486-class AMD Elan
sinks/sources a TCP stream over GRE with about 93% the throughput
of the old code.  TCP throughput on a 266 MHz, 586-class AMD Geode
is about 96% the throughput of the old code.  A 175-MHz ADM5120
(MIPS) only sinks a TCP stream over GRE at about 90% of the old
code; I am still investigating that.

I produced stripped-down versions of sosend() and soreceive() for
gre(4) to use.  They are guaranteed not to block, so they can be
called from a software interrupt and from a socket upcall,
respectively.

A kernel thread is no longer necessary for socket transmit/receive,
but I didn't get around to removing it, yet.

Thanks to Matt Thomas for suggesting the use of stripped-down socket
code and software interrupts, and to Andrew Doran for advice and
answers concerning software interrupts, threads, and performance.
2007-10-05 03:28:12 +00:00
..
acorn26 missed these in the mini-/etc/services migration. 2007-05-15 19:16:18 +00:00
acorn32 Use the correct name for the iso image. Fix the acorn32 part of PR 37033. 2007-10-01 17:28:56 +00:00
alpha Since /etc/services has gotten rather large, use a minimal one for install 2007-05-10 23:22:27 +00:00
amd64 /libexec, not /usr/libexec. 2007-08-24 17:11:58 +00:00
amiga Add an iso_image target (iso-image as a target name doesn't play well with 2007-03-06 21:56:47 +00:00
arc Since /etc/services has gotten rather large, use a minimal one for install 2007-05-10 23:22:27 +00:00
atari Since /etc/services has gotten rather large, use a minimal one for install 2007-05-10 23:22:27 +00:00
bebox/floppies MAKEDEV.subr no longer exists. Don't install it in any ramdisk 2007-03-03 06:40:05 +00:00
cats Since /etc/services has gotten rather large, use a minimal one for install 2007-05-10 23:22:27 +00:00
cdrom Add configuration files for the 3.0.3 and 3.1.1 release ISO's. 2007-07-12 13:59:55 +00:00
common Fix bug which causes cats builds to not produce an a.out install kernels, 2007-09-08 14:25:09 +00:00
dreamcast Since /etc/services has gotten rather large, use a minimal one for install 2007-05-10 23:22:27 +00:00
evbarm Since /etc/services has gotten rather large, use a minimal one for install 2007-05-10 23:22:27 +00:00
evbmips Since /etc/services has gotten rather large, use a minimal one for install 2007-05-10 23:22:27 +00:00
evbppc Since /etc/services has gotten rather large, use a minimal one for install 2007-05-10 23:22:27 +00:00
evbsh3/rom MAKEDEV.subr no longer exists. Don't install it in any ramdisk 2007-03-03 06:40:05 +00:00
ews4800mips Since /etc/services has gotten rather large, use a minimal one for install 2007-05-10 23:22:27 +00:00
hp300 Since /etc/services has gotten rather large, use a minimal one for install 2007-05-10 23:22:27 +00:00
hp700 Add fsck(,_ffs} to the install ramdisk. 2007-07-16 13:56:50 +00:00
hpcarm Add an iso_image target (iso-image as a target name doesn't play well with 2007-03-06 21:56:47 +00:00
hpcmips Add an iso_image target (iso-image as a target name doesn't play well with 2007-03-06 21:56:47 +00:00
hpcsh Add an iso_image target (iso-image as a target name doesn't play well with 2007-03-06 21:56:47 +00:00
i386 Add a comment reminding to update the release documentation when the 2007-07-24 10:20:15 +00:00
ibmnws Since /etc/services has gotten rather large, use a minimal one for install 2007-05-10 23:22:27 +00:00
mac68k Since /etc/services has gotten rather large, use a minimal one for install 2007-05-10 23:22:27 +00:00
macppc Since /etc/services has gotten rather large, use a minimal one for install 2007-05-10 23:22:27 +00:00
miniroot Since /etc/services has gotten rather large, use a minimal one for install 2007-05-10 23:22:27 +00:00
mipsco Since /etc/services has gotten rather large, use a minimal one for install 2007-05-10 23:22:27 +00:00
mvme68k Since /etc/services has gotten rather large, use a minimal one for install 2007-05-10 23:22:27 +00:00
mvmeppc Add an iso_image target (iso-image as a target name doesn't play well with 2007-03-06 21:56:47 +00:00
news68k Since /etc/services has gotten rather large, use a minimal one for install 2007-05-10 23:22:27 +00:00
newsmips Since /etc/services has gotten rather large, use a minimal one for install 2007-05-10 23:22:27 +00:00
notes regen the list of changes from NetBSD-4.0.xml rev 1.25 . Also, do not 2007-09-29 16:53:13 +00:00
ofppc Add an iso_image target (iso-image as a target name doesn't play well with 2007-03-06 21:56:47 +00:00
pc532 Add an iso_image target (iso-image as a target name doesn't play well with 2007-03-06 21:56:47 +00:00
playstation2 Add an iso_image target (iso-image as a target name doesn't play well with 2007-03-06 21:56:47 +00:00
pmax Since /etc/services has gotten rather large, use a minimal one for install 2007-05-10 23:22:27 +00:00
pmppc Since /etc/services has gotten rather large, use a minimal one for install 2007-05-10 23:22:27 +00:00
prep Since /etc/services has gotten rather large, use a minimal one for install 2007-05-10 23:22:27 +00:00
sandpoint Since /etc/services has gotten rather large, use a minimal one for install 2007-05-10 23:22:27 +00:00
sets Work in progress: use a raw socket for GRE in IP encapsulation 2007-10-05 03:28:12 +00:00
sgimips Bump the disk image from 3200 to 3500k so that the contents fits again. 2007-07-09 21:35:59 +00:00
shark Switch NetBSD/shark's installation kernel and disk image to use wscons 2007-07-31 19:51:58 +00:00
sparc Add an iso_image target (iso-image as a target name doesn't play well with 2007-03-06 21:56:47 +00:00
sparc64 Since /etc/services has gotten rather large, use a minimal one for install 2007-05-10 23:22:27 +00:00
sun2 Remove a duplicated option in MAKEFS_FLAGS. 2007-06-24 05:41:52 +00:00
sun3 Remove a duplicated option in MAKEFS_FLAGS. 2007-06-24 05:41:52 +00:00
syspkg add nn_NO(Nynorsk) and nb_NO(Bokmal) locale. 2007-03-08 16:26:26 +00:00
utils Fix column alignment in partition size display 2007-09-29 21:54:13 +00:00
vax Since /etc/services has gotten rather large, use a minimal one for install 2007-05-10 23:22:27 +00:00
x68k Rev 1.24 that I had changed was a mistake. sorry. 2007-05-12 06:32:19 +00:00
Makefile Add an iso_image target (iso-image as a target name doesn't play well with 2007-03-06 21:56:47 +00:00
Makefile.inc Add an iso_image target (iso-image as a target name doesn't play well with 2007-03-06 21:56:47 +00:00