diff options
author | sommerfe <none@none> | 2005-10-18 14:50:42 -0700 |
---|---|---|
committer | sommerfe <none@none> | 2005-10-18 14:50:42 -0700 |
commit | 3c04777e760a0ff56ed78e3cd151f923a271e8df (patch) | |
tree | f0154ec226d81b7a1d6c6a717ca970e9c3379e76 | |
parent | dc36087fa16452a8712ccd300aca994d51793978 (diff) | |
download | illumos-joyent-3c04777e760a0ff56ed78e3cd151f923a271e8df.tar.gz |
6338289 poor sadb hash distribution for IPv6 addresses
-rw-r--r-- | usr/src/uts/common/inet/sadb.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/usr/src/uts/common/inet/sadb.h b/usr/src/uts/common/inet/sadb.h index 167ac4232f..c68cfd46e3 100644 --- a/usr/src/uts/common/inet/sadb.h +++ b/usr/src/uts/common/inet/sadb.h @@ -296,8 +296,8 @@ typedef struct ipsa_s { #define INBOUND_HASH(sadb, spi) ((spi) % ((sadb)->sdb_hashsize)) #define OUTBOUND_HASH_V4(sadb, v4addr) ((v4addr) % ((sadb)->sdb_hashsize)) #define OUTBOUND_HASH_V6(sadb, v6addr) OUTBOUND_HASH_V4((sadb), \ - (*(uint32_t *)&(v6addr)) ^ (*((uint32_t *)&(v6addr)) + 1) ^ \ - (*((uint32_t *)&(v6addr)) + 2) ^ (*((uint32_t *)&(v6addr)) + 3)) + (*(uint32_t *)&(v6addr)) ^ (*(((uint32_t *)&(v6addr)) + 1)) ^ \ + (*(((uint32_t *)&(v6addr)) + 2)) ^ (*(((uint32_t *)&(v6addr)) + 3))) /* * Syntactic sugar to find the appropriate hash bucket directly. |