[NETFILTER]: Move ip6_masked_addrcmp to include/net/ipv6.h
Replace netfilter's ip6_masked_addrcmp by a more efficient version in include/net/ipv6.h to make it usable without module dependencies. Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
c498673474
commit
f2ffd9eeda
3 changed files with 18 additions and 19 deletions
|
|
@ -282,6 +282,18 @@ static inline int ipv6_addr_cmp(const struct in6_addr *a1, const struct in6_addr
|
|||
return memcmp((const void *) a1, (const void *) a2, sizeof(struct in6_addr));
|
||||
}
|
||||
|
||||
static inline int
|
||||
ipv6_masked_addr_cmp(const struct in6_addr *a1, const struct in6_addr *m,
|
||||
const struct in6_addr *a2)
|
||||
{
|
||||
unsigned int i;
|
||||
|
||||
for (i = 0; i < 4; i++)
|
||||
if ((a1->s6_addr32[i] ^ a2->s6_addr32[i]) & m->s6_addr32[i])
|
||||
return 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline void ipv6_addr_copy(struct in6_addr *a1, const struct in6_addr *a2)
|
||||
{
|
||||
memcpy((void *) a1, (const void *) a2, sizeof(struct in6_addr));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue