cvs commit: src/sys/conf files options src/sys/net radix.c
radix.h route.c route.h rtsock.c src/sys/netinet in_proto.c
ip_output.c src/sys/netinet6 in6_proto.c in6_src.c nd6_nbr.c
pyunyh at gmail.com
Mon Apr 14 00:33:46 UTC 2008
On Sun, Apr 13, 2008 at 05:45:14AM +0000, Qing Li wrote:
> qingli 2008-04-13 05:45:14 UTC
> FreeBSD src repository
> Modified files:
> sys/conf files options
> sys/net radix.c radix.h route.c route.h rtsock.c
> sys/netinet in_proto.c ip_output.c
> sys/netinet6 in6_proto.c in6_src.c nd6_nbr.c
> 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 188.8.131.52/24 10.9.44.1
> route add -net 184.108.40.206/24 10.9.44.2
> The second route insertion will trigger an error message of
> "add net 220.127.116.11/24: gateway 10.2.5.2: route already in table"
> Multiple default routes can also be inserted. Here is the netstat
> 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
More information about the cvs-all