On Thu, Jan 31, 2013 at 8:56 PM, Thomas Pedersen <[email protected]> wrote:
> Previously, the entire mesh beacon would be generated each
> time the beacon timer fired. Instead generate a beacon
> head and tail (so the TIM can easily be inserted when mesh
> power save is on) when starting a mesh or the MBSS
> parameters change.
>
> Signed-off-by: Thomas Pedersen <[email protected]>
> ---
>  net/mac80211/cfg.c         |    2 +
>  net/mac80211/ieee80211_i.h |    2 +
>  net/mac80211/mesh.c        |  121 
> +++++++++++++++++++++++++++++++++++++++++++-
>  net/mac80211/mesh.h        |    3 ++
>  net/mac80211/mesh_plink.c  |    6 +--
>  net/mac80211/tx.c          |   59 ++++-----------------
>  6 files changed, 139 insertions(+), 54 deletions(-)
>
> diff --git a/net/mac80211/cfg.c b/net/mac80211/cfg.c
> index 661b878..f3ca170 100644
> --- a/net/mac80211/cfg.c
> +++ b/net/mac80211/cfg.c
> @@ -1777,6 +1777,8 @@ static int ieee80211_update_mesh_config(struct wiphy 
> *wiphy,
>         if (_chg_mesh_attr(NL80211_MESHCONF_HWMP_CONFIRMATION_INTERVAL, mask))
>                 conf->dot11MeshHWMPconfirmationInterval =
>                         nconf->dot11MeshHWMPconfirmationInterval;
> +       /* need to update the IEs as well */
> +       ieee80211_mbss_info_change_notify(sdata, BSS_CHANGED_BEACON);
>         return 0;
>  }
>
> diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h
> index 5fba867..2370599 100644
> --- a/net/mac80211/ieee80211_i.h
> +++ b/net/mac80211/ieee80211_i.h
> @@ -611,6 +611,8 @@ struct ieee80211_if_mesh {
>         u32 mesh_seqnum;
>         bool accepting_plinks;
>         int num_gates;
> +       struct sk_buff __rcu *bcn_head;
> +       struct sk_buff __rcu *bcn_tail;

The only reason these are skbs is because the IE builder functions
take an skb. It would be nicer to hide that ugliness in
mesh_build_beacon() and just store these in the if_mesh as struct
beacon_data.

--
Thomas
_______________________________________________
Devel mailing list
[email protected]
http://lists.open80211s.org/cgi-bin/mailman/listinfo/devel

Reply via email to