]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
Use a single define MAX_NUM_MLD_LINKS for the maximum number of links
authorJouni Malinen <j@w1.fi>
Sat, 2 Mar 2024 09:21:48 +0000 (11:21 +0200)
committerJouni Malinen <j@w1.fi>
Sat, 2 Mar 2024 09:25:20 +0000 (11:25 +0200)
There is no need to maintain a separate MAX_NUM_MLO_LINKS define for
practically the same thing.

Signed-off-by: Jouni Malinen <j@w1.fi>
src/common/wpa_common.c
src/common/wpa_common.h
wlantest/rx_eapol.c
wlantest/rx_mgmt.c
wlantest/sta.c
wlantest/wlantest.h

index c82fd0e5d47988232db236be2d57f8234806cb1e..6ea3311ce1277330cb0e53106e88ef1ea1ce8b5f 100644 (file)
@@ -1104,7 +1104,7 @@ static int wpa_ft_parse_ftie(const u8 *ie, size_t ie_len,
                        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;
@@ -1119,7 +1119,7 @@ static int wpa_ft_parse_ftie(const u8 *ie, size_t ie_len,
                        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;
@@ -1134,7 +1134,7 @@ static int wpa_ft_parse_ftie(const u8 *ie, size_t ie_len,
                        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;
@@ -1353,7 +1353,7 @@ int wpa_ft_parse_ies(const u8 *ies, size_t ies_len, struct wpa_ft_ies *parse,
 
                /* 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--;
@@ -3551,7 +3551,7 @@ static int wpa_parse_generic(const u8 *pos, struct wpa_eapol_ie_parse *ie)
            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);
@@ -3569,7 +3569,7 @@ static int wpa_parse_generic(const u8 *pos, struct wpa_eapol_ie_parse *ie)
            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);
@@ -3587,7 +3587,7 @@ static int wpa_parse_generic(const u8 *pos, struct wpa_eapol_ie_parse *ie)
            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);
@@ -3605,7 +3605,7 @@ static int wpa_parse_generic(const u8 *pos, struct wpa_eapol_ie_parse *ie)
            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);
index a2c7033c9fbc9da5bd63fdb60e99bc3c0b09cf35..01efeea3aeb3b4d56cca3b35280578969c13f573 100644 (file)
@@ -9,6 +9,8 @@
 #ifndef WPA_COMMON_H
 #define WPA_COMMON_H
 
+#include "common/defs.h"
+
 /* IEEE 802.11i */
 #define PMKID_LEN 16
 #define PMK_LEN 32
@@ -557,8 +559,6 @@ int wpa_compare_rsn_ie(int ft_initial_assoc,
                       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;
@@ -596,14 +596,14 @@ struct wpa_ft_ies {
        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;
 };
@@ -700,17 +700,17 @@ struct wpa_eapol_ie_parse {
        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);
index 1610b145ce56658ca3e7138a01f7d755c9011027..8ce031c102b535f69095bf87b90c612d38e04d64 100644 (file)
@@ -491,7 +491,7 @@ static void rx_data_eapol_key_2_of_4(struct wlantest *wt, const u8 *dst,
                }
        }
 
-       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])
@@ -886,7 +886,7 @@ static void learn_kde_keys(struct wlantest *wt, struct wlantest_bss *bss,
                }
        }
 
-       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])
@@ -1099,7 +1099,7 @@ static void rx_data_eapol_key_3_of_4(struct wlantest *wt, const u8 *dst,
 
        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])
index 93263258fb83c21770433b4cd3fd1b71cc0f33f4..a47a81fb222d1d9e606f85d6653b78eb4fc35969 100644 (file)
@@ -280,7 +280,7 @@ static void parse_basic_ml(const u8 *ie, size_t len, bool ap,
                        }
                        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,
@@ -998,7 +998,7 @@ static void dump_mld_info(struct wlantest *wt, struct wlantest_sta *sta)
 
        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]))
@@ -1560,10 +1560,10 @@ static void rx_mgmt_reassoc_req(struct wlantest *wt, const u8 *data,
                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],
@@ -1607,7 +1607,7 @@ static void rx_mgmt_reassoc_req(struct wlantest *wt, const u8 *data,
                        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;
@@ -1889,7 +1889,7 @@ static void process_fte_group_keys_mlo(struct wlantest *wt,
 {
        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;
 
@@ -2169,13 +2169,13 @@ static void rx_mgmt_reassoc_resp(struct wlantest *wt, const u8 *data,
                        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;
 
@@ -2297,7 +2297,7 @@ static void rx_mgmt_reassoc_resp(struct wlantest *wt, const u8 *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;
 
index eb46dc5c6a37893f52dba65ea5ba52a954d54368..0ec5692e4343540b5756d0ac41e0388f89794d3a 100644 (file)
@@ -46,7 +46,7 @@ struct wlantest_sta * sta_find_mlo(struct wlantest *wt,
                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;
                }
@@ -63,7 +63,7 @@ struct wlantest_sta * sta_find_mlo(struct wlantest *wt,
                                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))
@@ -336,7 +336,7 @@ void sta_new_ptk(struct wlantest *wt, struct wlantest_sta *sta,
                                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))
index ec1e3bb48c91921bd769605be24825910047c423..d8deaf0e800c6d84bfd7688565d3e16a241061dd 100644 (file)
@@ -56,7 +56,7 @@ struct wlantest_sta {
        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 */,