On Tue, Jun 7, 2011 at 9:43 AM, Pavel Roskin <pro...@gnu.org> wrote: > Hello! > > You may want to copy to linux-wireless as well. You'll get more eyeballs > looking at your code.
Thanks for reviewing. > On 06/06/2011 08:55 PM, Javier Cardona wrote: >> >> More specifically, enable AP-style beaconing on mesh ifaces, honor >> FIF_OTHER_BSS filter and change the hw capabilities to reflect mesh >> support. >> >> Tested on two TP-Link TL-WN821N and with this patch we could establish >> peer >> links and ping. > > ... >> >> + case NL80211_IFTYPE_MESH_POINT: >> + /* 802.11s defines a different beaconing method for mesh >> points >> + * that closely resembles AP-style beaconing. Until that >> is >> + * implemented, just use AP-style beaconing for mesh >> points. */ >> + /* Fall through */ >> case NL80211_IFTYPE_AP: >> ath9k_htc_beacon_config_ap(priv, cur_conf); > > Is it fundamentally impossible for AP and mesh VIFs to coexist? If it's > possible, you may want to use NL80211_IFTYPE_AP even if there is a mesh VIF > and use num_ap_vif and num_mbss_vif to code needed for AP and mesh > respectively. It is not precluded by the standard, but requires that the hardware can do dual-beaconing given that mesh and AP beacons are different: different MAC address, frequency. etc. > Having distinct global opmodes would stand in the way if AP and mesh > coexistence is to be implemented. Noted. It is definitively a doable and desired use case so we plan the driver as if there will soon be hardware that can do it. (Or maybe there is, do you know?) > By the way, we may want to use distinctive names for the common opmodes to > avoid confusion with the VIF modes. > >> + if (priv->num_mbss_vif || >> + (priv->nvifs&& vif->type == NL80211_IFTYPE_MESH_POINT)) { >> + ath_err(common, "Mesh BSS coexistence with other modes is >> not allowed\n"); >> + mutex_unlock(&priv->mutex); >> + return -ENOBUFS; >> + } > > This code appears to allow only one mesh interface. Is that your intention? > I think you just copied the code from Ad-Hoc without realizing what it > does. Again I thought the hardware could not do dual beaconning. If it can, then there is no need to limit the number of mesh vifs. >> + if (priv->rxfilter& FIF_OTHER_BSS) >> + rfilt |= ATH9K_RX_FILTER_MCAST_BCAST_ALL; > > I think this could be a separate patch. It may have effect beyond mesh > support. Noted. Thanks! Javier -- Javier Cardona cozybit Inc. http://www.cozybit.com _______________________________________________ Devel mailing list Devel@lists.open80211s.org http://open80211s.com/mailman/listinfo/devel