On Wed, 2005-05-11 at 14:38 -0500, Bill Reid wrote:
Sean A. Walberg wrote:
That said, Bill brought up the idea of ARP tables. This has two problems:
1 - If the link is idle for a while, the arp cache will clear, and be seen as a failure 2 - There are lots of layer 2 networks that don't use ARP. The ethernet code is separate from the ipv4 code.
In addition, this is a common problems on hardware routers. Even a box that's specifically designed to be a router can't do it without resorting to ICMP tests and policy routing.
Good comments Sean. I agree with your comments and it agrees with what I saw when I was doing testing of default route failover a few years back. The only way I could get it to work efectively was for a program ping the gateways to see if they are up and change the default routes when it noticed a failure.
On the otherhand when the NIC dies (layer 1 ?) layer 3 finds out about it but routing does need to be aware of the interface. I think it tries to send packets to a host out the same interface that it received packets from the host.
So bottom line is, altering gc_timeout would only be effective if the cable modem itself died or the cable was pulled. Since that type of failure happens only rarely compared to other networking problems this technique will have minimal impact.
Ultimately you end up resorting to a monitoring program/script of some kind.
So I wonder how the linksys and sonicwall devices do their failover?