Why does `route` hang for a while before the route table being dumped?

Typing the command:

% route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     *               255.255.255.0   U     2      0        0 wlan0
link-local      *               255.255.0.0     U     1000   0        0 wlan0
(... hang for a while ...)
default         192.168.1.1     0.0.0.0         UG    0      0        0 wlan0

Here, before the last line default rule be printed, route just hang for while.

Isn't the route table cached somewhere?

I used to grep the result from route to get the default rule, to get the default gateway. Now, route seems hang for a while in some machines.


Solution 1:

It's trying to do a reverse DNS lookup on the gateway address, and waiting for timeout. Try running with the -n option to suppress that.

Solution 2:

You may have some DNS related problems. Try the following to check it out:

$ cat /etc/resolv.conf
nameserver <IP_1>
nameserver <IP_2>
search <DOMAIN>

host www.google.com <IP_1>

host www.google.com <IP_2>

If everything is working fine, you shouldn't get any delays while executing 'route' command

Regards