Patent ID: 8018944

Claim:
A packet processor, comprising: a forwarding table configured to store address prefixes; and a search engine configured to receive a packet and to search the forwarding table, the search engine including: a set bit counter configured to receive an address of the packet, to count set bits of a first bit vector associated with the packet, and to output a number of the set bits; and a next hop table configured to store a next hop pointer and a next bucket pointer, and to receive the number of set bits, wherein the search engine is configured to select between the next hop pointer and the next bucket pointer based on the number of set bits, and wherein selecting between the next hop pointer and the next bucket pointer includes i) selecting the next hop pointer if the number of the set bits is a first value and ii) selecting the next bucket pointer if the number of the set bits is a second value that is different from the first value.