Lines Matching refs:node

2  * net/tipc/node.c: TIPC node management routines
39 #include "node.h"
65 * usually be much smaller (typically only a single node).
73 * tipc_node_find - locate specified node object, if it exists
77 struct tipc_node *node;
83 hlist_for_each_entry_rcu(node, &node_htable[tipc_hashfn(addr)], hash) {
84 if (node->addr == addr) {
86 return node;
141 struct tipc_node *node, *t_node;
144 list_for_each_entry_safe(node, t_node, &tipc_node_list, list)
145 tipc_node_delete(node);
151 struct tipc_node *node;
157 node = tipc_node_find(dnode);
158 if (!node) {
159 pr_warn("Connecting sock to node 0x%x failed\n", dnode);
169 tipc_node_lock(node);
170 list_add_tail(&conn->list, &node->conn_sks);
171 tipc_node_unlock(node);
177 struct tipc_node *node;
183 node = tipc_node_find(dnode);
184 if (!node)
187 tipc_node_lock(node);
188 list_for_each_entry_safe(conn, safe, &node->conn_sks, list) {
194 tipc_node_unlock(node);
376 /* Flush broadcast link info associated with lost node */
404 /* Notify subscribers and prevent re-contact with node until
526 * @node: peer node address
534 struct tipc_node *node = tipc_node_find(addr);
536 if ((bearer_id >= MAX_BEARERS) || !node)
538 tipc_node_lock(node);
539 link = node->links[bearer_id];
542 tipc_node_unlock(node);
545 tipc_node_unlock(node);
549 void tipc_node_unlock(struct tipc_node *node)
555 int flags = node->action_flags;
559 spin_unlock_bh(&node->lock);
563 addr = node->addr;
564 link_id = node->link_id;
568 skb_queue_splice_init(&node->waiting_sks, &waiting_sks);
571 list_replace_init(&node->nsub, &nsub_list);
572 list_replace_init(&node->conn_sks, &conn_sks);
574 node->action_flags &= ~(TIPC_WAKEUP_USERS | TIPC_NOTIFY_NODE_DOWN |
579 spin_unlock_bh(&node->lock);