mac80211: implement set_mcast_rate() callback
This new callback can be used to tune the rate to be used to send multicast frames. In the current state the multicast rate can be specified on IBSS/MESH joining only. This makes it impossible to select a custom multicast rate when then join command is sent by an external program (e.g. wpa_supplicant) Signed-off-by: Antonio Quartulli <ordex@autistici.org> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
Родитель
f4e583c893
Коммит
391e53e33f
|
@ -1954,6 +1954,16 @@ static int ieee80211_leave_ibss(struct wiphy *wiphy, struct net_device *dev)
|
|||
return ieee80211_ibss_leave(IEEE80211_DEV_TO_SUB_IF(dev));
|
||||
}
|
||||
|
||||
static int ieee80211_set_mcast_rate(struct wiphy *wiphy, struct net_device *dev,
|
||||
int rate[IEEE80211_NUM_BANDS])
|
||||
{
|
||||
struct ieee80211_sub_if_data *sdata = IEEE80211_DEV_TO_SUB_IF(dev);
|
||||
|
||||
memcpy(sdata->vif.bss_conf.mcast_rate, rate, sizeof(rate));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int ieee80211_set_wiphy_params(struct wiphy *wiphy, u32 changed)
|
||||
{
|
||||
struct ieee80211_local *local = wiphy_priv(wiphy);
|
||||
|
@ -3180,6 +3190,7 @@ struct cfg80211_ops mac80211_config_ops = {
|
|||
.disassoc = ieee80211_disassoc,
|
||||
.join_ibss = ieee80211_join_ibss,
|
||||
.leave_ibss = ieee80211_leave_ibss,
|
||||
.set_mcast_rate = ieee80211_set_mcast_rate,
|
||||
.set_wiphy_params = ieee80211_set_wiphy_params,
|
||||
.set_tx_power = ieee80211_set_tx_power,
|
||||
.get_tx_power = ieee80211_get_tx_power,
|
||||
|
|
Загрузка…
Ссылка в новой задаче