wifi: mac80211_hwsim: Multiple BSSID support
authorAloka Dixit <quic_alokad@quicinc.com>
Tue, 6 Dec 2022 00:50:39 +0000 (16:50 -0800)
committerJohannes Berg <johannes.berg@intel.com>
Wed, 22 Mar 2023 12:55:03 +0000 (13:55 +0100)
Advertise multiple BSSID support for up to 8 interfaces.
Do not send beacons from the non-transmitting interfaces.

Signed-off-by: Aloka Dixit <quic_alokad@quicinc.com>
Link: https://lore.kernel.org/r/20221206005040.3177-4-quic_alokad@quicinc.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
drivers/net/wireless/virtual/mac80211_hwsim.c

index 0b4f489c8036847d9b2108be1445172b373feaba..58ceabbd1550249180e6c59cc90ca778512ebe4f 100644 (file)
@@ -2122,6 +2122,9 @@ static void mac80211_hwsim_beacon_tx(void *arg, u8 *mac,
            vif->type != NL80211_IFTYPE_OCB)
                return;
 
+       if (vif->mbssid_tx_vif && vif->mbssid_tx_vif != vif)
+               return;
+
        skb = ieee80211_beacon_get(hw, vif, link_id);
        if (!skb)
                return;
@@ -4405,6 +4408,8 @@ static int mac80211_hwsim_new_radio(struct genl_info *info,
                hw->wiphy->n_cipher_suites = param->n_ciphers;
        }
 
+       hw->wiphy->mbssid_max_interfaces = 8;
+
        data->rx_rssi = DEFAULT_RX_RSSI;
 
        INIT_DELAYED_WORK(&data->roc_start, hw_roc_start);