toeplitz: Hash function renaming
authorSepherosa Ziehau <sephe@dragonflybsd.org>
Sat, 21 Mar 2009 04:19:27 +0000 (12:19 +0800)
committerSepherosa Ziehau <sephe@dragonflybsd.org>
Sat, 21 Mar 2009 04:19:27 +0000 (12:19 +0800)
toeplitz_hash     -> toeplitz_rawhash_addr
toeplitz_hash_tcp -> toeplitz_rawhash_addrport

Add toeplitz_hash() which mask the raw Toeplitz hash value with
ncpus2_mask.  This function will be used by device drivers too.

sys/net/toeplitz.c
sys/net/toeplitz2.h
sys/netinet/ip_demux.c

index de34f0f..7f3e691 100644 (file)
@@ -161,8 +161,8 @@ toeplitz_verify(void)
        lport = 0xe606;
 
        kprintf("toeplitz: verify addr/port 0x%08x, addr 0x%08x\n",
-               toeplitz_hash_tcp(faddr, laddr, fport, lport),
-               toeplitz_hash(faddr, laddr));
+               toeplitz_rawhash_addrport(faddr, laddr, fport, lport),
+               toeplitz_rawhash_addr(faddr, laddr));
 }
 
 #endif /* RSS_DEBUG */
index db8fe76..3f53c1f 100644 (file)
 #error "kernel only header file"
 #endif
 
+#ifndef _SYS_SYSTM_H_
+#include <sys/systm.h>
+#endif
+
 #define TOEPLITZ_KEYSEED_CNT   2
 
 extern uint32_t        toeplitz_cache[TOEPLITZ_KEYSEED_CNT][256];
 
 static __inline uint32_t
-toeplitz_hash_tcp(in_addr_t _faddr, in_addr_t _laddr,
-                 in_port_t _fport, in_port_t _lport)
+toeplitz_rawhash_addrport(in_addr_t _faddr, in_addr_t _laddr,
+                         in_port_t _fport, in_port_t _lport)
 {
        uint32_t _res;
 
@@ -67,7 +71,7 @@ toeplitz_hash_tcp(in_addr_t _faddr, in_addr_t _laddr,
 }
 
 static __inline uint32_t
-toeplitz_hash(in_addr_t _faddr, in_addr_t _laddr)
+toeplitz_rawhash_addr(in_addr_t _faddr, in_addr_t _laddr)
 {
        uint32_t _res;
 
@@ -84,4 +88,10 @@ toeplitz_hash(in_addr_t _faddr, in_addr_t _laddr)
        return _res;
 }
 
+static __inline int
+toeplitz_hash(uint32_t _rawhash)
+{
+       return (_rawhash & ncpus2_mask);
+}
+
 #endif /* !_NET_TOEPLITZ2_H_ */
index 33f9ab9..e7908cd 100644 (file)
@@ -97,7 +97,7 @@ INP_MPORT_HASH_UDP(in_addr_t faddr, in_addr_t laddr,
 #ifndef RSS
        return INP_MPORT_HASH(faddr, laddr, fport, lport);
 #else
-       return (toeplitz_hash(faddr, laddr) & ncpus2_mask);
+       return toeplitz_hash(toeplitz_rawhash_addr(faddr, laddr));
 #endif
 }
 
@@ -108,7 +108,8 @@ INP_MPORT_HASH_TCP(in_addr_t faddr, in_addr_t laddr,
 #ifndef RSS
        return INP_MPORT_HASH(faddr, laddr, fport, lport);
 #else
-       return (toeplitz_hash_tcp(faddr, laddr, fport, lport) & ncpus2_mask);
+       return toeplitz_hash(
+              toeplitz_rawhash_addrport(faddr, laddr, fport, lport));
 #endif
 }