Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 06 Jan 1998 11:42:29 -0800
From:      Julian Elischer <julian@whistle.com>
To:        Chrisy Luke <chrisy@flix.net>
Cc:        freebsd-hackers@FreeBSD.ORG
Subject:   Re: Multipath Routing.
Message-ID:  <34B28925.2781E494@whistle.com>
References:  <19980106104520.25045@flix.net>

next in thread | previous in thread | raw e-mail | index | archive | help
Chrisy Luke wrote:
> 
> This is a scouting survey to see if anyone else is interested in what
> I've been playing with...
> 
> I'm just finishing off a pretty neat kernel hack I started last week to
> implement multipath routing in the BSD kernel, using FreeBSD as my
> development base. Not much has changed across the BSD's or time to the
> code I've changed so it should be portable to other BSD's quite easily.
> 
> What it changes is the rule that an entry in the routing table can
> only have one next-hop gateway. Unlike Sun's implementation of the
> same. this load balances across the installed gateways for a route.
> Sun's method merely allowed two nodes in the patricia tree to have the same
> network and netmask. On route lookup, it finds the first one and disregards
> any others.
> 
> You end up with a routing table that looks something like:
> 
> chrisy@om[~]> netstat -rn
> Routing tables

so can different routes have different metrics?

> 
> Internet:
> Destination        Gateway            Flags     Refs     Use     Netif Expire
> default                               UGSc        3   138832
>                     193.131.248.183                    46278      fxp0
>                    *193.131.248.254                    46277      fxp0
>                     193.131.248.186                    46277      fxp0
> 127.0.0.1          *127.0.0.1         UH          0        2       lo0
> 193.131.248        *link#1            UC          0        0
> 193.131.248.2      *0:0:f8:30:2:4b    UHLW        0    13785      fxp0   1198
> 193.131.248.24     *0:0:c0:53:22:e4   UHLW        0        1      fxp0    697
> 193.131.248.97     *8:0:3:22:47:ae    UHLW        0        0      fxp0    572
> 193.131.248.173    *0:0:c0:3a:22:e4   UHLW        0      772      fxp0    782
> 193.131.248.179    *0:0:c0:b0:3b:e7   UHLW        0        0      fxp0   1081
> 193.131.248.180    *8:0:3:23:15:e5    UHLW        0        0      fxp0    571
> 193.131.248.183    *0:0:c0:78:22:e4   UHLW        4        0      fxp0    682
> 193.131.248.185    *0:0:c0:6e:22:e4   UHLW        0        0      fxp0   1194
> 193.131.248.186    *0:0:c0:9c:b1:e3   UHLW        2        0      fxp0   1170
> 193.131.248.187    *0:0:c0:5c:10:dc   UHLW        0        0      fxp0   1198
> 193.131.248.254    *0:0:f8:30:98:a8   UHLW        4     6076      fxp0   1184
> 195.40.1                              UGSc        0        0
>                    *193.131.248.183                        0      fxp0
>                     193.131.248.186                        0      fxp0
> 
> Note the subtle changes. The '*' that preceeds some of the Gateway fields
> shows the target of the next packet to hit ip_output() and is destined for
> that network. Note also that each gateway has it's own Use and netif field.
>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?34B28925.2781E494>