I wrote a simple patches for userland and kernel parts of u32 classifier: iproute/tc/f_u32.c linux/net/sched/cls_u32.c Now I can use filter table with 16384 entries. It's enough for O(1) operation, but still not enough for using last two octets of IP address as a hash key. Divisors 32768 and 65536 are not allowed due to insufficient kernel buffer memory. Command # tc filter add dev eth1 parent 1:0 prio 5 handle 2: protocol ip \ u32 divisor 65536 gives "RTNETLINK answers: No buffer space available" instead of "Invalid divisor". The question is "How to increase the size of the kernel buffer space?". - To unsubscribe from this list: send the line "unsubscribe linux-net" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html