A method of searching a database for a prefix representing a destination
address including loading two trees of tables, each tree of tables having
a large table at a root branching to small tables and traversing the two
tables of trees in parallel to find a match of an entry to the prefix. An
entry includes a router pointer representing the destination address and
a pointer to a next small table. The small tables include prefix match
fields for indexed table entries, a population count of pointers and
hidden prefix entries that hold shorter prefix route entry pointers.