wireless: deprecate WDS and disable by default
The old WDS 4-addr frame support is very limited, e.g. * no encryption is possible on such links * it cannot support rate/HT/VHT negotiation * management APIs are very restricted These make the WDS legacy mode useless in practice. All of these are resolved by the 4-addr AP/client support, so there's also no reason to improve WDS in the future. Therefore, add a Kconfig option to disable legacy WDS. This gives people an "emergency valve" while they migrate to the better-supported 4-addr AP/client option; we plan to remove it (and the associated cfg80211/mac80211 code, which is the ultimate goal) in the future. Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
@@ -571,6 +571,11 @@ static int wiphy_verify_combinations(struct wiphy *wiphy)
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
#ifndef CONFIG_WIRELESS_WDS
|
||||
if (WARN_ON(all_iftypes & BIT(NL80211_IFTYPE_WDS)))
|
||||
return -EINVAL;
|
||||
#endif
|
||||
|
||||
/* You can't even choose that many! */
|
||||
if (WARN_ON(cnt < c->max_interfaces))
|
||||
return -EINVAL;
|
||||
@@ -609,6 +614,11 @@ int wiphy_register(struct wiphy *wiphy)
|
||||
!rdev->ops->add_nan_func || !rdev->ops->del_nan_func)))
|
||||
return -EINVAL;
|
||||
|
||||
#ifndef CONFIG_WIRELESS_WDS
|
||||
if (WARN_ON(wiphy->interface_modes & BIT(NL80211_IFTYPE_WDS)))
|
||||
return -EINVAL;
|
||||
#endif
|
||||
|
||||
/*
|
||||
* if a wiphy has unsupported modes for regulatory channel enforcement,
|
||||
* opt-out of enforcement checking
|
||||
|
Reference in New Issue
Block a user