Lines Matching refs:link_id

40 static void _wpa_hexdump_link(int level, u8 link_id, const char *title,  in _wpa_hexdump_link()  argument
45 if (link_id >= MAX_NUM_MLD_LINKS) in _wpa_hexdump_link()
53 link_id, title); in _wpa_hexdump_link()
65 static void wpa_hexdump_link(int level, u8 link_id, const char *title, in wpa_hexdump_link() argument
68 _wpa_hexdump_link(level, link_id, title, buf, len, false); in wpa_hexdump_link()
72 static void wpa_hexdump_link_key(int level, u8 link_id, const char *title, in wpa_hexdump_link_key() argument
75 _wpa_hexdump_link(level, link_id, title, buf, len, true); in wpa_hexdump_link_key()
1396 static int wpa_supplicant_install_mlo_gtk(struct wpa_sm *sm, u8 link_id, in wpa_supplicant_install_mlo_gtk() argument
1404 if ((sm->mlo.links[link_id].gtk.gtk_len == (size_t) gd->gtk_len && in wpa_supplicant_install_mlo_gtk()
1405 os_memcmp(sm->mlo.links[link_id].gtk.gtk, gd->gtk, in wpa_supplicant_install_mlo_gtk()
1406 sm->mlo.links[link_id].gtk.gtk_len) == 0) || in wpa_supplicant_install_mlo_gtk()
1407 (sm->mlo.links[link_id].gtk_wnm_sleep.gtk_len == in wpa_supplicant_install_mlo_gtk()
1409 os_memcmp(sm->mlo.links[link_id].gtk_wnm_sleep.gtk, gd->gtk, in wpa_supplicant_install_mlo_gtk()
1410 sm->mlo.links[link_id].gtk_wnm_sleep.gtk_len) == 0)) { in wpa_supplicant_install_mlo_gtk()
1413 link_id, gd->keyidx, gd->tx, gd->gtk_len); in wpa_supplicant_install_mlo_gtk()
1417 wpa_hexdump_link_key(MSG_DEBUG, link_id, "RSN: Group Key", gd->gtk, in wpa_supplicant_install_mlo_gtk()
1421 link_id, gd->keyidx, gd->tx, gd->gtk_len); in wpa_supplicant_install_mlo_gtk()
1422 wpa_hexdump_link(MSG_DEBUG, link_id, "RSN: RSC", in wpa_supplicant_install_mlo_gtk()
1431 if (wpa_sm_set_key(sm, link_id, gd->alg, broadcast_ether_addr, in wpa_supplicant_install_mlo_gtk()
1436 link_id, gd->alg, gd->gtk_len, gd->keyidx); in wpa_supplicant_install_mlo_gtk()
1443 sm->mlo.links[link_id].gtk_wnm_sleep.gtk_len = gd->gtk_len; in wpa_supplicant_install_mlo_gtk()
1444 os_memcpy(sm->mlo.links[link_id].gtk_wnm_sleep.gtk, gd->gtk, in wpa_supplicant_install_mlo_gtk()
1445 sm->mlo.links[link_id].gtk_wnm_sleep.gtk_len); in wpa_supplicant_install_mlo_gtk()
1447 sm->mlo.links[link_id].gtk.gtk_len = gd->gtk_len; in wpa_supplicant_install_mlo_gtk()
1448 os_memcpy(sm->mlo.links[link_id].gtk.gtk, gd->gtk, in wpa_supplicant_install_mlo_gtk()
1449 sm->mlo.links[link_id].gtk.gtk_len); in wpa_supplicant_install_mlo_gtk()
1504 static int wpa_supplicant_mlo_gtk(struct wpa_sm *sm, u8 link_id, const u8 *gtk, in wpa_supplicant_mlo_gtk() argument
1518 wpa_hexdump_link_key(MSG_DEBUG, link_id, in wpa_supplicant_mlo_gtk()
1542 wpa_supplicant_install_mlo_gtk(sm, link_id, &gd, key_rsc, 0)) { in wpa_supplicant_mlo_gtk()
1545 link_id); in wpa_supplicant_mlo_gtk()
1750 static int wpa_supplicant_install_mlo_igtk(struct wpa_sm *sm, u8 link_id, in wpa_supplicant_install_mlo_igtk() argument
1758 if ((sm->mlo.links[link_id].igtk.igtk_len == len && in wpa_supplicant_install_mlo_igtk()
1759 os_memcmp(sm->mlo.links[link_id].igtk.igtk, igtk->igtk, in wpa_supplicant_install_mlo_igtk()
1760 sm->mlo.links[link_id].igtk.igtk_len) == 0) || in wpa_supplicant_install_mlo_igtk()
1761 (sm->mlo.links[link_id].igtk_wnm_sleep.igtk_len == len && in wpa_supplicant_install_mlo_igtk()
1762 os_memcmp(sm->mlo.links[link_id].igtk_wnm_sleep.igtk, igtk->igtk, in wpa_supplicant_install_mlo_igtk()
1763 sm->mlo.links[link_id].igtk_wnm_sleep.igtk_len) == 0)) { in wpa_supplicant_install_mlo_igtk()
1766 link_id, keyidx); in wpa_supplicant_install_mlo_igtk()
1772 link_id, keyidx, MAC2STR(igtk->pn)); in wpa_supplicant_install_mlo_igtk()
1773 wpa_hexdump_link_key(MSG_DEBUG, link_id, "RSN: IGTK", igtk->igtk, len); in wpa_supplicant_install_mlo_igtk()
1776 "RSN: Invalid MLO Link %d IGTK KeyID %d", link_id, in wpa_supplicant_install_mlo_igtk()
1780 if (wpa_sm_set_key(sm, link_id, in wpa_supplicant_install_mlo_igtk()
1787 link_id); in wpa_supplicant_install_mlo_igtk()
1792 sm->mlo.links[link_id].igtk_wnm_sleep.igtk_len = len; in wpa_supplicant_install_mlo_igtk()
1793 os_memcpy(sm->mlo.links[link_id].igtk_wnm_sleep.igtk, in wpa_supplicant_install_mlo_igtk()
1795 sm->mlo.links[link_id].igtk_wnm_sleep.igtk_len); in wpa_supplicant_install_mlo_igtk()
1797 sm->mlo.links[link_id].igtk.igtk_len = len; in wpa_supplicant_install_mlo_igtk()
1798 os_memcpy(sm->mlo.links[link_id].igtk.igtk, igtk->igtk, in wpa_supplicant_install_mlo_igtk()
1799 sm->mlo.links[link_id].igtk.igtk_len); in wpa_supplicant_install_mlo_igtk()
1807 wpa_supplicant_install_mlo_bigtk(struct wpa_sm *sm, u8 link_id, in wpa_supplicant_install_mlo_bigtk() argument
1815 if ((sm->mlo.links[link_id].bigtk.bigtk_len == len && in wpa_supplicant_install_mlo_bigtk()
1816 os_memcmp(sm->mlo.links[link_id].bigtk.bigtk, bigtk->bigtk, in wpa_supplicant_install_mlo_bigtk()
1817 sm->mlo.links[link_id].bigtk.bigtk_len) == 0) || in wpa_supplicant_install_mlo_bigtk()
1818 (sm->mlo.links[link_id].bigtk_wnm_sleep.bigtk_len == len && in wpa_supplicant_install_mlo_bigtk()
1819 os_memcmp(sm->mlo.links[link_id].bigtk_wnm_sleep.bigtk, in wpa_supplicant_install_mlo_bigtk()
1821 sm->mlo.links[link_id].bigtk_wnm_sleep.bigtk_len) == in wpa_supplicant_install_mlo_bigtk()
1825 link_id, keyidx); in wpa_supplicant_install_mlo_bigtk()
1831 link_id, keyidx, MAC2STR(bigtk->pn)); in wpa_supplicant_install_mlo_bigtk()
1832 wpa_hexdump_link_key(MSG_DEBUG, link_id, "RSN: BIGTK", bigtk->bigtk, in wpa_supplicant_install_mlo_bigtk()
1836 "RSN: Invalid MLO Link %d BIGTK KeyID %d", link_id, in wpa_supplicant_install_mlo_bigtk()
1840 if (wpa_sm_set_key(sm, link_id, in wpa_supplicant_install_mlo_bigtk()
1847 link_id); in wpa_supplicant_install_mlo_bigtk()
1852 sm->mlo.links[link_id].bigtk_wnm_sleep.bigtk_len = len; in wpa_supplicant_install_mlo_bigtk()
1853 os_memcpy(sm->mlo.links[link_id].bigtk_wnm_sleep.bigtk, in wpa_supplicant_install_mlo_bigtk()
1855 sm->mlo.links[link_id].bigtk_wnm_sleep.bigtk_len); in wpa_supplicant_install_mlo_bigtk()
1857 sm->mlo.links[link_id].bigtk.bigtk_len = len; in wpa_supplicant_install_mlo_bigtk()
1858 os_memcpy(sm->mlo.links[link_id].bigtk.bigtk, bigtk->bigtk, in wpa_supplicant_install_mlo_bigtk()
1859 sm->mlo.links[link_id].bigtk.bigtk_len); in wpa_supplicant_install_mlo_bigtk()
1866 static int _mlo_ieee80211w_set_keys(struct wpa_sm *sm, u8 link_id, in _mlo_ieee80211w_set_keys() argument
1871 if (ie->mlo_igtk[link_id]) { in _mlo_ieee80211w_set_keys()
1873 if (ie->mlo_igtk_len[link_id] != in _mlo_ieee80211w_set_keys()
1878 sm, link_id, in _mlo_ieee80211w_set_keys()
1880 ie->mlo_igtk[link_id], in _mlo_ieee80211w_set_keys()
1885 if (ie->mlo_bigtk[link_id] && sm->beacon_prot) { in _mlo_ieee80211w_set_keys()
1887 if (ie->mlo_bigtk_len[link_id] != in _mlo_ieee80211w_set_keys()
1892 sm, link_id, in _mlo_ieee80211w_set_keys()
1894 ie->mlo_bigtk[link_id], in _mlo_ieee80211w_set_keys()
2340 static int wpa_supplicant_validate_link_kde(struct wpa_sm *sm, u8 link_id, in wpa_supplicant_validate_link_kde() argument
2351 link_id); in wpa_supplicant_validate_link_kde()
2355 if (!ether_addr_equal(sm->mlo.links[link_id].bssid, in wpa_supplicant_validate_link_kde()
2360 link_id, in wpa_supplicant_validate_link_kde()
2362 MAC2STR(sm->mlo.links[link_id].bssid)); in wpa_supplicant_validate_link_kde()
2373 link_id); in wpa_supplicant_validate_link_kde()
2382 "RSN: RSNE not present in MLO Link %u KDE", link_id); in wpa_supplicant_validate_link_kde()
2394 link_id); in wpa_supplicant_validate_link_kde()
2402 sm->mlo.links[link_id].ap_rsne, in wpa_supplicant_validate_link_kde()
2403 sm->mlo.links[link_id].ap_rsne_len, in wpa_supplicant_validate_link_kde()
2407 link_id); in wpa_supplicant_validate_link_kde()
2409 sm->mlo.links[link_id].ap_rsne, in wpa_supplicant_validate_link_kde()
2410 sm->mlo.links[link_id].ap_rsne_len); in wpa_supplicant_validate_link_kde()
2416 if ((sm->mlo.links[link_id].ap_rsnxe && !rsnxe) || in wpa_supplicant_validate_link_kde()
2417 (!sm->mlo.links[link_id].ap_rsnxe && rsnxe) || in wpa_supplicant_validate_link_kde()
2418 (sm->mlo.links[link_id].ap_rsnxe && rsnxe && in wpa_supplicant_validate_link_kde()
2419 (sm->mlo.links[link_id].ap_rsnxe_len != rsnxe_len || in wpa_supplicant_validate_link_kde()
2420 os_memcmp(sm->mlo.links[link_id].ap_rsnxe, rsnxe, in wpa_supplicant_validate_link_kde()
2421 sm->mlo.links[link_id].ap_rsnxe_len) != 0))) { in wpa_supplicant_validate_link_kde()
2424 link_id); in wpa_supplicant_validate_link_kde()
2426 sm->mlo.links[link_id].ap_rsnxe, in wpa_supplicant_validate_link_kde()
2427 sm->mlo.links[link_id].ap_rsnxe_len); in wpa_supplicant_validate_link_kde()
2439 u8 link_id, in wpa_validate_mlo_ieee80211w_kdes() argument
2442 if (ie->mlo_igtk[link_id] && in wpa_validate_mlo_ieee80211w_kdes()
2443 ie->mlo_igtk_len[link_id] != RSN_MLO_IGTK_KDE_PREFIX_LENGTH + in wpa_validate_mlo_ieee80211w_kdes()
2447 (unsigned long) ie->mlo_igtk_len[link_id], link_id); in wpa_validate_mlo_ieee80211w_kdes()
2454 if (ie->mlo_bigtk[link_id] && in wpa_validate_mlo_ieee80211w_kdes()
2455 ie->mlo_bigtk_len[link_id] != RSN_MLO_BIGTK_KDE_PREFIX_LENGTH + in wpa_validate_mlo_ieee80211w_kdes()
2459 (unsigned long) ie->mlo_bigtk_len[link_id], link_id); in wpa_validate_mlo_ieee80211w_kdes()