Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 22 Apr 1998 19:07:36 +0100
From:      Chrisy Luke <chrisy@flix.net>
To:        Tom <tom@sdf.com>
Cc:        freebsd-hackers@FreeBSD.ORG
Subject:   Re: Beta 2 Release of Multipath Routing Code.
Message-ID:  <19980422190736.12821@flix.net>
In-Reply-To: <Pine.BSF.3.95q.980422102328.2097A-100000@misery.sdf.com>; from Tom on Wed, Apr 22, 1998 at 10:28:18AM -0700
References:  <19980422115807.39446@flix.net> <Pine.BSF.3.95q.980422102328.2097A-100000@misery.sdf.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Tom wrote (on Apr 22):
>   How sensible?  I'm more concerned about correct fail-over to a working
> default route if one of them dies.  Currently, I'm not sure what gated
> does if it finds that two routers are advertising a default route as the
> current code supports one default route at a time. 

With a uni-path kernel it installs the one with the lowest valued gateway
address, all other things being equal. ie, 195.40.1.1 is lower than
195.40.1.2. This is one of my prime intentions for the code, with
loadbalancing when both routes are visible as a perk. This makes is
much much more worthwhile deploying routerdiscovery around my network,
for instance.

One machine fails (and if gated noticed in time, it will
poison it's routediscovery announcements) and all the clients revert
to whatever routes it still sees. This already works - gated installs
a new default route. What I want is for, when the network is stable,
to balance traffic across the available gateways. We might as well,
the kit might as well do something useful since I've paid for it.

Similarly, where I have two routers takling to a NAP, I will be able
to the same thing across them by importing all the BGP routes learnt
there into multipath capable routers on the next hops. What you do
have to be careful of, of course, is not having routers pointing
half of a route back to a router that, while of equal preference,
could send it back.

I've got gated installing the routes, but right now it's not playing
ball with removing them. I've had to reverse out of an idea where
you could remove specific gateways for a destination - gated's code
proved unworkable for it. It's either remove the lot and replace or
fix the forever-broken RTM_CHANGE code... You'll see some of my old
RTM_DELETE code in the patch. It's ifdef'ed out.

> Now with that your
> code supports multiple indentical routes, would gated automatically remove
> the ones that stop being advertised?

That's the idea.

>   Also, how about multiple interfaces to the same network?  For example,
> let say I have fxp0 and fxp1 connected to the same LAN (10.0.0.0/24) and
> fxp0 is 10.0.0.2 and fxp1 is 10.0.0.3.  The existing kernel code can't
> easily handle this because there are two identical routes to the
> 10.0.0.0/24 network.

My code only deals with routes to networks, not interface routes.
It specificly tries not to deal with link-level stuff, but it should
be possible to add multiple routes to MAC addresses, where each one
is on a specific interface. It'd be a matter of removing any safeguards
to that effect and adding functionality to the routing socket to
pass multiple interfaces. At the moment my changes are limited to
multiple gateways.

The other thing I'll add in due course is weighting specific gateways
(or of course interfaces as and when), so that you could install
two routes to destination "a", where the first one has a value of 10
and the second 1. In this case, it sends 10 packets to "a" via the
first route before sending 1 via the second.

Cheers,
Chris.
-- 
== chris@easynet.net, chrisy@flix.net, chrisy@flirble.org.
== Head of Systems for Easynet Group PLC.

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message



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