Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 214921
b: refs/heads/master
c: d6bf781
h: refs/heads/master
i:
  214919: 0bf9507
v: v3
  • Loading branch information
Eric Dumazet authored and David S. Miller committed Oct 5, 2010
1 parent 264f579 commit d6d7e60
Show file tree
Hide file tree
Showing 7 changed files with 171 additions and 101 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: 110b2499370c401cdcc7c63e481084467291d556
refs/heads/master: d6bf781712a1d25cc8987036b3a48535b331eb91
16 changes: 12 additions & 4 deletions trunk/include/net/neighbour.h
Original file line number Diff line number Diff line change
Expand Up @@ -138,13 +138,22 @@ struct pneigh_entry {
* neighbour table manipulation
*/

struct neigh_hash_table {
struct neighbour **hash_buckets;
unsigned int hash_mask;
__u32 hash_rnd;
struct rcu_head rcu;
};


struct neigh_table {
struct neigh_table *next;
int family;
int entry_size;
int key_len;
__u32 (*hash)(const void *pkey, const struct net_device *);
__u32 (*hash)(const void *pkey,
const struct net_device *dev,
__u32 hash_rnd);
int (*constructor)(struct neighbour *);
int (*pconstructor)(struct pneigh_entry *);
void (*pdestructor)(struct pneigh_entry *);
Expand All @@ -165,9 +174,7 @@ struct neigh_table {
unsigned long last_rand;
struct kmem_cache *kmem_cachep;
struct neigh_statistics __percpu *stats;
struct neighbour **hash_buckets;
unsigned int hash_mask;
__u32 hash_rnd;
struct neigh_hash_table __rcu *nht;
struct pneigh_entry **phash_buckets;
};

Expand Down Expand Up @@ -237,6 +244,7 @@ extern void pneigh_for_each(struct neigh_table *tbl, void (*cb)(struct pneigh_en
struct neigh_seq_state {
struct seq_net_private p;
struct neigh_table *tbl;
struct neigh_hash_table *nht;
void *(*neigh_sub_iter)(struct neigh_seq_state *state,
struct neighbour *n, loff_t *pos);
unsigned int bucket;
Expand Down
4 changes: 2 additions & 2 deletions trunk/net/atm/clip.c
Original file line number Diff line number Diff line change
Expand Up @@ -310,9 +310,9 @@ static int clip_constructor(struct neighbour *neigh)
return 0;
}

static u32 clip_hash(const void *pkey, const struct net_device *dev)
static u32 clip_hash(const void *pkey, const struct net_device *dev, __u32 rnd)
{
return jhash_2words(*(u32 *) pkey, dev->ifindex, clip_tbl.hash_rnd);
return jhash_2words(*(u32 *) pkey, dev->ifindex, rnd);
}

static struct neigh_table clip_tbl = {
Expand Down
Loading

0 comments on commit d6d7e60

Please sign in to comment.