diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2006-09-27 01:20:01 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2006-09-28 21:01:11 -0400 |
commit | b6e80c6c8b2de8b581e7521af3e118ea379260f1 (patch) | |
tree | b4e71679677889a1f1ee270ca24bf94c760825ad /net | |
parent | 80e856e16a145d7f44f613d9f3d903bf459510ca (diff) |
[IPV4]: trivial fib_hash.c annotations
hash key and stored netmask are net-endian
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net')
-rw-r--r-- | net/ipv4/fib_hash.c | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/net/ipv4/fib_hash.c b/net/ipv4/fib_hash.c index 88133b383dc5..107bb6cbb0b3 100644 --- a/net/ipv4/fib_hash.c +++ b/net/ipv4/fib_hash.c | |||
@@ -51,7 +51,7 @@ static kmem_cache_t *fn_alias_kmem __read_mostly; | |||
51 | struct fib_node { | 51 | struct fib_node { |
52 | struct hlist_node fn_hash; | 52 | struct hlist_node fn_hash; |
53 | struct list_head fn_alias; | 53 | struct list_head fn_alias; |
54 | u32 fn_key; | 54 | __be32 fn_key; |
55 | }; | 55 | }; |
56 | 56 | ||
57 | struct fn_zone { | 57 | struct fn_zone { |
@@ -64,7 +64,7 @@ struct fn_zone { | |||
64 | #define FZ_HASHMASK(fz) ((fz)->fz_hashmask) | 64 | #define FZ_HASHMASK(fz) ((fz)->fz_hashmask) |
65 | 65 | ||
66 | int fz_order; /* Zone order */ | 66 | int fz_order; /* Zone order */ |
67 | u32 fz_mask; | 67 | __be32 fz_mask; |
68 | #define FZ_MASK(fz) ((fz)->fz_mask) | 68 | #define FZ_MASK(fz) ((fz)->fz_mask) |
69 | }; | 69 | }; |
70 | 70 | ||
@@ -77,7 +77,7 @@ struct fn_hash { | |||
77 | struct fn_zone *fn_zone_list; | 77 | struct fn_zone *fn_zone_list; |
78 | }; | 78 | }; |
79 | 79 | ||
80 | static inline u32 fn_hash(u32 key, struct fn_zone *fz) | 80 | static inline u32 fn_hash(__be32 key, struct fn_zone *fz) |
81 | { | 81 | { |
82 | u32 h = ntohl(key)>>(32 - fz->fz_order); | 82 | u32 h = ntohl(key)>>(32 - fz->fz_order); |
83 | h ^= (h>>20); | 83 | h ^= (h>>20); |
@@ -87,7 +87,7 @@ static inline u32 fn_hash(u32 key, struct fn_zone *fz) | |||
87 | return h; | 87 | return h; |
88 | } | 88 | } |
89 | 89 | ||
90 | static inline u32 fz_key(u32 dst, struct fn_zone *fz) | 90 | static inline __be32 fz_key(__be32 dst, struct fn_zone *fz) |
91 | { | 91 | { |
92 | return dst & FZ_MASK(fz); | 92 | return dst & FZ_MASK(fz); |
93 | } | 93 | } |
@@ -254,7 +254,7 @@ fn_hash_lookup(struct fib_table *tb, const struct flowi *flp, struct fib_result | |||
254 | struct hlist_head *head; | 254 | struct hlist_head *head; |
255 | struct hlist_node *node; | 255 | struct hlist_node *node; |
256 | struct fib_node *f; | 256 | struct fib_node *f; |
257 | u32 k = fz_key(flp->fl4_dst, fz); | 257 | __be32 k = fz_key(flp->fl4_dst, fz); |
258 | 258 | ||
259 | head = &fz->fz_hash[fn_hash(k, fz)]; | 259 | head = &fz->fz_hash[fn_hash(k, fz)]; |
260 | hlist_for_each_entry(f, node, head, fn_hash) { | 260 | hlist_for_each_entry(f, node, head, fn_hash) { |
@@ -365,7 +365,7 @@ static inline void fib_insert_node(struct fn_zone *fz, struct fib_node *f) | |||
365 | } | 365 | } |
366 | 366 | ||
367 | /* Return the node in FZ matching KEY. */ | 367 | /* Return the node in FZ matching KEY. */ |
368 | static struct fib_node *fib_find_node(struct fn_zone *fz, u32 key) | 368 | static struct fib_node *fib_find_node(struct fn_zone *fz, __be32 key) |
369 | { | 369 | { |
370 | struct hlist_head *head = &fz->fz_hash[fn_hash(key, fz)]; | 370 | struct hlist_head *head = &fz->fz_hash[fn_hash(key, fz)]; |
371 | struct hlist_node *node; | 371 | struct hlist_node *node; |
@@ -387,7 +387,7 @@ static int fn_hash_insert(struct fib_table *tb, struct fib_config *cfg) | |||
387 | struct fn_zone *fz; | 387 | struct fn_zone *fz; |
388 | struct fib_info *fi; | 388 | struct fib_info *fi; |
389 | u8 tos = cfg->fc_tos; | 389 | u8 tos = cfg->fc_tos; |
390 | u32 key; | 390 | __be32 key; |
391 | int err; | 391 | int err; |
392 | 392 | ||
393 | if (cfg->fc_dst_len > 32) | 393 | if (cfg->fc_dst_len > 32) |
@@ -541,7 +541,7 @@ static int fn_hash_delete(struct fib_table *tb, struct fib_config *cfg) | |||
541 | struct fib_node *f; | 541 | struct fib_node *f; |
542 | struct fib_alias *fa, *fa_to_delete; | 542 | struct fib_alias *fa, *fa_to_delete; |
543 | struct fn_zone *fz; | 543 | struct fn_zone *fz; |
544 | u32 key; | 544 | __be32 key; |
545 | 545 | ||
546 | if (cfg->fc_dst_len > 32) | 546 | if (cfg->fc_dst_len > 32) |
547 | return -EINVAL; | 547 | return -EINVAL; |
@@ -966,7 +966,7 @@ static void fib_seq_stop(struct seq_file *seq, void *v) | |||
966 | read_unlock(&fib_hash_lock); | 966 | read_unlock(&fib_hash_lock); |
967 | } | 967 | } |
968 | 968 | ||
969 | static unsigned fib_flag_trans(int type, u32 mask, struct fib_info *fi) | 969 | static unsigned fib_flag_trans(int type, __be32 mask, struct fib_info *fi) |
970 | { | 970 | { |
971 | static const unsigned type2flags[RTN_MAX + 1] = { | 971 | static const unsigned type2flags[RTN_MAX + 1] = { |
972 | [7] = RTF_REJECT, [8] = RTF_REJECT, | 972 | [7] = RTF_REJECT, [8] = RTF_REJECT, |
@@ -975,7 +975,7 @@ static unsigned fib_flag_trans(int type, u32 mask, struct fib_info *fi) | |||
975 | 975 | ||
976 | if (fi && fi->fib_nh->nh_gw) | 976 | if (fi && fi->fib_nh->nh_gw) |
977 | flags |= RTF_GATEWAY; | 977 | flags |= RTF_GATEWAY; |
978 | if (mask == 0xFFFFFFFF) | 978 | if (mask == htonl(0xFFFFFFFF)) |
979 | flags |= RTF_HOST; | 979 | flags |= RTF_HOST; |
980 | flags |= RTF_UP; | 980 | flags |= RTF_UP; |
981 | return flags; | 981 | return flags; |
@@ -991,7 +991,7 @@ static int fib_seq_show(struct seq_file *seq, void *v) | |||
991 | { | 991 | { |
992 | struct fib_iter_state *iter; | 992 | struct fib_iter_state *iter; |
993 | char bf[128]; | 993 | char bf[128]; |
994 | u32 prefix, mask; | 994 | __be32 prefix, mask; |
995 | unsigned flags; | 995 | unsigned flags; |
996 | struct fib_node *f; | 996 | struct fib_node *f; |
997 | struct fib_alias *fa; | 997 | struct fib_alias *fa; |