link_id = pos[2] & 0x0f;
wpa_printf(MSG_DEBUG, "FT: MLO GTK (Link ID %u)",
link_id);
- if (link_id >= MAX_NUM_MLO_LINKS)
+ if (link_id >= MAX_NUM_MLD_LINKS)
break;
parse->valid_mlo_gtks |= BIT(link_id);
parse->mlo_gtk[link_id] = pos;
link_id = pos[2 + 6] & 0x0f;
wpa_printf(MSG_DEBUG, "FT: MLO IGTK (Link ID %u)",
link_id);
- if (link_id >= MAX_NUM_MLO_LINKS)
+ if (link_id >= MAX_NUM_MLD_LINKS)
break;
parse->valid_mlo_igtks |= BIT(link_id);
parse->mlo_igtk[link_id] = pos;
link_id = pos[2 + 6] & 0x0f;
wpa_printf(MSG_DEBUG, "FT: MLO BIGTK (Link ID %u)",
link_id);
- if (link_id >= MAX_NUM_MLO_LINKS)
+ if (link_id >= MAX_NUM_MLD_LINKS)
break;
parse->valid_mlo_bigtks |= BIT(link_id);
parse->mlo_bigtk[link_id] = pos;
/* TODO: This count should be done based on all _requested_,
* not _accepted_ links. */
- for (link_id = 0; link_id < MAX_NUM_MLO_LINKS; link_id++) {
+ for (link_id = 0; link_id < MAX_NUM_MLD_LINKS; link_id++) {
if (parse->mlo_gtk[link_id]) {
if (parse->rsn)
prot_ie_count--;
selector == RSN_KEY_DATA_MLO_GTK) {
link_id = (p[0] & RSN_MLO_GTK_KDE_PREFIX0_LINK_ID_MASK) >>
RSN_MLO_GTK_KDE_PREFIX0_LINK_ID_SHIFT;
- if (link_id >= MAX_NUM_MLO_LINKS)
+ if (link_id >= MAX_NUM_MLD_LINKS)
return 2;
ie->valid_mlo_gtks |= BIT(link_id);
selector == RSN_KEY_DATA_MLO_IGTK) {
link_id = (p[8] & RSN_MLO_IGTK_KDE_PREFIX8_LINK_ID_MASK) >>
RSN_MLO_IGTK_KDE_PREFIX8_LINK_ID_SHIFT;
- if (link_id >= MAX_NUM_MLO_LINKS)
+ if (link_id >= MAX_NUM_MLD_LINKS)
return 2;
ie->valid_mlo_igtks |= BIT(link_id);
selector == RSN_KEY_DATA_MLO_BIGTK) {
link_id = (p[8] & RSN_MLO_BIGTK_KDE_PREFIX8_LINK_ID_MASK) >>
RSN_MLO_BIGTK_KDE_PREFIX8_LINK_ID_SHIFT;
- if (link_id >= MAX_NUM_MLO_LINKS)
+ if (link_id >= MAX_NUM_MLD_LINKS)
return 2;
ie->valid_mlo_bigtks |= BIT(link_id);
selector == RSN_KEY_DATA_MLO_LINK) {
link_id = (p[0] & RSN_MLO_LINK_KDE_LI_LINK_ID_MASK) >>
RSN_MLO_LINK_KDE_LI_LINK_ID_SHIFT;
- if (link_id >= MAX_NUM_MLO_LINKS)
+ if (link_id >= MAX_NUM_MLD_LINKS)
return 2;
ie->valid_mlo_links |= BIT(link_id);
#ifndef WPA_COMMON_H
#define WPA_COMMON_H
+#include "common/defs.h"
+
/* IEEE 802.11i */
#define PMKID_LEN 16
#define PMK_LEN 32
const u8 *ie2, size_t ie2len);
int wpa_insert_pmkid(u8 *ies, size_t *ies_len, const u8 *pmkid, bool replace);
-#define MAX_NUM_MLO_LINKS 15
-
struct wpa_ft_ies {
const u8 *mdie;
size_t mdie_len;
const u8 *rsnxe;
size_t rsnxe_len;
u16 valid_mlo_gtks; /* bitmap of valid link GTK subelements */
- const u8 *mlo_gtk[MAX_NUM_MLO_LINKS];
- size_t mlo_gtk_len[MAX_NUM_MLO_LINKS];
+ const u8 *mlo_gtk[MAX_NUM_MLD_LINKS];
+ size_t mlo_gtk_len[MAX_NUM_MLD_LINKS];
u16 valid_mlo_igtks; /* bitmap of valid link IGTK subelements */
- const u8 *mlo_igtk[MAX_NUM_MLO_LINKS];
- size_t mlo_igtk_len[MAX_NUM_MLO_LINKS];
+ const u8 *mlo_igtk[MAX_NUM_MLD_LINKS];
+ size_t mlo_igtk_len[MAX_NUM_MLD_LINKS];
u16 valid_mlo_bigtks; /* bitmap of valid link BIGTK subelements */
- const u8 *mlo_bigtk[MAX_NUM_MLO_LINKS];
- size_t mlo_bigtk_len[MAX_NUM_MLO_LINKS];
+ const u8 *mlo_bigtk[MAX_NUM_MLD_LINKS];
+ size_t mlo_bigtk_len[MAX_NUM_MLD_LINKS];
struct wpabuf *fte_buf;
};
const u8 *wmm;
size_t wmm_len;
u16 valid_mlo_gtks; /* bitmap of valid link GTK KDEs */
- const u8 *mlo_gtk[MAX_NUM_MLO_LINKS];
- size_t mlo_gtk_len[MAX_NUM_MLO_LINKS];
+ const u8 *mlo_gtk[MAX_NUM_MLD_LINKS];
+ size_t mlo_gtk_len[MAX_NUM_MLD_LINKS];
u16 valid_mlo_igtks; /* bitmap of valid link IGTK KDEs */
- const u8 *mlo_igtk[MAX_NUM_MLO_LINKS];
- size_t mlo_igtk_len[MAX_NUM_MLO_LINKS];
+ const u8 *mlo_igtk[MAX_NUM_MLD_LINKS];
+ size_t mlo_igtk_len[MAX_NUM_MLD_LINKS];
u16 valid_mlo_bigtks; /* bitmap of valid link BIGTK KDEs */
- const u8 *mlo_bigtk[MAX_NUM_MLO_LINKS];
- size_t mlo_bigtk_len[MAX_NUM_MLO_LINKS];
+ const u8 *mlo_bigtk[MAX_NUM_MLD_LINKS];
+ size_t mlo_bigtk_len[MAX_NUM_MLD_LINKS];
u16 valid_mlo_links; /* bitmap of valid MLO link KDEs */
- const u8 *mlo_link[MAX_NUM_MLO_LINKS];
- size_t mlo_link_len[MAX_NUM_MLO_LINKS];
+ const u8 *mlo_link[MAX_NUM_MLD_LINKS];
+ size_t mlo_link_len[MAX_NUM_MLD_LINKS];
};
int wpa_parse_kde_ies(const u8 *buf, size_t len, struct wpa_eapol_ie_parse *ie);
}
}
- for (link_id = 0; link_id < MAX_NUM_MLO_LINKS; link_id++) {
+ for (link_id = 0; link_id < MAX_NUM_MLD_LINKS; link_id++) {
const u8 *addr;
if (!ie.mlo_link[link_id])
}
}
- for (link_id = 0; link_id < MAX_NUM_MLO_LINKS; link_id++) {
+ for (link_id = 0; link_id < MAX_NUM_MLD_LINKS; link_id++) {
const u8 *addr;
if (!ie.mlo_link[link_id])
rsne = ie.rsn_ie;
rsne_len = ie.rsn_ie_len;
- for (link_id = 0; !rsne && link_id < MAX_NUM_MLO_LINKS; link_id++) {
+ for (link_id = 0; !rsne && link_id < MAX_NUM_MLD_LINKS; link_id++) {
const u8 *addr, *pos, *end;
if (!ie.mlo_link[link_id])
}
wpa_printf(MSG_DEBUG, "STA MAC Address: " MACSTR,
MAC2STR(pos));
- if (sta && link_id < MAX_NUM_MLO_LINKS) {
+ if (sta && link_id < MAX_NUM_MLD_LINKS) {
os_memcpy(sta->link_addr[link_id], pos,
ETH_ALEN);
wpa_printf(MSG_DEBUG,
os_memset(zero, 0, ETH_ALEN);
- for (link_id = 0; link_id < MAX_NUM_MLO_LINKS; link_id++) {
+ for (link_id = 0; link_id < MAX_NUM_MLD_LINKS; link_id++) {
bss = bss_find_mld(wt, sta->bss->mld_mac_addr, link_id);
if (!bss &&
is_zero_ether_addr(sta->link_addr[link_id]))
if (elems.basic_mle) {
int i;
- extra = wpabuf_alloc(MAX_NUM_MLO_LINKS * ETH_ALEN);
+ extra = wpabuf_alloc(MAX_NUM_MLD_LINKS * ETH_ALEN);
if (!extra)
goto out;
- for (i = 0; i < MAX_NUM_MLO_LINKS; i++) {
+ for (i = 0; i < MAX_NUM_MLD_LINKS; i++) {
if (!is_zero_ether_addr(sta->link_addr[i]))
wpabuf_put_data(extra,
sta->link_addr[i],
wpa_hexdump(MSG_MSGDUMP, "FT: RSNXE",
parse.rsnxe ? parse.rsnxe - 2 : NULL,
parse.rsnxe ? parse.rsnxe_len + 2 : 0);
- for (link_id = 0; link_id < MAX_NUM_MLO_LINKS;
+ for (link_id = 0; link_id < MAX_NUM_MLD_LINKS;
link_id++) {
if (is_zero_ether_addr(sta->link_addr[link_id]))
continue;
{
int link_id;
- for (link_id = 0; link_id < MAX_NUM_MLO_LINKS; link_id++) {
+ for (link_id = 0; link_id < MAX_NUM_MLD_LINKS; link_id++) {
struct wlantest_bss *l_bss;
struct wlantest_sta *l_sta;
u8 rsne_buf[257];
size_t rsne_len;
- extra = wpabuf_alloc(MAX_NUM_MLO_LINKS * ETH_ALEN);
- rsne = wpabuf_alloc(MAX_NUM_MLO_LINKS * 256);
- rsnxe = wpabuf_alloc(MAX_NUM_MLO_LINKS * 256);
+ extra = wpabuf_alloc(MAX_NUM_MLD_LINKS * ETH_ALEN);
+ rsne = wpabuf_alloc(MAX_NUM_MLD_LINKS * 256);
+ rsnxe = wpabuf_alloc(MAX_NUM_MLD_LINKS * 256);
if (!extra || !rsne || !rsnxe)
goto out;
- for (link_id = 0; link_id < MAX_NUM_MLO_LINKS;
+ for (link_id = 0; link_id < MAX_NUM_MLD_LINKS;
link_id++) {
struct wpa_ie_data ie_data;
elems.ftie - 2, elems.fte_defrag_len + 2);
wpa_hexdump_buf(MSG_MSGDUMP, "FT: RSNE", rsne);
wpa_hexdump_buf(MSG_MSGDUMP, "FT: RSNXE", rsnxe);
- for (link_id = 0; link_id < MAX_NUM_MLO_LINKS;
+ for (link_id = 0; link_id < MAX_NUM_MLD_LINKS;
link_id++) {
struct wlantest_bss *l_bss;
return NULL;
dl_list_for_each(sta, &bss->sta, struct wlantest_sta, list) {
- for (link_id = 0; link_id < MAX_NUM_MLO_LINKS; link_id++) {
+ for (link_id = 0; link_id < MAX_NUM_MLD_LINKS; link_id++) {
if (ether_addr_equal(sta->link_addr[link_id], addr))
return sta;
}
return sta;
if (ether_addr_equal(sta->mld_mac_addr, addr))
return sta;
- for (link_id = 0; link_id < MAX_NUM_MLO_LINKS;
+ for (link_id = 0; link_id < MAX_NUM_MLD_LINKS;
link_id++) {
if (ether_addr_equal(sta->link_addr[link_id],
addr))
continue;
if (ether_addr_equal(sta->addr, osta->addr))
match = true;
- for (link_id = 0; !match && link_id < MAX_NUM_MLO_LINKS;
+ for (link_id = 0; !match && link_id < MAX_NUM_MLD_LINKS;
link_id++) {
if (ether_addr_equal(osta->link_addr[link_id],
sta->addr))
struct wlantest_bss *bss;
u8 addr[ETH_ALEN];
u8 mld_mac_addr[ETH_ALEN];
- u8 link_addr[MAX_NUM_MLO_LINKS][ETH_ALEN];
+ u8 link_addr[MAX_NUM_MLD_LINKS][ETH_ALEN];
enum {
STATE1 /* not authenticated */,
STATE2 /* authenticated */,