From owner-freebsd-hackers Wed Apr 22 11:07:49 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id LAA04268 for freebsd-hackers-outgoing; Wed, 22 Apr 1998 11:07:49 -0700 (PDT) (envelope-from owner-freebsd-hackers@FreeBSD.ORG) Received: from vorbis.noc.easynet.net (qmailr@vorbis.noc.easynet.net [195.40.1.254]) by hub.freebsd.org (8.8.8/8.8.8) with SMTP id SAA04253 for ; Wed, 22 Apr 1998 18:07:41 GMT (envelope-from chrisy@vorbis.noc.easynet.net) Received: (qmail 2795 invoked by uid 1943); 22 Apr 1998 18:07:36 -0000 Message-ID: <19980422190736.12821@flix.net> Date: Wed, 22 Apr 1998 19:07:36 +0100 From: Chrisy Luke To: Tom Cc: freebsd-hackers@FreeBSD.ORG Subject: Re: Beta 2 Release of Multipath Routing Code. References: <19980422115807.39446@flix.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Mailer: Mutt 0.88 In-Reply-To: ; from Tom on Wed, Apr 22, 1998 at 10:28:18AM -0700 Organization: The Flirble Internet Exchange X-URL: http://www.flix.net/ X-FTP: ftp://ftp.flirble.org/ Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG 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