[IPV4]: Fix the fib trie iterator to work with a single entry routing tables
authorEric W. Biederman <ebiederm@xmission.com>
Wed, 24 Jan 2007 22:42:04 +0000 (14:42 -0800)
committerDavid S. Miller <davem@davemloft.net>
Wed, 24 Jan 2007 22:42:04 +0000 (14:42 -0800)
commit6640e69731b42fd5e3d2b26201c8b34fc897a0ee
tree903302427bccceaea7bfd3b90b4d0a05c7f5638b
parenta21b0696261c2865d329afa4156ce15fcdf5e772
[IPV4]: Fix the fib trie iterator to work with a single entry routing tables

In a kernel with trie routing enabled I had a simple routing setup
with only a single route to the outside world and no default
route. "ip route table list main" showed my the route just fine but
/proc/net/route was an empty file.  What was going on?

Thinking it was a bug in something I did and I looked deeper.  Eventually
I setup a second route and everything looked correct, huh?  Finally I
realized that the it was just the iterator pair in fib_trie_get_first,
fib_trie_get_next just could not handle a routing table with a single entry.

So to save myself and others further confusion, here is a simple fix for
the fib proc iterator so it works even when there is only a single route
in a routing table.

Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
Signed-off-by: Robert Olsson <robert.olsson@its.uu.se>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/fib_trie.c