aboutsummaryrefslogtreecommitdiffstats
path: root/net/tipc/node.h
diff options
context:
space:
mode:
Diffstat (limited to 'net/tipc/node.h')
-rw-r--r--net/tipc/node.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/net/tipc/node.h b/net/tipc/node.h
index b61716a8218e..04e91458bb29 100644
--- a/net/tipc/node.h
+++ b/net/tipc/node.h
@@ -53,12 +53,17 @@
53 * TIPC_WAIT_OWN_LINKS_DOWN: wait until peer node is declared down 53 * TIPC_WAIT_OWN_LINKS_DOWN: wait until peer node is declared down
54 * TIPC_NOTIFY_NODE_DOWN: notify node is down 54 * TIPC_NOTIFY_NODE_DOWN: notify node is down
55 * TIPC_NOTIFY_NODE_UP: notify node is up 55 * TIPC_NOTIFY_NODE_UP: notify node is up
56 * TIPC_DISTRIBUTE_NAME: publish or withdraw link state name type
56 */ 57 */
57enum { 58enum {
58 TIPC_WAIT_PEER_LINKS_DOWN = (1 << 1), 59 TIPC_WAIT_PEER_LINKS_DOWN = (1 << 1),
59 TIPC_WAIT_OWN_LINKS_DOWN = (1 << 2), 60 TIPC_WAIT_OWN_LINKS_DOWN = (1 << 2),
60 TIPC_NOTIFY_NODE_DOWN = (1 << 3), 61 TIPC_NOTIFY_NODE_DOWN = (1 << 3),
61 TIPC_NOTIFY_NODE_UP = (1 << 4) 62 TIPC_NOTIFY_NODE_UP = (1 << 4),
63 TIPC_WAKEUP_USERS = (1 << 5),
64 TIPC_WAKEUP_BCAST_USERS = (1 << 6),
65 TIPC_NOTIFY_LINK_UP = (1 << 7),
66 TIPC_NOTIFY_LINK_DOWN = (1 << 8)
62}; 67};
63 68
64/** 69/**
@@ -98,6 +103,7 @@ struct tipc_node_bclink {
98 * @working_links: number of working links to node (both active and standby) 103 * @working_links: number of working links to node (both active and standby)
99 * @link_cnt: number of links to node 104 * @link_cnt: number of links to node
100 * @signature: node instance identifier 105 * @signature: node instance identifier
106 * @link_id: local and remote bearer ids of changing link, if any
101 * @nsub: list of "node down" subscriptions monitoring node 107 * @nsub: list of "node down" subscriptions monitoring node
102 * @rcu: rcu struct for tipc_node 108 * @rcu: rcu struct for tipc_node
103 */ 109 */
@@ -114,7 +120,10 @@ struct tipc_node {
114 int link_cnt; 120 int link_cnt;
115 int working_links; 121 int working_links;
116 u32 signature; 122 u32 signature;
123 u32 link_id;
117 struct list_head nsub; 124 struct list_head nsub;
125 struct sk_buff_head waiting_sks;
126 struct list_head conn_sks;
118 struct rcu_head rcu; 127 struct rcu_head rcu;
119}; 128};
120 129
@@ -133,6 +142,8 @@ struct sk_buff *tipc_node_get_links(const void *req_tlv_area, int req_tlv_space)
133struct sk_buff *tipc_node_get_nodes(const void *req_tlv_area, int req_tlv_space); 142struct sk_buff *tipc_node_get_nodes(const void *req_tlv_area, int req_tlv_space);
134int tipc_node_get_linkname(u32 bearer_id, u32 node, char *linkname, size_t len); 143int tipc_node_get_linkname(u32 bearer_id, u32 node, char *linkname, size_t len);
135void tipc_node_unlock(struct tipc_node *node); 144void tipc_node_unlock(struct tipc_node *node);
145int tipc_node_add_conn(u32 dnode, u32 port, u32 peer_port);
146void tipc_node_remove_conn(u32 dnode, u32 port);
136 147
137static inline void tipc_node_lock(struct tipc_node *node) 148static inline void tipc_node_lock(struct tipc_node *node)
138{ 149{