Merge tag 'mac80211-next-for-davem-2016-10-28' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next
Johannes Berg says: ==================== Among various cleanups and improvements, we have the following: * client FILS authentication support in mac80211 (Jouni) * AP/VLAN multicast improvements (Michael Braun) * config/advertising support for differing beacon intervals on multiple virtual interfaces (Purushottam Kushwaha, myself) * deprecate the old WDS mode for cfg80211-based drivers, the mode is hardly usable since it doesn't support any "modern" features like WPA encryption (2003), HT (2009) or VHT (2014), I'm not even sure WEP (introduced in 1997) could be done. ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
Esse commit está contido em:
@@ -2249,35 +2249,51 @@ static void mac80211_hwsim_get_et_stats(struct ieee80211_hw *hw,
|
||||
WARN_ON(i != MAC80211_HWSIM_SSTATS_LEN);
|
||||
}
|
||||
|
||||
#define HWSIM_COMMON_OPS \
|
||||
.tx = mac80211_hwsim_tx, \
|
||||
.start = mac80211_hwsim_start, \
|
||||
.stop = mac80211_hwsim_stop, \
|
||||
.add_interface = mac80211_hwsim_add_interface, \
|
||||
.change_interface = mac80211_hwsim_change_interface, \
|
||||
.remove_interface = mac80211_hwsim_remove_interface, \
|
||||
.config = mac80211_hwsim_config, \
|
||||
.configure_filter = mac80211_hwsim_configure_filter, \
|
||||
.bss_info_changed = mac80211_hwsim_bss_info_changed, \
|
||||
.sta_add = mac80211_hwsim_sta_add, \
|
||||
.sta_remove = mac80211_hwsim_sta_remove, \
|
||||
.sta_notify = mac80211_hwsim_sta_notify, \
|
||||
.set_tim = mac80211_hwsim_set_tim, \
|
||||
.conf_tx = mac80211_hwsim_conf_tx, \
|
||||
.get_survey = mac80211_hwsim_get_survey, \
|
||||
CFG80211_TESTMODE_CMD(mac80211_hwsim_testmode_cmd) \
|
||||
.ampdu_action = mac80211_hwsim_ampdu_action, \
|
||||
.flush = mac80211_hwsim_flush, \
|
||||
.get_tsf = mac80211_hwsim_get_tsf, \
|
||||
.set_tsf = mac80211_hwsim_set_tsf, \
|
||||
.get_et_sset_count = mac80211_hwsim_get_et_sset_count, \
|
||||
.get_et_stats = mac80211_hwsim_get_et_stats, \
|
||||
.get_et_strings = mac80211_hwsim_get_et_strings,
|
||||
|
||||
static const struct ieee80211_ops mac80211_hwsim_ops = {
|
||||
.tx = mac80211_hwsim_tx,
|
||||
.start = mac80211_hwsim_start,
|
||||
.stop = mac80211_hwsim_stop,
|
||||
.add_interface = mac80211_hwsim_add_interface,
|
||||
.change_interface = mac80211_hwsim_change_interface,
|
||||
.remove_interface = mac80211_hwsim_remove_interface,
|
||||
.config = mac80211_hwsim_config,
|
||||
.configure_filter = mac80211_hwsim_configure_filter,
|
||||
.bss_info_changed = mac80211_hwsim_bss_info_changed,
|
||||
.sta_add = mac80211_hwsim_sta_add,
|
||||
.sta_remove = mac80211_hwsim_sta_remove,
|
||||
.sta_notify = mac80211_hwsim_sta_notify,
|
||||
.set_tim = mac80211_hwsim_set_tim,
|
||||
.conf_tx = mac80211_hwsim_conf_tx,
|
||||
.get_survey = mac80211_hwsim_get_survey,
|
||||
CFG80211_TESTMODE_CMD(mac80211_hwsim_testmode_cmd)
|
||||
.ampdu_action = mac80211_hwsim_ampdu_action,
|
||||
HWSIM_COMMON_OPS
|
||||
.sw_scan_start = mac80211_hwsim_sw_scan,
|
||||
.sw_scan_complete = mac80211_hwsim_sw_scan_complete,
|
||||
.flush = mac80211_hwsim_flush,
|
||||
.get_tsf = mac80211_hwsim_get_tsf,
|
||||
.set_tsf = mac80211_hwsim_set_tsf,
|
||||
.get_et_sset_count = mac80211_hwsim_get_et_sset_count,
|
||||
.get_et_stats = mac80211_hwsim_get_et_stats,
|
||||
.get_et_strings = mac80211_hwsim_get_et_strings,
|
||||
};
|
||||
|
||||
static struct ieee80211_ops mac80211_hwsim_mchan_ops;
|
||||
static const struct ieee80211_ops mac80211_hwsim_mchan_ops = {
|
||||
HWSIM_COMMON_OPS
|
||||
.hw_scan = mac80211_hwsim_hw_scan,
|
||||
.cancel_hw_scan = mac80211_hwsim_cancel_hw_scan,
|
||||
.sw_scan_start = NULL,
|
||||
.sw_scan_complete = NULL,
|
||||
.remain_on_channel = mac80211_hwsim_roc,
|
||||
.cancel_remain_on_channel = mac80211_hwsim_croc,
|
||||
.add_chanctx = mac80211_hwsim_add_chanctx,
|
||||
.remove_chanctx = mac80211_hwsim_remove_chanctx,
|
||||
.change_chanctx = mac80211_hwsim_change_chanctx,
|
||||
.assign_vif_chanctx = mac80211_hwsim_assign_vif_chanctx,
|
||||
.unassign_vif_chanctx = mac80211_hwsim_unassign_vif_chanctx,
|
||||
};
|
||||
|
||||
struct hwsim_new_radio_params {
|
||||
unsigned int channels;
|
||||
@@ -3362,21 +3378,6 @@ static int __init init_mac80211_hwsim(void)
|
||||
if (channels < 1)
|
||||
return -EINVAL;
|
||||
|
||||
mac80211_hwsim_mchan_ops = mac80211_hwsim_ops;
|
||||
mac80211_hwsim_mchan_ops.hw_scan = mac80211_hwsim_hw_scan;
|
||||
mac80211_hwsim_mchan_ops.cancel_hw_scan = mac80211_hwsim_cancel_hw_scan;
|
||||
mac80211_hwsim_mchan_ops.sw_scan_start = NULL;
|
||||
mac80211_hwsim_mchan_ops.sw_scan_complete = NULL;
|
||||
mac80211_hwsim_mchan_ops.remain_on_channel = mac80211_hwsim_roc;
|
||||
mac80211_hwsim_mchan_ops.cancel_remain_on_channel = mac80211_hwsim_croc;
|
||||
mac80211_hwsim_mchan_ops.add_chanctx = mac80211_hwsim_add_chanctx;
|
||||
mac80211_hwsim_mchan_ops.remove_chanctx = mac80211_hwsim_remove_chanctx;
|
||||
mac80211_hwsim_mchan_ops.change_chanctx = mac80211_hwsim_change_chanctx;
|
||||
mac80211_hwsim_mchan_ops.assign_vif_chanctx =
|
||||
mac80211_hwsim_assign_vif_chanctx;
|
||||
mac80211_hwsim_mchan_ops.unassign_vif_chanctx =
|
||||
mac80211_hwsim_unassign_vif_chanctx;
|
||||
|
||||
spin_lock_init(&hwsim_radio_lock);
|
||||
|
||||
err = register_pernet_device(&hwsim_net_ops);
|
||||
|
Referência em uma nova issue
Block a user