2015-05-06 13:20:24

by Jean-Pierre TOSONI

[permalink] [raw]
Subject: [RFC] ath9k: allow up to 8 access point vifs on DFS channels

Allow the combination of 8 (AP + mesh) interfaces on radar channels

Tested with hostapd, 2 and 8 BSSIDs, 1 or 2 DFS channels, BW 20 MHz
TODO: test AP+mesh combination
TODO: test 40 MHz BW
---
This patch was done with quilt on Openwrt against compat-wireless
2014-11-04

--- a/drivers/net/wireless/ath/ath9k/init.c
+++ b/drivers/net/wireless/ath/ath9k/init.c
@@ -723,6 +723,14 @@ static const struct ieee80211_iface_limi
BIT(NL80211_IFTYPE_ADHOC) },
};

+static const struct ieee80211_iface_limit if_dfs_limits_mvap[] = {
+ { .max = 8, .types =
+#ifdef CPTCFG_MAC80211_MESH
+ BIT(NL80211_IFTYPE_MESH_POINT) |
+#endif
+ BIT(NL80211_IFTYPE_AP) },
+};
+
static const struct ieee80211_iface_combination if_comb[] = {
{
.limits = if_limits,
@@ -746,6 +754,16 @@ static const struct ieee80211_iface_comb
.num_different_channels = 1,
.beacon_int_infra_match = true,
.radar_detect_widths = BIT(NL80211_CHAN_WIDTH_20_NOHT)
|
+ BIT(NL80211_CHAN_WIDTH_20) |
+ BIT(NL80211_CHAN_WIDTH_40),
+ },
+ {
+ .limits = if_dfs_limits_mvap,
+ .n_limits = ARRAY_SIZE(if_dfs_limits_mvap),
+ .max_interfaces = 8,
+ .num_different_channels = 1,
+ .beacon_int_infra_match = true,
+ .radar_detect_widths = BIT(NL80211_CHAN_WIDTH_20_NOHT)
|
BIT(NL80211_CHAN_WIDTH_20) |
BIT(NL80211_CHAN_WIDTH_40),
}
--
quilt




2015-05-09 14:13:50

by Kalle Valo

[permalink] [raw]
Subject: Re: [RFC] ath9k: allow up to 8 access point vifs on DFS channels

"Jean-Pierre TOSONI" <[email protected]> writes:

> Allow the combination of 8 (AP + mesh) interfaces on radar channels
>
> Tested with hostapd, 2 and 8 BSSIDs, 1 or 2 DFS channels, BW 20 MHz
> TODO: test AP+mesh combination
> TODO: test 40 MHz BW
> ---
> This patch was done with quilt on Openwrt against compat-wireless
> 2014-11-04
>
> --- a/drivers/net/wireless/ath/ath9k/init.c
> +++ b/drivers/net/wireless/ath/ath9k/init.c
> @@ -723,6 +723,14 @@ static const struct ieee80211_iface_limi
> BIT(NL80211_IFTYPE_ADHOC) },
> };
>
> +static const struct ieee80211_iface_limit if_dfs_limits_mvap[] = {
> + { .max = 8, .types =
> +#ifdef CPTCFG_MAC80211_MESH
> + BIT(NL80211_IFTYPE_MESH_POINT) |
> +#endif
> + BIT(NL80211_IFTYPE_AP) },
> +};

CPTCFG_ prefix is a backports prefix and should not be used in kernel
patches.

--
Kalle Valo