> More promising is to put pool addresses ranges in a trie. > > addr[7] [... . ...] > / | \ > addr[6] [... . ...] [... . ...] > / | \ / | \ > addr[5] pool:8 [... . ...] > / | \ > addr[4] pool:8 [....] pool:5 > Actually 64-bit should use a hashtable for the upper 32-bit and then the the 32-bit trie for lower.