tipc: Fix initialization sequence problems when entering network mode
This patch ensures that TIPC's topology service and configuration service are shut down before switching into "network mode". This ensures that TIPC does not mistakenly try to send unnecessary "publication withdraw" messages to other nodes before it is fully initialized for sending off-node messages. Note that the node's current network address is now updated only after the two services are shut down; this ensures that any existing connections to the topology server are terminated correctly using the old address. Signed-off-by: Allan Stephens <allan.stephens@windriver.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
6d4a6672c8
commit
03194379a7
@ -293,7 +293,6 @@ static struct sk_buff *cfg_set_own_addr(void)
|
||||
if (tipc_mode == TIPC_NET_MODE)
|
||||
return tipc_cfg_reply_error_string(TIPC_CFG_NOT_SUPPORTED
|
||||
" (cannot change node address once assigned)");
|
||||
tipc_own_addr = addr;
|
||||
|
||||
/*
|
||||
* Must release all spinlocks before calling start_net() because
|
||||
@ -306,7 +305,7 @@ static struct sk_buff *cfg_set_own_addr(void)
|
||||
*/
|
||||
|
||||
spin_unlock_bh(&config_lock);
|
||||
tipc_core_start_net();
|
||||
tipc_core_start_net(addr);
|
||||
spin_lock_bh(&config_lock);
|
||||
return tipc_cfg_reply_none();
|
||||
}
|
||||
|
Reference in New Issue
Block a user