]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Mesh update: add base Mesh Gate functionality.
authorMonthadar Al Jaberi <monthadar@FreeBSD.org>
Thu, 7 Feb 2013 21:23:43 +0000 (21:23 +0000)
committerMonthadar Al Jaberi <monthadar@FreeBSD.org>
Thu, 7 Feb 2013 21:23:43 +0000 (21:23 +0000)
commited0b544066db4c92731751b87a3939f10f2e0c4e
tree8511aa3a39b7b3e4a4386ec4475132b15c0449d7
parent8904a305ae2b09ef3926bc09d6f428271e3bed02
Mesh update: add base Mesh Gate functionality.

A Mesh Gate should transmit a Mesh Action frame containing
ieee80211_meshgann_ie as its only information element periodically
every ieee80211_mesh_gateint ms. Unless the mesh gate is also configure
as a ROOT, then these frames should not be send.
This is according to 802.11 2012 standard;

* Introduce new SYSCTL net.wlan.mesh.gateint, with 10s default;
* Add two new functions mesh_gatemode_setup and mesh_gatemode_cb. This
  is similar to how HWMP setups up a callout;
* Add two new action handlers mesh_recv_action_meshgate and
  mesh_send_action_meshgate;
* Added ieee80211_add_meshgate to ieee80211_mesh.h;
* Modified mesh_send_action to look similar to hwmp_send_action. This is
  because we need to send out broadcast management frames.
* Introduced a new flag for mesh state IEEE80211_MESHFLAGS_ROOT. This flag
  is now set by HWMP code when a mesh STA is configured as a ROOT. This
  is then checked by mesh_gatemode_cb before scheduling a new callout;
* Added to new field to ieee80211_mesh_state:
    + struct callout                  ms_gatetimer
    + ieee80211_mesh_seq              ms_gateseq;

Approved by: adrian (mentor)
sys/net80211/ieee80211_hwmp.c
sys/net80211/ieee80211_mesh.c
sys/net80211/ieee80211_mesh.h