Index: connlimit/linux-2.6.11/net/ipv4/netfilter/ipt_connlimit.c =================================================================== --- connlimit/linux-2.6.11/net/ipv4/netfilter/ipt_connlimit.c (revision 3884) +++ connlimit/linux-2.6.11/net/ipv4/netfilter/ipt_connlimit.c (working copy) @@ -35,15 +35,13 @@ struct list_head iphash[256]; }; -static int ipt_iphash(u_int32_t addr) +static inline unsigned __attribute__((regparm(1), const)) +ipt_iphash(const unsigned addr) { - int hash; - - hash = addr & 0xff; - hash ^= (addr >> 8) & 0xff; - hash ^= (addr >> 16) & 0xff; - hash ^= (addr >> 24) & 0xff; - return hash; + return ((addr ^ + (addr >> 8) ^ + (addr >> 16) ^ + (addr >> 24)) & 0xff); } static int count_them(struct ipt_connlimit_data *data,