On Thu, 2007-01-11 at 21:55 -0800, Rajesh Narayanan wrote:
[...]
> But here is the conclusion I have come to (maybe because of my own
> limited knowledge). I dont think any other hack other than removing
> the default route is going to work, since that is at the core of the
> issue. The default route takes precedence so one will have to delete
> the default route. 

ACK.

> But since its been deleted, it needs to be added back so as to check
> if its

Sorry;-), but you get now another attempt from a hopefully somewhta
diferent direction:

You we really need is: You want the `ping` to succeed if the uplink is
back after a fail.

How can we accomplish this?

Assume we take your hack: We add the default route and remove it if the
uplink is not up again.

But for the pure check is not necessary to add a default route because a
default route is just an ordinary route (actually 0.0.0.0/0) which just
happens to match all IPv4 addresses.

And we don't need to route *all* IP traffic through the uplink but only
the test pings.

These pings go to fixed IP addresses (which you must configure - you
want to test an IP address as near as possible and sufficiently far
enough network-wise to identify exactly the uplink - and not some e.g.
rebooting server on the other end of the world).

Therefore it is enough if we route just these fixed IP addresses
correctly.
So we can (conceptually) "simplify" the "add and remove the default
route" hack to "add and remove a few host routes".

But now there is another fact (which was also before not that clear to
me): These fixed IP addresses (for the uplink ping check) are special
for the whole mesh network because we use it for testing external
connectivity. So you can not use it for anything else (e.g. as an
external DNS-server) in your network since the only way to detect a
broken uplink is: "You ping to that IP address and it fails.".

So if we add and remove now routes for these IP addresses and we
*cannot* use them for anything else (seriously), we can leave the static
routes as well in place (and we actually want them to be *always* used
as highest priority and not - sorry, thinko in my brain - as low
priority).

>  working after some time and test the ping via the default route. If
> it works, then great; if not, then it needs to be deleted again.
> 
> Its a nasty hack, but thats the nature of routing unless and until we
> do something else. I'm running out of ideas quite fast though and I
> need to prototype this asap :-(  .

Prototyping is always good;-)

[ Fullquote deleted ]

	Bernd
-- 
Firmix Software GmbH                   http://www.firmix.at/
mobil: +43 664 4416156                 fax: +43 1 7890849-55
          Embedded Linux Development and Services



