Subject: Multiple routes
To: None <>
From: Ola Eriksson <>
List: tech-net
Date: 11/15/1999 01:24:05

I'v been in a few discussions about a Metropolitan network that we are
building here in a city in Sweden, using radio communications. And one of
the discussuins have been about wheter to use dynamic routes with a
routing deamon, or to use static routes.  And the person who I was
discussing with thought that it was overkill to use dynamic routing, and
that it would be much better to use static routing and define several
default routes instead. And this got me quite confused since I'm an
BSD-kind-of-man, and a few times have been in abit to much of a rush and
managed to try to add a default route when there allready was one, and
this have made me quite aware of that this isn't really allowed to add
more than one of these. As the conversation went on I got abit unsure so I
decided to check just to be sure, so I asked someone who usually have good
answeres to my questions. And he said that I had understood things right.
Anyway I decided to check things out for myselfe aswell, just to be
reallyreally sure. And everything was nice and fine with both NetBSD and
FreeBSD, but when I got to a Linux box, my world was abit turned upside
down because this box just swallowed the extra 0/0 route and happily went
on communicating with the world. So I did some more experiments trying to
use two valid hosts as default route, and remove one, and the traffic
nicly and quietly decided to use the other gateway instead, and everything
worked fine.

How can this be? From what I'v read in documentations, howtos and FAQ's,
this is a behavior that should only be availible when using some kind of
routingdeamon etc. Is this a feature that Linux got, that the BSD system
misses ? Or is it just a function that does not complai with the routing
specifications ? (As I have understood things, this isn't the correct way
for a router do behave, am I wrong ?)

Could someone please shatter some light in my clouded routing environment?
What behavior is correct ? Why does Linux do this and not BSD ?
Some information and explination, and might some URL's with some good
information would be VERY appriciated!

Thanks in advance.

Kind Regards
   Ola Eriksson - Uddevalla, Sweden