Re: Default gateways, dead gateway detection

Jim Dennis (jimd@starshine.org)
24 Mar 1998 08:55:35 -0800


What ever happened to this?

Chel van Gennip <linux@vangennip.nl> writes:
> Tests show Linux TCP/IP does not conform the host requirements:
>
> RFC 1122:Requirements for Internet Hosts -- Communication Layers
> When there is no route cache entry for the destination host
> address (and the destination is not on the connected
> network), the IP layer MUST pick a gateway from its list of
> "default" gateways. The IP layer MUST support multiple
> default gateways.
>
> When I check the code (route.h and route.c) I see there are
> some performance problems if we want to confirm to this
> requirement. The current code is fast, even with al large
> number of routing table entry's, but there is no detection for
> dead gateway's or even dead default gateway's.
>
> If we look at a routing table:
> Destination Gateway Genmask Flags Metric Ref Use Iface
> 192.1.1.0 0.0.0.0 255.255.255.0 U 0 0 37 eth0
> 127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 13 lo
> 0.0.0.0 192.1.1.253 0.0.0.0 UG 0 0 0 eth0
> 0.0.0.0 192.1.1.254 0.0.0.0 UG 0 0 0 eth0
>
> Linux will never use 192.1.1.254, even if 192.1.1.253 is dead.
>
> Wat could be done is to reorder routing table entry's with the exact same
> destination whenever a gateway is dead (or at least verry quiet).
> This can be done outside of the normal "fast" path so performance effects
> are minimal. I think the resulting effect is enough. In this example if
> there are no responses from 192.1.1.253, the table is re-aranged to:
>
> Destination Gateway Genmask Flags Metric Ref Use Iface
> 192.1.1.0 0.0.0.0 255.255.255.0 U 0 0 37 eth0
> 127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 13 lo
> 0.0.0.0 192.1.1.254 0.0.0.0 UG 0 0 0 eth0
> 0.0.0.0 192.1.1.253 0.0.0.0 UG 0 0 0 eth0
> and connections will use gw 192.1.1.254 instead of 192.1.1.253.
> Chel

Was it ever fixed in 2.0.xx? Is it fixed (or obviated)
in 2.1.x?

-- 
Jim Dennis  (800) 938-4078		consulting@starshine.org
Proprietor, Starshine Technical Services:  http://www.starshine.org
        PGP  1024/2ABF03B1 Jim Dennis <jim@starshine.org>
        Key fingerprint =  2524E3FEF0922A84  A27BDEDB38EBB95A 

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu