|
@@ -164,12 +164,6 @@ static __inline__ void rt6_release(struct rt6_info *rt)
|
|
|
dst_free(&rt->u.dst);
|
|
|
}
|
|
|
|
|
|
-#ifdef CONFIG_IPV6_MULTIPLE_TABLES
|
|
|
-#define FIB_TABLE_HASHSZ 256
|
|
|
-#else
|
|
|
-#define FIB_TABLE_HASHSZ 1
|
|
|
-#endif
|
|
|
-
|
|
|
static void fib6_link_table(struct net *net, struct fib6_table *tb)
|
|
|
{
|
|
|
unsigned int h;
|
|
@@ -180,7 +174,7 @@ static void fib6_link_table(struct net *net, struct fib6_table *tb)
|
|
|
*/
|
|
|
rwlock_init(&tb->tb6_lock);
|
|
|
|
|
|
- h = tb->tb6_id & (FIB_TABLE_HASHSZ - 1);
|
|
|
+ h = tb->tb6_id & (FIB6_TABLE_HASHSZ - 1);
|
|
|
|
|
|
/*
|
|
|
* No protection necessary, this is the only list mutatation
|
|
@@ -231,7 +225,7 @@ struct fib6_table *fib6_get_table(struct net *net, u32 id)
|
|
|
|
|
|
if (id == 0)
|
|
|
id = RT6_TABLE_MAIN;
|
|
|
- h = id & (FIB_TABLE_HASHSZ - 1);
|
|
|
+ h = id & (FIB6_TABLE_HASHSZ - 1);
|
|
|
rcu_read_lock();
|
|
|
head = &net->ipv6.fib_table_hash[h];
|
|
|
hlist_for_each_entry_rcu(tb, node, head, tb6_hlist) {
|
|
@@ -382,7 +376,7 @@ static int inet6_dump_fib(struct sk_buff *skb, struct netlink_callback *cb)
|
|
|
arg.net = net;
|
|
|
w->args = &arg;
|
|
|
|
|
|
- for (h = s_h; h < FIB_TABLE_HASHSZ; h++, s_e = 0) {
|
|
|
+ for (h = s_h; h < FIB6_TABLE_HASHSZ; h++, s_e = 0) {
|
|
|
e = 0;
|
|
|
head = &net->ipv6.fib_table_hash[h];
|
|
|
hlist_for_each_entry(tb, node, head, tb6_hlist) {
|
|
@@ -1368,7 +1362,7 @@ void fib6_clean_all(struct net *net, int (*func)(struct rt6_info *, void *arg),
|
|
|
unsigned int h;
|
|
|
|
|
|
rcu_read_lock();
|
|
|
- for (h = 0; h < FIB_TABLE_HASHSZ; h++) {
|
|
|
+ for (h = 0; h < FIB6_TABLE_HASHSZ; h++) {
|
|
|
head = &net->ipv6.fib_table_hash[h];
|
|
|
hlist_for_each_entry_rcu(table, node, head, tb6_hlist) {
|
|
|
write_lock_bh(&table->tb6_lock);
|
|
@@ -1483,7 +1477,7 @@ static int fib6_net_init(struct net *net)
|
|
|
if (!net->ipv6.rt6_stats)
|
|
|
goto out_timer;
|
|
|
|
|
|
- net->ipv6.fib_table_hash = kcalloc(FIB_TABLE_HASHSZ,
|
|
|
+ net->ipv6.fib_table_hash = kcalloc(FIB6_TABLE_HASHSZ,
|
|
|
sizeof(*net->ipv6.fib_table_hash),
|
|
|
GFP_KERNEL);
|
|
|
if (!net->ipv6.fib_table_hash)
|