freebsd-dev/sys/conf
Qing Li e440aed958 This patch provides the back end support for equal-cost multi-path
(ECMP) for both IPv4 and IPv6. Previously, multipath route insertion
is disallowed. For example,

	route add -net 192.103.54.0/24 10.9.44.1
	route add -net 192.103.54.0/24 10.9.44.2

The second route insertion will trigger an error message of
"add net 192.103.54.0/24: gateway 10.2.5.2: route already in table"

Multiple default routes can also be inserted. Here is the netstat
output:

default		10.2.5.1	UGS	0	3074	bge0 =>
default		10.2.5.2	UGS	0	0	bge0

When multipath routes exist, the "route delete" command requires
a specific gateway to be specified or else an error message would
be displayed. For example,

	route delete default

would fail and trigger the following error message:

"route: writing to routing socket: No such process"
"delete net default: not in table"

On the other hand,

	route delete default 10.2.5.2

would be successful: "delete net default: gateway 10.2.5.2"

One does not have to specify a gateway if there is only a single
route for a particular destination.

I need to perform more testings on address aliases and multiple
interfaces that have the same IP prefixes. This patch as it
stands today is not yet ready for prime time. Therefore, the ECMP
code fragments are fully guarded by the RADIX_MPATH macro.
Include the "options  RADIX_MPATH" in the kernel configuration
to enable this feature.

Reviewed by:	robert, sam, gnn, julian, kmacy
2008-04-13 05:45:14 +00:00
..
defines
files This patch provides the back end support for equal-cost multi-path 2008-04-13 05:45:14 +00:00
files.amd64 Connect k8temp(4) to the build. 2008-04-12 14:20:22 +00:00
files.arm Break out stack(9) from ddb(4): 2007-12-02 20:40:35 +00:00
files.i386 Move i386 to generic RTC handling code. 2008-04-12 20:46:06 +00:00
files.ia64 Break out stack(9) from ddb(4): 2007-12-02 20:40:35 +00:00
files.pc98 Catch up pc98 for i386 stack(9) changes: 2007-12-03 11:38:28 +00:00
files.powerpc Connect MPC85XX to the PowerPC build. 2008-03-03 20:40:20 +00:00
files.sparc64 The Sun disk label only uses 16-bit fields for cylinders, heads and 2008-02-11 21:40:22 +00:00
files.sun4v Break out stack(9) from ddb(4): 2007-12-02 20:40:35 +00:00
kern.mk Temporarily add 'WITH_GCC3' that removes -Wno-pointer-sign from the 2007-05-24 21:53:42 +00:00
kern.post.mk Introduce a standalone shell script for embedding MFS image. 2008-02-05 10:46:30 +00:00
kern.pre.mk pc98 lint builds w/o warnings. Remove the last special case from our 2008-02-02 19:55:28 +00:00
kmod_syms.awk
kmod.mk Force an explicit dependency on opt_global.h for all module object files 2008-03-04 16:54:31 +00:00
ldscript.amd64 Provide the _start_ctors and _stop_ctors symbols. As on i386, the addresses 2004-05-29 01:09:00 +00:00
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 Have the linker provide btext. It's used for profiling. 2004-08-25 07:43:28 +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 Kernel and hwpmc(4) support for callchain capture. 2007-12-07 08:20:17 +00:00
Makefile.arm If you build a compiler with TARGET_BIG_ENDIAN, and then try to build 2008-04-04 19:33:09 +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.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
makeLINT.sed
newvers.sh To honor the birth of RELENG_7 bump HEAD to 8.0-CURRENT. 2007-10-11 04:28:08 +00:00
NOTES Add zyd, ural, and rum. They were missing. 2008-04-02 16:17:19 +00:00
options This patch provides the back end support for equal-cost multi-path 2008-04-13 05:45:14 +00:00
options.amd64 Back in the good old days, PC's had random pieces of rock for 2008-03-26 22:12:00 +00:00
options.arm Add CPU_ARM9E 2007-10-31 07:28:45 +00:00
options.i386 Back in the good old days, PC's had random pieces of rock for 2008-03-26 22:12:00 +00:00
options.ia64 Add option EXCEPTION_TRACING, which enables KTR-like functionality 2007-07-30 22:42:33 +00:00
options.pc98 Back in the good old days, PC's had random pieces of rock for 2008-03-26 22:12:00 +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 - In sunkbd_probe_keyboard() don't bother to determine the keyboard layout 2006-11-02 00:01:15 +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