u32 i;
        int res = -EINVAL;
 
-       if (tipc_mode != TIPC_NET_MODE) {
+       if (!tipc_own_addr) {
                warn("Bearer <%s> rejected, not supported in standalone mode\n",
                     name);
                return -ENOPROTOOPT;
 
        if (!tipc_addr_node_valid(addr))
                return tipc_cfg_reply_error_string(TIPC_CFG_INVALID_VALUE
                                                   " (node address)");
-       if (tipc_mode == TIPC_NET_MODE)
+       if (tipc_own_addr)
                return tipc_cfg_reply_error_string(TIPC_CFG_NOT_SUPPORTED
                                                   " (cannot change node address once assigned)");
 
        if (value < 1 || value > 9999)
                return tipc_cfg_reply_error_string(TIPC_CFG_INVALID_VALUE
                                                   " (network id must be 1-9999)");
-       if (tipc_mode == TIPC_NET_MODE)
+       if (tipc_own_addr)
                return tipc_cfg_reply_error_string(TIPC_CFG_NOT_SUPPORTED
                        " (cannot change network id once TIPC has joined a network)");
        tipc_net_id = value;
 
 
 /* global variables used by multiple sub-systems within TIPC */
 
-int tipc_mode;
 int tipc_random;
 
 const char tipc_alphabet[] =
        int res;
 
        get_random_bytes(&tipc_random, sizeof(tipc_random));
-       tipc_mode = TIPC_NODE_MODE;
 
        res = tipc_handler_start();
        if (!res)
 
 
 #define ELINKCONG EAGAIN       /* link congestion <=> resource unavailable */
 
-/*
- * TIPC operating mode routines
- */
-
-#define TIPC_NODE_MODE    1
-#define TIPC_NET_MODE     2
-
 /*
  * Global configuration variables
  */
  * Other global variables
  */
 
-extern int tipc_mode;
 extern int tipc_random;
 extern const char tipc_alphabet[];
 
 
 {
        char addr_string[16];
 
-       if (tipc_mode != TIPC_NODE_MODE)
-               return -ENOPROTOOPT;
-
        tipc_subscr_stop();
        tipc_cfg_stop();
 
        tipc_own_addr = addr;
-       tipc_mode = TIPC_NET_MODE;
        tipc_named_reinit();
        tipc_port_reinit();
 
 {
        struct tipc_node *node, *t_node;
 
-       if (tipc_mode != TIPC_NET_MODE)
+       if (!tipc_own_addr)
                return;
        write_lock_bh(&tipc_net_lock);
-       tipc_mode = TIPC_NODE_MODE;
        tipc_bearer_stop();
        tipc_bclink_stop();
        list_for_each_entry_safe(node, t_node, &tipc_node_list, list)
 
                return tipc_cfg_reply_error_string(TIPC_CFG_INVALID_VALUE
                                                   " (network address)");
 
-       if (tipc_mode != TIPC_NET_MODE)
+       if (!tipc_own_addr)
                return tipc_cfg_reply_none();
 
        read_lock_bh(&tipc_net_lock);