| .. | .. |
|---|
| 127 | 127 | u32 path_change_count; |
|---|
| 128 | 128 | }; |
|---|
| 129 | 129 | |
|---|
| 130 | | -/** |
|---|
| 131 | | - * struct mesh_table |
|---|
| 132 | | - * |
|---|
| 133 | | - * @known_gates: list of known mesh gates and their mpaths by the station. The |
|---|
| 134 | | - * gate's mpath may or may not be resolved and active. |
|---|
| 135 | | - * @gates_lock: protects updates to known_gates |
|---|
| 136 | | - * @rhead: the rhashtable containing struct mesh_paths, keyed by dest addr |
|---|
| 137 | | - * @walk_head: linked list containging all mesh_path objects |
|---|
| 138 | | - * @walk_lock: lock protecting walk_head |
|---|
| 139 | | - * @entries: number of entries in the table |
|---|
| 140 | | - */ |
|---|
| 141 | | -struct mesh_table { |
|---|
| 142 | | - struct hlist_head known_gates; |
|---|
| 143 | | - spinlock_t gates_lock; |
|---|
| 144 | | - struct rhashtable rhead; |
|---|
| 145 | | - struct hlist_head walk_head; |
|---|
| 146 | | - spinlock_t walk_lock; |
|---|
| 147 | | - atomic_t entries; /* Up to MAX_MESH_NEIGHBOURS */ |
|---|
| 148 | | -}; |
|---|
| 149 | | - |
|---|
| 150 | 130 | /* Recent multicast cache */ |
|---|
| 151 | 131 | /* RMC_BUCKETS must be a power of 2, maximum 256 */ |
|---|
| 152 | 132 | #define RMC_BUCKETS 256 |
|---|
| .. | .. |
|---|
| 308 | 288 | void mesh_path_assign_nexthop(struct mesh_path *mpath, struct sta_info *sta); |
|---|
| 309 | 289 | void mesh_path_flush_pending(struct mesh_path *mpath); |
|---|
| 310 | 290 | void mesh_path_tx_pending(struct mesh_path *mpath); |
|---|
| 311 | | -int mesh_pathtbl_init(struct ieee80211_sub_if_data *sdata); |
|---|
| 291 | +void mesh_pathtbl_init(struct ieee80211_sub_if_data *sdata); |
|---|
| 312 | 292 | void mesh_pathtbl_unregister(struct ieee80211_sub_if_data *sdata); |
|---|
| 313 | 293 | int mesh_path_del(struct ieee80211_sub_if_data *sdata, const u8 *addr); |
|---|
| 314 | 294 | void mesh_path_timer(struct timer_list *t); |
|---|