diff options
Diffstat (limited to 'net/tipc/discover.c')
| -rw-r--r-- | net/tipc/discover.c | 44 | 
1 files changed, 9 insertions, 35 deletions
diff --git a/net/tipc/discover.c b/net/tipc/discover.c index fc1fcf5e6b5..4a7cd3719b7 100644 --- a/net/tipc/discover.c +++ b/net/tipc/discover.c @@ -46,16 +46,6 @@  #define TIPC_LINK_REQ_FAST	2000	/* normal delay if bearer has no links */  #define TIPC_LINK_REQ_SLOW	600000	/* normal delay if bearer has links */ -#if 0 -#define  GET_NODE_INFO         300 -#define  GET_NODE_INFO_RESULT  301 -#define  FORWARD_LINK_PROBE    302 -#define  LINK_REQUEST_REJECTED 303 -#define  LINK_REQUEST_ACCEPTED 304 -#define  DROP_LINK_REQUEST     305 -#define  CHECK_LINK_COUNT      306 -#endif -  /*   * TODO: Most of the inter-cluster setup stuff should be   * rewritten, and be made conformant with specification. @@ -78,30 +68,6 @@ struct link_req {  	unsigned int timer_intv;  }; - -#if 0 -int disc_create_link(const struct tipc_link_create *argv) -{ -	/* -	 * Code for inter cluster link setup here -	 */ -	return TIPC_OK; -} -#endif - -/* - * disc_lost_link(): A link has lost contact - */ - -void tipc_disc_link_event(u32 addr, char *name, int up) -{ -	if (in_own_cluster(addr)) -		return; -	/* -	 * Code for inter cluster link setup here -	 */ -} -  /**   * tipc_disc_init_msg - initialize a link setup message   * @type: message type (request or response) @@ -115,7 +81,7 @@ static struct sk_buff *tipc_disc_init_msg(u32 type,  					  u32 dest_domain,  					  struct bearer *b_ptr)  { -	struct sk_buff *buf = buf_acquire(DSC_H_SIZE); +	struct sk_buff *buf = tipc_buf_acquire(DSC_H_SIZE);  	struct tipc_msg *msg;  	if (buf) { @@ -203,6 +169,14 @@ void tipc_disc_recv_msg(struct sk_buff *buf, struct bearer *b_ptr)  				return;  		}  		spin_lock_bh(&n_ptr->lock); + +		/* Don't talk to neighbor during cleanup after last session */ + +		if (n_ptr->cleanup_required) { +			spin_unlock_bh(&n_ptr->lock); +			return; +		} +  		link = n_ptr->links[b_ptr->identity];  		if (!link) {  			dbg("creating link\n");  |