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));
|
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)
|
static int ieee80211_set_wiphy_params(struct wiphy *wiphy, u32 changed)
|
||||||
{
|
{
|
||||||
struct ieee80211_local *local = wiphy_priv(wiphy);
|
struct ieee80211_local *local = wiphy_priv(wiphy);
|
||||||
|
@ -3180,6 +3190,7 @@ struct cfg80211_ops mac80211_config_ops = {
|
||||||
.disassoc = ieee80211_disassoc,
|
.disassoc = ieee80211_disassoc,
|
||||||
.join_ibss = ieee80211_join_ibss,
|
.join_ibss = ieee80211_join_ibss,
|
||||||
.leave_ibss = ieee80211_leave_ibss,
|
.leave_ibss = ieee80211_leave_ibss,
|
||||||
|
.set_mcast_rate = ieee80211_set_mcast_rate,
|
||||||
.set_wiphy_params = ieee80211_set_wiphy_params,
|
.set_wiphy_params = ieee80211_set_wiphy_params,
|
||||||
.set_tx_power = ieee80211_set_tx_power,
|
.set_tx_power = ieee80211_set_tx_power,
|
||||||
.get_tx_power = ieee80211_get_tx_power,
|
.get_tx_power = ieee80211_get_tx_power,
|
||||||
|
|
Загрузка…
Ссылка в новой задаче