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
Rui Paulo
rpaulo at FreeBSD.org
Sun Apr 13 14:34:45 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
> Log:
> 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
>
> Revision Changes Path
> 1.1289 +1 -0 src/sys/conf/files
> 1.625 +1 -0 src/sys/conf/options
> 1.39 +22 -0 src/sys/net/radix.c
> 1.27 +1 -0 src/sys/net/radix.h
> 1.127 +121 -1 src/sys/net/route.c
> 1.69 +3 -0 src/sys/net/route.h
> 1.145 +20 -0 src/sys/net/rtsock.c
> 1.88 +8 -0 src/sys/netinet/in_proto.c
> 1.280 +9 -0 src/sys/netinet/ip_output.c
> 1.49 +8 -0 src/sys/netinet6/in6_proto.c
> 1.50 +9 -0 src/sys/netinet6/in6_src.c
> 1.50 +14 -0 src/sys/netinet6/nd6_nbr.c
Great work, thanks!
--
Rui Paulo
More information about the cvs-src
mailing list