Skip to content

Commit fa2a71a

Browse files
ilanpeer2jmberg-intel
authored andcommitted
wifi: ieee80211: Add some missing MLO related definitions
As a preparation to support ML reconfiguration request and response, add additional ML reconfiguration definitions required to support the flow. See Section 9.4.2.321.4 in Draft P802.11be_D6.0. Signed-off-by: Ilan Peer <[email protected]> Signed-off-by: Miri Korenblit <[email protected]> Link: https://patch.msgid.link/20250102161730.4970ca10ebfd.Ibe7f6108cd0e04b8c739a8e35a4f485f664a17e6@changeid Signed-off-by: Johannes Berg <[email protected]>
1 parent 2215914 commit fa2a71a

File tree

1 file changed

+28
-2
lines changed

1 file changed

+28
-2
lines changed

include/linux/ieee80211.h

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3885,6 +3885,16 @@ enum ieee80211_protected_eht_actioncode {
38853885
WLAN_PROTECTED_EHT_ACTION_TTLM_REQ = 0,
38863886
WLAN_PROTECTED_EHT_ACTION_TTLM_RES = 1,
38873887
WLAN_PROTECTED_EHT_ACTION_TTLM_TEARDOWN = 2,
3888+
WLAN_PROTECTED_EHT_ACTION_EPCS_ENABLE_REQ = 3,
3889+
WLAN_PROTECTED_EHT_ACTION_EPCS_ENABLE_RESP = 4,
3890+
WLAN_PROTECTED_EHT_ACTION_EPCS_ENABLE_TEARDOWN = 5,
3891+
WLAN_PROTECTED_EHT_ACTION_EML_OP_MODE_NOTIF = 6,
3892+
WLAN_PROTECTED_EHT_ACTION_LINK_RECOMMEND = 7,
3893+
WLAN_PROTECTED_EHT_ACTION_ML_OP_UPDATE_REQ = 8,
3894+
WLAN_PROTECTED_EHT_ACTION_ML_OP_UPDATE_RESP = 9,
3895+
WLAN_PROTECTED_EHT_ACTION_LINK_RECONFIG_NOTIF = 10,
3896+
WLAN_PROTECTED_EHT_ACTION_LINK_RECONFIG_REQ = 11,
3897+
WLAN_PROTECTED_EHT_ACTION_LINK_RECONFIG_RESP = 12,
38883898
};
38893899

38903900
/* Security key length */
@@ -5021,6 +5031,8 @@ struct ieee80211_multi_link_elem {
50215031
#define IEEE80211_MLD_CAP_OP_TID_TO_LINK_MAP_NEG_SUPP_DIFF 3
50225032
#define IEEE80211_MLD_CAP_OP_FREQ_SEP_TYPE_IND 0x0f80
50235033
#define IEEE80211_MLD_CAP_OP_AAR_SUPPORT 0x1000
5034+
#define IEEE80211_MLD_CAP_OP_LINK_RECONF_SUPPORT 0x2000
5035+
#define IEEE80211_MLD_CAP_OP_ALIGNED_TWT_SUPPORT 0x4000
50245036

50255037
struct ieee80211_mle_basic_common_info {
50265038
u8 len;
@@ -5036,6 +5048,9 @@ struct ieee80211_mle_preq_common_info {
50365048
} __packed;
50375049

50385050
#define IEEE80211_MLC_RECONF_PRES_MLD_MAC_ADDR 0x0010
5051+
#define IEEE80211_MLC_RECONF_PRES_EML_CAPA 0x0020
5052+
#define IEEE80211_MLC_RECONF_PRES_MLD_CAPA_OP 0x0040
5053+
#define IEEE80211_MLC_RECONF_PRES_EXT_MLD_CAPA_OP 0x0080
50395054

50405055
/* no fixed fields in RECONF */
50415056

@@ -5354,6 +5369,12 @@ static inline bool ieee80211_mle_size_ok(const u8 *data, size_t len)
53545369
case IEEE80211_ML_CONTROL_TYPE_RECONF:
53555370
if (control & IEEE80211_MLC_RECONF_PRES_MLD_MAC_ADDR)
53565371
common += ETH_ALEN;
5372+
if (control & IEEE80211_MLC_RECONF_PRES_EML_CAPA)
5373+
common += 2;
5374+
if (control & IEEE80211_MLC_RECONF_PRES_MLD_CAPA_OP)
5375+
common += 2;
5376+
if (control & IEEE80211_MLC_RECONF_PRES_EXT_MLD_CAPA_OP)
5377+
common += 2;
53575378
break;
53585379
case IEEE80211_ML_CONTROL_TYPE_TDLS:
53595380
common += sizeof(struct ieee80211_mle_tdls_common_info);
@@ -5504,8 +5525,13 @@ ieee80211_mle_basic_sta_prof_bss_param_ch_cnt(const struct ieee80211_mle_per_sta
55045525
#define IEEE80211_MLE_STA_RECONF_CONTROL_COMPLETE_PROFILE 0x0010
55055526
#define IEEE80211_MLE_STA_RECONF_CONTROL_STA_MAC_ADDR_PRESENT 0x0020
55065527
#define IEEE80211_MLE_STA_RECONF_CONTROL_AP_REM_TIMER_PRESENT 0x0040
5507-
#define IEEE80211_MLE_STA_RECONF_CONTROL_OPERATION_UPDATE_TYPE 0x0780
5508-
#define IEEE80211_MLE_STA_RECONF_CONTROL_OPERATION_PARAMS_PRESENT 0x0800
5528+
#define IEEE80211_MLE_STA_RECONF_CONTROL_OPERATION_TYPE 0x0780
5529+
#define IEEE80211_MLE_STA_RECONF_CONTROL_OPERATION_TYPE_AP_REM 0
5530+
#define IEEE80211_MLE_STA_RECONF_CONTROL_OPERATION_TYPE_OP_PARAM_UPDATE 1
5531+
#define IEEE80211_MLE_STA_RECONF_CONTROL_OPERATION_TYPE_ADD_LINK 2
5532+
#define IEEE80211_MLE_STA_RECONF_CONTROL_OPERATION_TYPE_DEL_LINK 3
5533+
#define IEEE80211_MLE_STA_RECONF_CONTROL_OPERATION_TYPE_NSTR_STATUS 4
5534+
#define IEEE80211_MLE_STA_RECONF_CONTROL_OPERATION_PARAMS_PRESENT 0x0800
55095535

55105536
/**
55115537
* ieee80211_mle_reconf_sta_prof_size_ok - validate reconfiguration multi-link

0 commit comments

Comments
 (0)