diff options
author | Bob Copeland <me@bobcopeland.com> | 2016-02-29 02:03:59 +0100 |
---|---|---|
committer | Johannes Berg <johannes.berg@intel.com> | 2016-04-05 10:56:32 +0200 |
commit | 947c2a0eccec29fcd30e717787e65792b1e607ed (patch) | |
tree | e4c759bffaf270846864a5aae7999e6c884c03d4 /net/mac80211/mesh.h | |
parent | mac80211: mesh: factor out common mesh path allocation code (diff) | |
download | linux-947c2a0eccec29fcd30e717787e65792b1e607ed.tar.xz linux-947c2a0eccec29fcd30e717787e65792b1e607ed.zip |
mac80211: mesh: embed known gates list in struct mesh_path
The mesh path table uses a struct mesh_node in its hlists in
order to support a resizable hash table: the mesh_node provides
an indirection to the actual mesh path so that two different
bucket lists can point to the same path entry.
However, for the known gates list, we don't need this indirection
because there is ever only one list. So we can just embed the
hlist_node in the mesh path itself, which simplifies things a bit
and saves a linear search whenever we need to find an item in
the list.
Signed-off-by: Bob Copeland <me@bobcopeland.com>
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/mac80211/mesh.h')
-rw-r--r-- | net/mac80211/mesh.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/mac80211/mesh.h b/net/mac80211/mesh.h index 601992b6cd8a..f3cc3917e048 100644 --- a/net/mac80211/mesh.h +++ b/net/mac80211/mesh.h @@ -105,6 +105,7 @@ enum mesh_deferred_task_flags { struct mesh_path { u8 dst[ETH_ALEN]; u8 mpp[ETH_ALEN]; /* used for MPP or MAP */ + struct hlist_node gate_list; struct ieee80211_sub_if_data *sdata; struct sta_info __rcu *next_hop; struct timer_list timer; |