freebsd-nq/sys/conf
Luigi Rizzo bbb4330b61 Massive cleanup of the ip_mroute code.
No functional changes, but:

  + the mrouting module now should behave the same as the compiled-in
    version (it did not before, some of the rsvp code was not loaded
    properly);
  + netinet/ip_mroute.c is now truly optional;
  + removed some redundant/unused code;
  + changed many instances of '0' to NULL and INADDR_ANY as appropriate;
  + removed several static variables to make the code more SMP-friendly;
  + fixed some minor bugs in the mrouting code (mostly, incorrect return
    values from functions).

This commit is also a prerequisite to the addition of support for PIM,
which i would like to put in before DP2 (it does not change any of
the existing APIs, anyways).

Note, in the process we found out that some device drivers fail to
properly handle changes in IFF_ALLMULTI, leading to interesting
behaviour when a multicast router is started. This bug is not
corrected by this commit, and will be fixed with a separate commit.

Detailed changes:
--------------------
netinet/ip_mroute.c     all the above.
conf/files              make ip_mroute.c optional
net/route.c             fix mrt_ioctl hook
netinet/ip_input.c      fix ip_mforward hook, move rsvp_input() here
                        together with other rsvp code, and a couple
                        of indentation fixes.
netinet/ip_output.c     fix ip_mforward and ip_mcast_src hooks
netinet/ip_var.h        rsvp function hooks
netinet/raw_ip.c        hooks for mrouting and rsvp functions, plus
                        interface cleanup.
netinet/ip_mroute.h     remove an unused and optional field from a struct

Most of the code is from Pavlin Radoslavov and the XORP project

Reviewed by: sam
MFC after: 1 week
2002-11-15 22:53:53 +00:00
..
defines
files Massive cleanup of the ip_mroute code. 2002-11-15 22:53:53 +00:00
files.alpha NB: This commit does *NOT* make GEOM the default in FreeBSD 2002-10-05 16:35:33 +00:00
files.amd64 de-count atkbdc and sc. Folks, remove the '1' from 'device sc 1' and 2002-08-19 23:59:21 +00:00
files.i386 - Move netsmb entries over to MI files. netsmb appears to be MI code. 2002-11-08 22:33:14 +00:00
files.ia64 Rename 'device acpica' to 'device acpi'. 2002-10-24 19:05:04 +00:00
files.pc98 - Move netsmb entries over to MI files. netsmb appears to be MI code. 2002-11-08 22:33:14 +00:00
files.powerpc - added macio and psim files 2002-09-19 05:11:15 +00:00
files.sparc64 Add kernel dump support, based on the ia64 version (which was committed 2002-10-20 17:03:15 +00:00
kern.mk ia64 specific CFLAGS change: 2002-10-13 02:52:22 +00:00
kern.post.mk Hook the aic7xxx modules up. This requires some extra care since aicasm 2002-11-03 23:48:14 +00:00
kern.pre.mk Put back NORMAL_C_NOWERROR, it was actually used. 2002-10-19 22:24:43 +00:00
kmod_syms.awk Our awk does not implement the ARGIND variable, so we were attempting 2002-08-06 19:31:04 +00:00
kmod.mk In the !DEBUG case, we were passing foo.ko two times on the 2002-11-06 17:40:13 +00:00
ldscript.alpha Use the new freebsd output format from Binutils 2.13.1. 2002-10-11 19:38:04 +00:00
ldscript.amd64 Use the new freebsd output format from Binutils 2.13.1. 2002-10-11 19:38:04 +00:00
ldscript.i386 Use the new freebsd output format from Binutils 2.13.1. 2002-10-11 19:38:04 +00:00
ldscript.ia64 Remove the _ia64_unwind_start and _ia64_unwind_end symbols. We now 2002-10-19 19:32:21 +00:00
ldscript.powerpc Page align the data segment. 2001-10-08 10:43:34 +00:00
ldscript.sparc64 Add kernbase symbol and use it instead of magic numbers in the 2001-09-21 05:43:38 +00:00
majors Major #46 was also MIA. 2002-11-13 01:42:59 +00:00
Makefile.alpha Moved the rule for locore.o from kern.post.mk to Makefile.$ARCH. 2002-07-31 14:59:05 +00:00
Makefile.amd64 Moved the rule for locore.o from kern.post.mk to Makefile.$ARCH. 2002-07-31 14:59:05 +00:00
Makefile.i386 Moved the rule for locore.o from kern.post.mk to Makefile.$ARCH. 2002-07-31 14:59:05 +00:00
Makefile.ia64 Build the kernel with -mconstant-gp. This means that function calls, 2002-10-13 07:07:51 +00:00
Makefile.pc98 Moved the rule for locore.o from kern.post.mk to Makefile.$ARCH. 2002-07-31 14:59:05 +00:00
Makefile.powerpc Initiate deorbit burn for the i386-only a.out related support. Moves are 2002-09-17 01:49:00 +00:00
Makefile.sparc64 Moved most interrupt related code to a new file, interrupt.S. 2002-09-28 01:56:24 +00:00
makeLINT.sed Join the pissing contest: generate LINT with a single sed(1) command. 2002-05-02 16:34:47 +00:00
newvers.sh setlocale(3) has been fixed to match POSIX standard: 2001-03-02 16:52:14 +00:00
NOTES Make 3dfx i386-only. The memrange API it uses may be defined in an MI 2002-11-08 20:04:38 +00:00
options Convert kernel compile option PCI_ALLOW_UNSUPPORTED_IO_RANGE to 2002-11-13 09:42:25 +00:00
options.alpha Add new syscons option SC_NO_SUSPEND_VTYSWITCH. 2002-10-17 07:04:31 +00:00
options.amd64 Add new syscons option SC_NO_SUSPEND_VTYSWITCH. 2002-10-17 07:04:31 +00:00
options.i386 Add new syscons option SC_NO_SUSPEND_VTYSWITCH. 2002-10-17 07:04:31 +00:00
options.ia64 Oops, I missed a few changes in 'device acpica' -> 'device acpi' change. 2002-10-24 19:17:06 +00:00
options.pc98 Add new syscons option SC_NO_SUSPEND_VTYSWITCH. 2002-10-17 07:04:31 +00:00
options.powerpc psim device support 2002-09-19 05:09:27 +00:00
options.sparc64 Add a DEBUGGER_ON_POWERFAIL option. This makes the power button on ultra 10s 2002-03-13 05:58:45 +00:00
systags.sh