Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 34607
b: refs/heads/master
c: 2575b65
h: refs/heads/master
i:
  34605: 5dd58a1
  34603: c6fb357
  34599: 9ed8ddb
  34591: 4095a9b
v: v3
  • Loading branch information
David S. Miller committed Sep 22, 2006
1 parent c7f4318 commit acf59ce
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 25 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: a624c108e5595b5827796c253481436929cd5344
refs/heads/master: 2575b65434d56559bd03854450b9b6aaf19b9c90
33 changes: 9 additions & 24 deletions trunk/net/xfrm/xfrm_state.c
Original file line number Diff line number Diff line change
Expand Up @@ -107,35 +107,20 @@ static inline unsigned xfrm_src_hash(xfrm_address_t *addr, unsigned short family
return __xfrm_src_hash(addr, family, xfrm_state_hmask);
}

static inline unsigned int __xfrm4_spi_hash(xfrm_address_t *addr, u32 spi, u8 proto,
unsigned int hmask)
{
unsigned int h;
h = ntohl(addr->a4^spi^proto);
h = (h ^ (h>>10) ^ (h>>20)) & hmask;
return h;
}

static inline unsigned int __xfrm6_spi_hash(xfrm_address_t *addr, u32 spi, u8 proto,
unsigned int hmask)
{
unsigned int h;
h = ntohl(addr->a6[2]^addr->a6[3]^spi^proto);
h = (h ^ (h>>10) ^ (h>>20)) & hmask;
return h;
}

static inline
unsigned __xfrm_spi_hash(xfrm_address_t *addr, u32 spi, u8 proto, unsigned short family,
unsigned int hmask)
static inline unsigned int
__xfrm_spi_hash(xfrm_address_t *addr, u32 spi, u8 proto, unsigned short family,
unsigned int hmask)
{
unsigned int h = spi ^ proto;
switch (family) {
case AF_INET:
return __xfrm4_spi_hash(addr, spi, proto, hmask);
h ^= __xfrm4_addr_hash(addr);
break;
case AF_INET6:
return __xfrm6_spi_hash(addr, spi, proto, hmask);
h ^= __xfrm6_addr_hash(addr);
break;
}
return 0; /*XXX*/
return (h ^ (h >> 10) ^ (h >> 20)) & hmask;
}

static inline unsigned int
Expand Down

0 comments on commit acf59ce

Please sign in to comment.