diff options
Diffstat (limited to 'net/tipc/node.h')
| -rw-r--r-- | net/tipc/node.h | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/net/tipc/node.h b/net/tipc/node.h index 43ef88ef3035..20ec13f9bede 100644 --- a/net/tipc/node.h +++ b/net/tipc/node.h | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | /* | 1 | /* |
| 2 | * net/tipc/node.h: Include file for TIPC node management routines | 2 | * net/tipc/node.h: Include file for TIPC node management routines |
| 3 | * | 3 | * |
| 4 | * Copyright (c) 2000-2006, 2014, Ericsson AB | 4 | * Copyright (c) 2000-2006, 2014-2015, Ericsson AB |
| 5 | * Copyright (c) 2005, 2010-2014, Wind River Systems | 5 | * Copyright (c) 2005, 2010-2014, Wind River Systems |
| 6 | * All rights reserved. | 6 | * All rights reserved. |
| 7 | * | 7 | * |
| @@ -55,14 +55,16 @@ | |||
| 55 | * TIPC_DISTRIBUTE_NAME: publish or withdraw link state name type | 55 | * TIPC_DISTRIBUTE_NAME: publish or withdraw link state name type |
| 56 | */ | 56 | */ |
| 57 | enum { | 57 | enum { |
| 58 | TIPC_MSG_EVT = 1, | ||
| 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), |
| 62 | TIPC_WAKEUP_USERS = (1 << 5), | 63 | TIPC_WAKEUP_BCAST_USERS = (1 << 5), |
| 63 | TIPC_WAKEUP_BCAST_USERS = (1 << 6), | 64 | TIPC_NOTIFY_LINK_UP = (1 << 6), |
| 64 | TIPC_NOTIFY_LINK_UP = (1 << 7), | 65 | TIPC_NOTIFY_LINK_DOWN = (1 << 7), |
| 65 | TIPC_NOTIFY_LINK_DOWN = (1 << 8) | 66 | TIPC_NAMED_MSG_EVT = (1 << 8), |
| 67 | TIPC_BCAST_MSG_EVT = (1 << 9) | ||
| 66 | }; | 68 | }; |
| 67 | 69 | ||
| 68 | /** | 70 | /** |
| @@ -73,6 +75,7 @@ enum { | |||
| 73 | * @oos_state: state tracker for handling OOS b'cast messages | 75 | * @oos_state: state tracker for handling OOS b'cast messages |
| 74 | * @deferred_queue: deferred queue saved OOS b'cast message received from node | 76 | * @deferred_queue: deferred queue saved OOS b'cast message received from node |
| 75 | * @reasm_buf: broadcast reassembly queue head from node | 77 | * @reasm_buf: broadcast reassembly queue head from node |
| 78 | * @inputq_map: bitmap indicating which inqueues should be kicked | ||
| 76 | * @recv_permitted: true if node is allowed to receive b'cast messages | 79 | * @recv_permitted: true if node is allowed to receive b'cast messages |
| 77 | */ | 80 | */ |
| 78 | struct tipc_node_bclink { | 81 | struct tipc_node_bclink { |
| @@ -83,6 +86,7 @@ struct tipc_node_bclink { | |||
| 83 | u32 deferred_size; | 86 | u32 deferred_size; |
| 84 | struct sk_buff_head deferred_queue; | 87 | struct sk_buff_head deferred_queue; |
| 85 | struct sk_buff *reasm_buf; | 88 | struct sk_buff *reasm_buf; |
| 89 | int inputq_map; | ||
| 86 | bool recv_permitted; | 90 | bool recv_permitted; |
| 87 | }; | 91 | }; |
| 88 | 92 | ||
| @@ -92,6 +96,9 @@ struct tipc_node_bclink { | |||
| 92 | * @lock: spinlock governing access to structure | 96 | * @lock: spinlock governing access to structure |
| 93 | * @net: the applicable net namespace | 97 | * @net: the applicable net namespace |
| 94 | * @hash: links to adjacent nodes in unsorted hash chain | 98 | * @hash: links to adjacent nodes in unsorted hash chain |
| 99 | * @inputq: pointer to input queue containing messages for msg event | ||
| 100 | * @namedq: pointer to name table input queue with name table messages | ||
| 101 | * @curr_link: the link holding the node lock, if any | ||
| 95 | * @active_links: pointers to active links to node | 102 | * @active_links: pointers to active links to node |
| 96 | * @links: pointers to all links to node | 103 | * @links: pointers to all links to node |
| 97 | * @action_flags: bit mask of different types of node actions | 104 | * @action_flags: bit mask of different types of node actions |
| @@ -109,10 +116,12 @@ struct tipc_node { | |||
| 109 | spinlock_t lock; | 116 | spinlock_t lock; |
| 110 | struct net *net; | 117 | struct net *net; |
| 111 | struct hlist_node hash; | 118 | struct hlist_node hash; |
| 119 | struct sk_buff_head *inputq; | ||
| 120 | struct sk_buff_head *namedq; | ||
| 112 | struct tipc_link *active_links[2]; | 121 | struct tipc_link *active_links[2]; |
| 113 | u32 act_mtus[2]; | 122 | u32 act_mtus[2]; |
| 114 | struct tipc_link *links[MAX_BEARERS]; | 123 | struct tipc_link *links[MAX_BEARERS]; |
| 115 | unsigned int action_flags; | 124 | int action_flags; |
| 116 | struct tipc_node_bclink bclink; | 125 | struct tipc_node_bclink bclink; |
| 117 | struct list_head list; | 126 | struct list_head list; |
| 118 | int link_cnt; | 127 | int link_cnt; |
| @@ -120,7 +129,6 @@ struct tipc_node { | |||
| 120 | u32 signature; | 129 | u32 signature; |
| 121 | u32 link_id; | 130 | u32 link_id; |
| 122 | struct list_head publ_list; | 131 | struct list_head publ_list; |
| 123 | struct sk_buff_head waiting_sks; | ||
| 124 | struct list_head conn_sks; | 132 | struct list_head conn_sks; |
| 125 | struct rcu_head rcu; | 133 | struct rcu_head rcu; |
| 126 | }; | 134 | }; |
