Re: route add default fails with ESRCH?

From: Arun Sharma
Date: Wed Feb 22 2012 - 20:26:54 EST


On 2/22/12 3:56 PM, David Miller wrote:

It breaks because that script sequence quoted above depends upon the
order in which the routes are listed. Since fib_hash and fib_trie use
different datastructures, the order in which route entries are dumped
will not be the same and this is completely unavoidable.

Here's a minimal repro case:

# ip route flush default
# route add default gw 192.168.143.2
SIOCADDRT: No such process

This fails for me on both 2.6.38 and 3.2.

I think the dependency we have is the actual format of the default route entry:

fib_hash:

# ip route
<bunch of routes>
throw default

fib_trie:

# ip route
default via 192.168.143.2 dev eth0 proto static
<bunch of routes>

when the output was piped to awk '{ print $1 }' we ended up deleting the default route for fib_trie case, but not the fib_hash case.

I'll just fix up our scripts. Thanks for looking into it.

-Arun

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/