My Red Hat Linux 5.1 machine lives on a large network. When it boots, routed takes a while to initialize and get a stable set of routes. Whatever script next follows routed in the initialization sequence fails. In my case, /etc/rc.d/init.d/xntpd is the script executed right after /etc/rc.d/init.d/routed. It fails because no route exists to my time server. If I place a 10 or 20 second delay in the xntpd script before it executes ntpdate, then everything works fine. I should not have to rely on ad hoc delays ... routed script should be smarter ...
On a large and complex network, you should consider using gated instead of routed.
This problem is caused by your router configuration, not Red Hat's initscripts, routed, and/or gated. There is a finite and unpredictable delay in distributing routes that cannot be solved by "a smarter routed script". You should look at configuring a local default route to a nearby router or machine willing to route your packets if at all possible. If you *must* run a router, you should try the following 1) configuring static default route (gated is *much* easier) 2) changing your router configuration to minimize the length of time that it takes to get "plugged in"