summaryrefslogtreecommitdiffstats
path: root/net/tipc/net.c
diff options
context:
space:
mode:
authorAllan Stephens <Allan.Stephens@windriver.com>2010-12-31 19:59:19 +0100
committerDavid S. Miller <davem@davemloft.net>2011-01-01 22:57:49 +0100
commit8f92df6ad49da958d97e171762d0a97a3dc738f1 (patch)
treead848109f978d225b42ea219d7f45f10aa008a2c /net/tipc/net.c
parenttipc: Remove prototype code for supporting inter-cluster routing (diff)
downloadlinux-8f92df6ad49da958d97e171762d0a97a3dc738f1.tar.xz
linux-8f92df6ad49da958d97e171762d0a97a3dc738f1.zip
tipc: Remove prototype code for supporting multiple clusters
Eliminates routines, data structures, and files that were intended to allow TIPC to support a network containing multiple clusters. Currently, TIPC supports only networks consisting of a single cluster within a single zone, so this code is unnecessary. Signed-off-by: Allan Stephens <Allan.Stephens@windriver.com> Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/tipc/net.c')
-rw-r--r--net/tipc/net.c25
1 files changed, 19 insertions, 6 deletions
diff --git a/net/tipc/net.c b/net/tipc/net.c
index 3967f1f6d97f..3baf55ee0985 100644
--- a/net/tipc/net.c
+++ b/net/tipc/net.c
@@ -112,12 +112,23 @@
DEFINE_RWLOCK(tipc_net_lock);
struct network tipc_net;
+static int net_start(void)
+{
+ tipc_net.nodes = kcalloc(tipc_max_nodes + 1,
+ sizeof(*tipc_net.nodes), GFP_ATOMIC);
+ tipc_net.highest_node = 0;
+
+ return tipc_net.nodes ? 0 : -ENOMEM;
+}
+
static void net_stop(void)
{
- u32 c_num;
+ u32 n_num;
- for (c_num = 1; c_num <= tipc_max_clusters; c_num++)
- tipc_cltr_delete(tipc_net.clusters[c_num]);
+ for (n_num = 1; n_num <= tipc_net.highest_node; n_num++)
+ tipc_node_delete(tipc_net.nodes[n_num]);
+ kfree(tipc_net.nodes);
+ tipc_net.nodes = NULL;
}
static void net_route_named_msg(struct sk_buff *buf)
@@ -218,10 +229,12 @@ int tipc_net_start(u32 addr)
tipc_named_reinit();
tipc_port_reinit();
- if ((res = tipc_cltr_init()) ||
- (res = tipc_bclink_init())) {
+ res = net_start();
+ if (res)
+ return res;
+ res = tipc_bclink_init();
+ if (res)
return res;
- }
tipc_k_signal((Handler)tipc_subscr_start, 0);
tipc_k_signal((Handler)tipc_cfg_init, 0);