diff options
Diffstat (limited to 'net/tipc')
-rw-r--r-- | net/tipc/Kconfig | 12 | ||||
-rw-r--r-- | net/tipc/addr.c | 11 | ||||
-rw-r--r-- | net/tipc/config.c | 29 | ||||
-rw-r--r-- | net/tipc/core.c | 6 | ||||
-rw-r--r-- | net/tipc/core.h | 1 | ||||
-rw-r--r-- | net/tipc/net.c | 3 |
6 files changed, 7 insertions, 55 deletions
diff --git a/net/tipc/Kconfig b/net/tipc/Kconfig index 0436927369f3..2c5954b85933 100644 --- a/net/tipc/Kconfig +++ b/net/tipc/Kconfig | |||
@@ -29,18 +29,6 @@ config TIPC_ADVANCED | |||
29 | Saying Y here will open some advanced configuration for TIPC. | 29 | Saying Y here will open some advanced configuration for TIPC. |
30 | Most users do not need to bother; if unsure, just say N. | 30 | Most users do not need to bother; if unsure, just say N. |
31 | 31 | ||
32 | config TIPC_NODES | ||
33 | int "Maximum number of nodes in a cluster" | ||
34 | depends on TIPC_ADVANCED | ||
35 | range 8 2047 | ||
36 | default "255" | ||
37 | help | ||
38 | Specifies how many nodes can be supported in a TIPC cluster. | ||
39 | Can range from 8 to 2047 nodes; default is 255. | ||
40 | |||
41 | Setting this to a smaller value saves some memory; | ||
42 | setting it to higher allows for more nodes. | ||
43 | |||
44 | config TIPC_PORTS | 32 | config TIPC_PORTS |
45 | int "Maximum number of ports in a node" | 33 | int "Maximum number of ports in a node" |
46 | depends on TIPC_ADVANCED | 34 | depends on TIPC_ADVANCED |
diff --git a/net/tipc/addr.c b/net/tipc/addr.c index 087e399518c1..a6fdab33877e 100644 --- a/net/tipc/addr.c +++ b/net/tipc/addr.c | |||
@@ -2,7 +2,7 @@ | |||
2 | * net/tipc/addr.c: TIPC address utility routines | 2 | * net/tipc/addr.c: TIPC address utility routines |
3 | * | 3 | * |
4 | * Copyright (c) 2000-2006, Ericsson AB | 4 | * Copyright (c) 2000-2006, Ericsson AB |
5 | * Copyright (c) 2004-2005, Wind River Systems | 5 | * Copyright (c) 2004-2005, 2010-2011, Wind River Systems |
6 | * All rights reserved. | 6 | * All rights reserved. |
7 | * | 7 | * |
8 | * Redistribution and use in source and binary forms, with or without | 8 | * Redistribution and use in source and binary forms, with or without |
@@ -41,7 +41,7 @@ | |||
41 | * tipc_addr_domain_valid - validates a network domain address | 41 | * tipc_addr_domain_valid - validates a network domain address |
42 | * | 42 | * |
43 | * Accepts <Z.C.N>, <Z.C.0>, <Z.0.0>, and <0.0.0>, | 43 | * Accepts <Z.C.N>, <Z.C.0>, <Z.0.0>, and <0.0.0>, |
44 | * where Z, C, and N are non-zero and do not exceed the configured limits. | 44 | * where Z, C, and N are non-zero. |
45 | * | 45 | * |
46 | * Returns 1 if domain address is valid, otherwise 0 | 46 | * Returns 1 if domain address is valid, otherwise 0 |
47 | */ | 47 | */ |
@@ -51,10 +51,6 @@ int tipc_addr_domain_valid(u32 addr) | |||
51 | u32 n = tipc_node(addr); | 51 | u32 n = tipc_node(addr); |
52 | u32 c = tipc_cluster(addr); | 52 | u32 c = tipc_cluster(addr); |
53 | u32 z = tipc_zone(addr); | 53 | u32 z = tipc_zone(addr); |
54 | u32 max_nodes = tipc_max_nodes; | ||
55 | |||
56 | if (n > max_nodes) | ||
57 | return 0; | ||
58 | 54 | ||
59 | if (n && (!z || !c)) | 55 | if (n && (!z || !c)) |
60 | return 0; | 56 | return 0; |
@@ -66,8 +62,7 @@ int tipc_addr_domain_valid(u32 addr) | |||
66 | /** | 62 | /** |
67 | * tipc_addr_node_valid - validates a proposed network address for this node | 63 | * tipc_addr_node_valid - validates a proposed network address for this node |
68 | * | 64 | * |
69 | * Accepts <Z.C.N>, where Z, C, and N are non-zero and do not exceed | 65 | * Accepts <Z.C.N>, where Z, C, and N are non-zero. |
70 | * the configured limits. | ||
71 | * | 66 | * |
72 | * Returns 1 if address can be used, otherwise 0 | 67 | * Returns 1 if address can be used, otherwise 0 |
73 | */ | 68 | */ |
diff --git a/net/tipc/config.c b/net/tipc/config.c index e16750dcf3c1..fa3d50860055 100644 --- a/net/tipc/config.c +++ b/net/tipc/config.c | |||
@@ -2,7 +2,7 @@ | |||
2 | * net/tipc/config.c: TIPC configuration management code | 2 | * net/tipc/config.c: TIPC configuration management code |
3 | * | 3 | * |
4 | * Copyright (c) 2002-2006, Ericsson AB | 4 | * Copyright (c) 2002-2006, Ericsson AB |
5 | * Copyright (c) 2004-2007, Wind River Systems | 5 | * Copyright (c) 2004-2007, 2010-2011, Wind River Systems |
6 | * All rights reserved. | 6 | * All rights reserved. |
7 | * | 7 | * |
8 | * Redistribution and use in source and binary forms, with or without | 8 | * Redistribution and use in source and binary forms, with or without |
@@ -260,25 +260,6 @@ static struct sk_buff *cfg_set_max_ports(void) | |||
260 | return tipc_cfg_reply_none(); | 260 | return tipc_cfg_reply_none(); |
261 | } | 261 | } |
262 | 262 | ||
263 | static struct sk_buff *cfg_set_max_nodes(void) | ||
264 | { | ||
265 | u32 value; | ||
266 | |||
267 | if (!TLV_CHECK(req_tlv_area, req_tlv_space, TIPC_TLV_UNSIGNED)) | ||
268 | return tipc_cfg_reply_error_string(TIPC_CFG_TLV_ERROR); | ||
269 | value = ntohl(*(__be32 *)TLV_DATA(req_tlv_area)); | ||
270 | if (value == tipc_max_nodes) | ||
271 | return tipc_cfg_reply_none(); | ||
272 | if (value != delimit(value, 8, 2047)) | ||
273 | return tipc_cfg_reply_error_string(TIPC_CFG_INVALID_VALUE | ||
274 | " (max nodes must be 8-2047)"); | ||
275 | if (tipc_mode == TIPC_NET_MODE) | ||
276 | return tipc_cfg_reply_error_string(TIPC_CFG_NOT_SUPPORTED | ||
277 | " (cannot change max nodes once TIPC has joined a network)"); | ||
278 | tipc_max_nodes = value; | ||
279 | return tipc_cfg_reply_none(); | ||
280 | } | ||
281 | |||
282 | static struct sk_buff *cfg_set_netid(void) | 263 | static struct sk_buff *cfg_set_netid(void) |
283 | { | 264 | { |
284 | u32 value; | 265 | u32 value; |
@@ -397,9 +378,6 @@ struct sk_buff *tipc_cfg_do_cmd(u32 orig_node, u16 cmd, const void *request_area | |||
397 | case TIPC_CMD_SET_MAX_SUBSCR: | 378 | case TIPC_CMD_SET_MAX_SUBSCR: |
398 | rep_tlv_buf = cfg_set_max_subscriptions(); | 379 | rep_tlv_buf = cfg_set_max_subscriptions(); |
399 | break; | 380 | break; |
400 | case TIPC_CMD_SET_MAX_NODES: | ||
401 | rep_tlv_buf = cfg_set_max_nodes(); | ||
402 | break; | ||
403 | case TIPC_CMD_SET_NETID: | 381 | case TIPC_CMD_SET_NETID: |
404 | rep_tlv_buf = cfg_set_netid(); | 382 | rep_tlv_buf = cfg_set_netid(); |
405 | break; | 383 | break; |
@@ -415,9 +393,6 @@ struct sk_buff *tipc_cfg_do_cmd(u32 orig_node, u16 cmd, const void *request_area | |||
415 | case TIPC_CMD_GET_MAX_SUBSCR: | 393 | case TIPC_CMD_GET_MAX_SUBSCR: |
416 | rep_tlv_buf = tipc_cfg_reply_unsigned(tipc_max_subscriptions); | 394 | rep_tlv_buf = tipc_cfg_reply_unsigned(tipc_max_subscriptions); |
417 | break; | 395 | break; |
418 | case TIPC_CMD_GET_MAX_NODES: | ||
419 | rep_tlv_buf = tipc_cfg_reply_unsigned(tipc_max_nodes); | ||
420 | break; | ||
421 | case TIPC_CMD_GET_NETID: | 396 | case TIPC_CMD_GET_NETID: |
422 | rep_tlv_buf = tipc_cfg_reply_unsigned(tipc_net_id); | 397 | rep_tlv_buf = tipc_cfg_reply_unsigned(tipc_net_id); |
423 | break; | 398 | break; |
@@ -431,6 +406,8 @@ struct sk_buff *tipc_cfg_do_cmd(u32 orig_node, u16 cmd, const void *request_area | |||
431 | case TIPC_CMD_GET_MAX_SLAVES: | 406 | case TIPC_CMD_GET_MAX_SLAVES: |
432 | case TIPC_CMD_SET_MAX_CLUSTERS: | 407 | case TIPC_CMD_SET_MAX_CLUSTERS: |
433 | case TIPC_CMD_GET_MAX_CLUSTERS: | 408 | case TIPC_CMD_GET_MAX_CLUSTERS: |
409 | case TIPC_CMD_SET_MAX_NODES: | ||
410 | case TIPC_CMD_GET_MAX_NODES: | ||
434 | rep_tlv_buf = tipc_cfg_reply_error_string(TIPC_CFG_NOT_SUPPORTED | 411 | rep_tlv_buf = tipc_cfg_reply_error_string(TIPC_CFG_NOT_SUPPORTED |
435 | " (obsolete command)"); | 412 | " (obsolete command)"); |
436 | break; | 413 | break; |
diff --git a/net/tipc/core.c b/net/tipc/core.c index 2da1fc75ad65..c9a73e7763f6 100644 --- a/net/tipc/core.c +++ b/net/tipc/core.c | |||
@@ -41,10 +41,6 @@ | |||
41 | #include "config.h" | 41 | #include "config.h" |
42 | 42 | ||
43 | 43 | ||
44 | #ifndef CONFIG_TIPC_NODES | ||
45 | #define CONFIG_TIPC_NODES 255 | ||
46 | #endif | ||
47 | |||
48 | #ifndef CONFIG_TIPC_PORTS | 44 | #ifndef CONFIG_TIPC_PORTS |
49 | #define CONFIG_TIPC_PORTS 8191 | 45 | #define CONFIG_TIPC_PORTS 8191 |
50 | #endif | 46 | #endif |
@@ -64,7 +60,6 @@ const char tipc_alphabet[] = | |||
64 | /* configurable TIPC parameters */ | 60 | /* configurable TIPC parameters */ |
65 | 61 | ||
66 | u32 tipc_own_addr; | 62 | u32 tipc_own_addr; |
67 | int tipc_max_nodes; | ||
68 | int tipc_max_ports; | 63 | int tipc_max_ports; |
69 | int tipc_max_subscriptions; | 64 | int tipc_max_subscriptions; |
70 | int tipc_max_publications; | 65 | int tipc_max_publications; |
@@ -192,7 +187,6 @@ static int __init tipc_init(void) | |||
192 | tipc_max_publications = 10000; | 187 | tipc_max_publications = 10000; |
193 | tipc_max_subscriptions = 2000; | 188 | tipc_max_subscriptions = 2000; |
194 | tipc_max_ports = CONFIG_TIPC_PORTS; | 189 | tipc_max_ports = CONFIG_TIPC_PORTS; |
195 | tipc_max_nodes = CONFIG_TIPC_NODES; | ||
196 | tipc_net_id = 4711; | 190 | tipc_net_id = 4711; |
197 | 191 | ||
198 | res = tipc_core_start(); | 192 | res = tipc_core_start(); |
diff --git a/net/tipc/core.h b/net/tipc/core.h index 37544d9f73e1..436dda1159d2 100644 --- a/net/tipc/core.h +++ b/net/tipc/core.h | |||
@@ -147,7 +147,6 @@ void tipc_msg_dbg(struct print_buf *, struct tipc_msg *, const char *); | |||
147 | */ | 147 | */ |
148 | 148 | ||
149 | extern u32 tipc_own_addr; | 149 | extern u32 tipc_own_addr; |
150 | extern int tipc_max_nodes; | ||
151 | extern int tipc_max_ports; | 150 | extern int tipc_max_ports; |
152 | extern int tipc_max_subscriptions; | 151 | extern int tipc_max_subscriptions; |
153 | extern int tipc_max_publications; | 152 | extern int tipc_max_publications; |
diff --git a/net/tipc/net.c b/net/tipc/net.c index f6303d79f7f5..b5b337f5516d 100644 --- a/net/tipc/net.c +++ b/net/tipc/net.c | |||
@@ -114,8 +114,7 @@ atomic_t tipc_num_links; | |||
114 | 114 | ||
115 | static int net_start(void) | 115 | static int net_start(void) |
116 | { | 116 | { |
117 | tipc_nodes = kcalloc(tipc_max_nodes + 1, | 117 | tipc_nodes = kcalloc(4096, sizeof(*tipc_nodes), GFP_ATOMIC); |
118 | sizeof(*tipc_nodes), GFP_ATOMIC); | ||
119 | tipc_highest_node = 0; | 118 | tipc_highest_node = 0; |
120 | atomic_set(&tipc_num_links, 0); | 119 | atomic_set(&tipc_num_links, 0); |
121 | 120 | ||