wifi: mac80211_hwsim: Add custom reg for DFS concurrent
authorAndrei Otcheretianski <andrei.otcheretianski@intel.com>
Wed, 20 Dec 2023 11:41:37 +0000 (13:41 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Thu, 21 Dec 2023 19:35:14 +0000 (20:35 +0100)
Add custom regulatory that marks DFS channels as DFS_CONCURRENT.

Signed-off-by: Andrei Otcheretianski <andrei.otcheretianski@intel.com>
Reviewed-by: Gregory Greenman <gregory.greenman@intel.com>
Signed-off-by: Miri Korenblit <miriam.rachel.korenblit@intel.com>
Link: https://msgid.link/20231220133549.4b08a6530fa3.Ic285ca7a4728e77a4bea1394a6a52cf286fbea22@changeid
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
drivers/net/wireless/virtual/mac80211_hwsim.c

index 84f417b0d8c6e148fc51556e7103349f2be91cea..a84340c2075ff76c535e8bd4627c3854b251aa44 100644 (file)
@@ -190,10 +190,25 @@ static const struct ieee80211_regdomain hwsim_world_regdom_custom_03 = {
        }
 };
 
+static const struct ieee80211_regdomain hwsim_world_regdom_custom_04 = {
+       .n_reg_rules = 6,
+       .alpha2 =  "99",
+       .reg_rules = {
+               REG_RULE(2412 - 10, 2462 + 10, 40, 0, 20, 0),
+               REG_RULE(2484 - 10, 2484 + 10, 40, 0, 20, 0),
+               REG_RULE(5150 - 10, 5240 + 10, 80, 0, 30, 0),
+               REG_RULE(5260 - 10, 5320 + 10, 80, 0, 30,
+                        NL80211_RRF_DFS_CONCURRENT | NL80211_RRF_DFS),
+               REG_RULE(5745 - 10, 5825 + 10, 80, 0, 30, 0),
+               REG_RULE(5855 - 10, 5925 + 10, 80, 0, 33, 0),
+       }
+};
+
 static const struct ieee80211_regdomain *hwsim_world_regdom_custom[] = {
        &hwsim_world_regdom_custom_01,
        &hwsim_world_regdom_custom_02,
        &hwsim_world_regdom_custom_03,
+       &hwsim_world_regdom_custom_04,
 };
 
 struct hwsim_vif_priv {
@@ -5294,6 +5309,10 @@ static int mac80211_hwsim_new_radio(struct genl_info *info,
                schedule_timeout_interruptible(1);
        }
 
+       /* TODO: Add param */
+       wiphy_ext_feature_set(hw->wiphy,
+                             NL80211_EXT_FEATURE_DFS_CONCURRENT);
+
        if (param->no_vif)
                ieee80211_hw_set(hw, NO_AUTO_VIF);