diff options
Diffstat (limited to 'net/ipv6/ndisc.c')
-rw-r--r-- | net/ipv6/ndisc.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/net/ipv6/ndisc.c b/net/ipv6/ndisc.c index b3dd844cd34f..998d6d27e7cf 100644 --- a/net/ipv6/ndisc.c +++ b/net/ipv6/ndisc.c | |||
@@ -91,7 +91,9 @@ | |||
91 | #include <linux/netfilter.h> | 91 | #include <linux/netfilter.h> |
92 | #include <linux/netfilter_ipv6.h> | 92 | #include <linux/netfilter_ipv6.h> |
93 | 93 | ||
94 | static u32 ndisc_hash(const void *pkey, const struct net_device *dev); | 94 | static u32 ndisc_hash(const void *pkey, |
95 | const struct net_device *dev, | ||
96 | __u32 rnd); | ||
95 | static int ndisc_constructor(struct neighbour *neigh); | 97 | static int ndisc_constructor(struct neighbour *neigh); |
96 | static void ndisc_solicit(struct neighbour *neigh, struct sk_buff *skb); | 98 | static void ndisc_solicit(struct neighbour *neigh, struct sk_buff *skb); |
97 | static void ndisc_error_report(struct neighbour *neigh, struct sk_buff *skb); | 99 | static void ndisc_error_report(struct neighbour *neigh, struct sk_buff *skb); |
@@ -350,7 +352,9 @@ int ndisc_mc_map(struct in6_addr *addr, char *buf, struct net_device *dev, int d | |||
350 | 352 | ||
351 | EXPORT_SYMBOL(ndisc_mc_map); | 353 | EXPORT_SYMBOL(ndisc_mc_map); |
352 | 354 | ||
353 | static u32 ndisc_hash(const void *pkey, const struct net_device *dev) | 355 | static u32 ndisc_hash(const void *pkey, |
356 | const struct net_device *dev, | ||
357 | __u32 hash_rnd) | ||
354 | { | 358 | { |
355 | const u32 *p32 = pkey; | 359 | const u32 *p32 = pkey; |
356 | u32 addr_hash, i; | 360 | u32 addr_hash, i; |
@@ -359,7 +363,7 @@ static u32 ndisc_hash(const void *pkey, const struct net_device *dev) | |||
359 | for (i = 0; i < (sizeof(struct in6_addr) / sizeof(u32)); i++) | 363 | for (i = 0; i < (sizeof(struct in6_addr) / sizeof(u32)); i++) |
360 | addr_hash ^= *p32++; | 364 | addr_hash ^= *p32++; |
361 | 365 | ||
362 | return jhash_2words(addr_hash, dev->ifindex, nd_tbl.hash_rnd); | 366 | return jhash_2words(addr_hash, dev->ifindex, hash_rnd); |
363 | } | 367 | } |
364 | 368 | ||
365 | static int ndisc_constructor(struct neighbour *neigh) | 369 | static int ndisc_constructor(struct neighbour *neigh) |