freebsd-dev/sys/conf
Luigi Rizzo cc4d3c30ea Bring in the most recent version of ipfw and dummynet, developed
and tested over the past two months in the ipfw3-head branch.  This
also happens to be the same code available in the Linux and Windows
ports of ipfw and dummynet.

The major enhancement is a completely restructured version of
dummynet, with support for different packet scheduling algorithms
(loadable at runtime), faster queue/pipe lookup, and a much cleaner
internal architecture and kernel/userland ABI which simplifies
future extensions.

In addition to the existing schedulers (FIFO and WF2Q+), we include
a Deficit Round Robin (DRR or RR for brevity) scheduler, and a new,
very fast version of WF2Q+ called QFQ.

Some test code is also present (in sys/netinet/ipfw/test) that
lets you build and test schedulers in userland.

Also, we have added a compatibility layer that understands requests
from the RELENG_7 and RELENG_8 versions of the /sbin/ipfw binaries,
and replies correctly (at least, it does its best; sometimes you
just cannot tell who sent the request and how to answer).
The compatibility layer should make it possible to MFC this code in a
relatively short time.

Some minor glitches (e.g. handling of ipfw set enable/disable,
and a workaround for a bug in RELENG_7's /sbin/ipfw) will be
fixed with separate commits.

CREDITS:
This work has been partly supported by the ONELAB2 project, and
mostly developed by Riccardo Panicucci and myself.
The code for the qfq scheduler is mostly from Fabio Checconi,
and Marta Carbone and Francesco Magno have helped with testing,
debugging and some bug fixes.
2010-03-02 17:40:48 +00:00
..
defines
files Bring in the most recent version of ipfw and dummynet, developed 2010-03-02 17:40:48 +00:00
files.amd64 Fix a mis-change about the compiling of atrtc.c. 2010-02-25 15:00:27 +00:00
files.arm Add hwpmc_arm.c 2009-12-23 23:53:30 +00:00
files.i386 Introduce the new kernel sub-tree x86 which should contain all the code 2010-02-25 14:13:39 +00:00
files.ia64 Remove the usb2_input_kbd directive that was missed during the renaming of the drivers in the usb2 stack. 2010-02-08 19:48:33 +00:00
files.mips Unbreak SENTRY5 build. 2010-02-18 20:20:34 +00:00
files.pc98 MFi386: the part of r204309 to fix pc98 kernel 2010-02-25 15:44:54 +00:00
files.powerpc Move libteken out of the syscons directory. 2009-09-03 09:33:57 +00:00
files.sparc64 Add ssm(4), which serves as a glue device allowing devices beneath the 2010-02-13 19:05:34 +00:00
files.sun4v Hook ebus(4) and isa(4) up to the sun4v LINT build in order to 2009-12-23 21:04:31 +00:00
kern.mk Removed NO_UNDEF. 2010-01-19 11:42:15 +00:00
kern.post.mk Always compute the root of the kernel source tree and explicitly pass it 2009-05-04 20:25:56 +00:00
kern.pre.mk Delete the old USB stack. The new stack has settled in and has all the 2009-05-27 16:16:56 +00:00
kmod_syms.awk
kmod.mk Kernel module support for mips. 2010-02-18 05:49:52 +00:00
ldscript.amd64
ldscript.arm Create a non-elf pure binary version of the kernel as well. 2005-11-24 02:25:49 +00:00
ldscript.i386
ldscript.ia64
ldscript.mips - Move .text and all sections up to .bss inclusive to the beginning of 2010-01-23 05:59:10 +00:00
ldscript.mips.cfe Use KERNLOADADDR instead of hardcoded address. This is required to be able to 2010-02-22 01:48:38 +00:00
ldscript.mips.mips64 Put back KERNLOADADDR. 2009-09-09 00:46:11 +00:00
ldscript.mips.octeon1.32 Get rid of redundant .kernel in these names. 2009-11-24 14:57:50 +00:00
ldscript.mips.octeon1.64 Get rid of redundant .kernel in these names. 2009-11-24 14:57:50 +00:00
ldscript.mips.octeon1.n32 Get rid of redundant .kernel in these names. 2009-11-24 14:57:50 +00:00
ldscript.powerpc Avoid hardcoding the kernel link address in the linker script. 2008-02-27 00:03:23 +00:00
ldscript.sparc64
Makefile.amd64 Add a kernel option for amd64 to compile with the frame on the stack 2008-05-23 03:52:55 +00:00
Makefile.arm Add support for Cavium Econa CNS11XX ARM boards. These boards were 2010-01-04 03:35:45 +00:00
Makefile.i386 Revert config(8) version bump. It brings major pain for people working on 2007-05-16 17:23:54 +00:00
Makefile.ia64 Remove definition of the GCC3 variable. It was introduced in rev. 2007-06-02 21:30:39 +00:00
Makefile.mips Merge r187428, r191079, r195533, r195669, r197004, r197012 and r197015 2010-01-10 05:34:46 +00:00
Makefile.pc98 Revert config(8) version bump. It brings major pain for people working on 2007-05-16 17:23:54 +00:00
Makefile.powerpc Revert config(8) version bump. It brings major pain for people working on 2007-05-16 17:23:54 +00:00
Makefile.sparc64 Revert config(8) version bump. It brings major pain for people working on 2007-05-16 17:23:54 +00:00
Makefile.sun4v Revert config(8) version bump. It brings major pain for people working on 2007-05-16 17:23:54 +00:00
makeLINT.mk Generate a second LINT configuration for i386 and amd64 in 2010-01-08 19:00:20 +00:00
makeLINT.sed
newvers.sh Improve on r197334: 2009-09-23 14:48:13 +00:00
NOTES Adjust style (following the already existing rules) for the newly 2010-02-15 23:44:48 +00:00
options Merge projects/enhanced_coredumps (r204346) into HEAD: 2010-03-02 06:58:58 +00:00
options.amd64 - Teach vesa(4) and dpms(4) about x86emu. [1] 2009-09-09 09:50:31 +00:00
options.arm Add support for Cavium Econa CNS11XX ARM boards. These boards were 2010-01-04 03:35:45 +00:00
options.i386 Handling all the three clocks (hardclock, softclock, profclock) with the 2010-01-15 16:04:30 +00:00
options.ia64 Don't forget to create opt_agp.h on ia64, which also uses agp(4). 2009-02-07 09:57:14 +00:00
options.mips Add CPU_CNMIPS for the core that's in Octeon CPUs. 2010-02-25 11:54:10 +00:00
options.pc98 Unbreak the build for pc98. Specify the newly introduced, for ia32, 2010-01-16 12:24:12 +00:00
options.powerpc Initial support for Freescale PowerQUICC III MPC85xx system-on-chip family. 2008-03-03 17:17:00 +00:00
options.sparc64 Add a driver for the `Fire' JBus to PCIe bridges found in at least 2009-12-27 16:55:44 +00:00
options.sun4v Remove remnants from the sparc64 origin of this file and which are 2007-01-19 12:22:50 +00:00
systags.sh Use a simpler way to reach the <machine> include dir, which should 2005-12-03 21:37:54 +00:00