aboutsummaryrefslogtreecommitdiffstats
path: root/net/tipc/node.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/tipc/node.c')
-rw-r--r--net/tipc/node.c22
1 files changed, 7 insertions, 15 deletions
diff --git a/net/tipc/node.c b/net/tipc/node.c
index 6e6c434872e8..efe4d41bf11b 100644
--- a/net/tipc/node.c
+++ b/net/tipc/node.c
@@ -162,7 +162,7 @@ void tipc_node_link_up(struct tipc_node *n_ptr, struct tipc_link *l_ptr)
162 pr_info("New link <%s> becomes standby\n", l_ptr->name); 162 pr_info("New link <%s> becomes standby\n", l_ptr->name);
163 return; 163 return;
164 } 164 }
165 tipc_link_send_duplicate(active[0], l_ptr); 165 tipc_link_dup_send_queue(active[0], l_ptr);
166 if (l_ptr->priority == active[0]->priority) { 166 if (l_ptr->priority == active[0]->priority) {
167 active[0] = l_ptr; 167 active[0] = l_ptr;
168 return; 168 return;
@@ -225,7 +225,7 @@ void tipc_node_link_down(struct tipc_node *n_ptr, struct tipc_link *l_ptr)
225 if (active[0] == l_ptr) 225 if (active[0] == l_ptr)
226 node_select_active_links(n_ptr); 226 node_select_active_links(n_ptr);
227 if (tipc_node_is_up(n_ptr)) 227 if (tipc_node_is_up(n_ptr))
228 tipc_link_changeover(l_ptr); 228 tipc_link_failover_send_queue(l_ptr);
229 else 229 else
230 node_lost_contact(n_ptr); 230 node_lost_contact(n_ptr);
231} 231}
@@ -235,11 +235,6 @@ int tipc_node_active_links(struct tipc_node *n_ptr)
235 return n_ptr->active_links[0] != NULL; 235 return n_ptr->active_links[0] != NULL;
236} 236}
237 237
238int tipc_node_redundant_links(struct tipc_node *n_ptr)
239{
240 return n_ptr->working_links > 1;
241}
242
243int tipc_node_is_up(struct tipc_node *n_ptr) 238int tipc_node_is_up(struct tipc_node *n_ptr)
244{ 239{
245 return tipc_node_active_links(n_ptr); 240 return tipc_node_active_links(n_ptr);
@@ -291,16 +286,13 @@ static void node_lost_contact(struct tipc_node *n_ptr)
291 286
292 /* Flush broadcast link info associated with lost node */ 287 /* Flush broadcast link info associated with lost node */
293 if (n_ptr->bclink.recv_permitted) { 288 if (n_ptr->bclink.recv_permitted) {
294 while (n_ptr->bclink.deferred_head) { 289 kfree_skb_list(n_ptr->bclink.deferred_head);
295 struct sk_buff *buf = n_ptr->bclink.deferred_head;
296 n_ptr->bclink.deferred_head = buf->next;
297 kfree_skb(buf);
298 }
299 n_ptr->bclink.deferred_size = 0; 290 n_ptr->bclink.deferred_size = 0;
300 291
301 if (n_ptr->bclink.defragm) { 292 if (n_ptr->bclink.reasm_head) {
302 kfree_skb(n_ptr->bclink.defragm); 293 kfree_skb(n_ptr->bclink.reasm_head);
303 n_ptr->bclink.defragm = NULL; 294 n_ptr->bclink.reasm_head = NULL;
295 n_ptr->bclink.reasm_tail = NULL;
304 } 296 }
305 297
306 tipc_bclink_remove_node(n_ptr->addr); 298 tipc_bclink_remove_node(n_ptr->addr);