[PATCH wireless-next v3 7/7] wifi: mac80211_hwsim: claim support for Control Integrity Protocol
Benjamin Berg
benjamin at sipsolutions.net
Mon Sep 21 05:40:56 PDT 2026
From: Benjamin Berg <benjamin.berg at intel.com>
The mac80211_hwsim driver never actually generates control frames. As
such, it can simply claim the Control Integrity protocol (CIP).
Signed-off-by: Benjamin Berg <benjamin.berg at intel.com>
---
v3:
- Enable CIP for more interface types (requires extended capabilities)
---
.../wireless/virtual/mac80211_hwsim_main.c | 35 +++++++++++++++++++
1 file changed, 35 insertions(+)
diff --git a/drivers/net/wireless/virtual/mac80211_hwsim_main.c b/drivers/net/wireless/virtual/mac80211_hwsim_main.c
index 1a12261f3e8e..0cf9ef8959e1 100644
--- a/drivers/net/wireless/virtual/mac80211_hwsim_main.c
+++ b/drivers/net/wireless/virtual/mac80211_hwsim_main.c
@@ -5645,6 +5645,14 @@ static void mac80211_hwsim_sband_capab(struct ieee80211_supported_band *sband)
BIT(NL80211_IFTYPE_MESH_POINT) | \
BIT(NL80211_IFTYPE_OCB))
+static const u8 iftypes_ext_capa[] = {
+ [0] = WLAN_EXT_CAPA1_EXT_CHANNEL_SWITCHING,
+ [2] = WLAN_EXT_CAPA3_MULTI_BSSID_SUPPORT,
+ [7] = WLAN_EXT_CAPA8_OPMODE_NOTIF |
+ WLAN_EXT_CAPA8_MAX_MSDU_IN_AMSDU_LSB,
+ [8] = WLAN_EXT_CAPA9_MAX_MSDU_IN_AMSDU_MSB,
+};
+
static const u8 iftypes_ext_capa_ap[] = {
[0] = WLAN_EXT_CAPA1_EXT_CHANNEL_SWITCHING,
[2] = WLAN_EXT_CAPA3_MULTI_BSSID_SUPPORT,
@@ -5669,6 +5677,33 @@ static const struct wiphy_iftype_ext_capab mac80211_hwsim_iftypes_ext_capa[] = {
.eml_capabilities = IEEE80211_EML_CAP_EMLSR_SUPP |
IEEE80211_EML_CAP_EMLMR_SUPPORT,
.mld_capa_and_ops = MAC80211_HWSIM_MLD_CAPA_OPS,
+ /* CIP works as hwsim does not have control frames */
+ .cip_supported = true,
+ .cip_capabilities = 0,
+ },
+ {
+ .iftype = NL80211_IFTYPE_STATION,
+ .extended_capabilities = iftypes_ext_capa,
+ .extended_capabilities_mask = iftypes_ext_capa,
+ .extended_capabilities_len = sizeof(iftypes_ext_capa),
+ .cip_supported = true,
+ .cip_capabilities = 0,
+ },
+ {
+ .iftype = NL80211_IFTYPE_P2P_CLIENT,
+ .extended_capabilities = iftypes_ext_capa,
+ .extended_capabilities_mask = iftypes_ext_capa,
+ .extended_capabilities_len = sizeof(iftypes_ext_capa),
+ .cip_supported = true,
+ .cip_capabilities = 0,
+ },
+ {
+ .iftype = NL80211_IFTYPE_P2P_GO,
+ .extended_capabilities = iftypes_ext_capa,
+ .extended_capabilities_mask = iftypes_ext_capa,
+ .extended_capabilities_len = sizeof(iftypes_ext_capa),
+ .cip_supported = true,
+ .cip_capabilities = 0,
},
};
--
2.55.0
More information about the libertas-dev
mailing list