Lines Matching refs:link_id
172 size_t csa_offs_len, int link_id);
366 err_args->err_info->link_id = -1; in error_handler()
405 struct nlattr *link_id; in error_handler() local
412 link_id = nla_find(nla_data(link_attr), nla_len(link_attr), in error_handler()
414 if (link_id) { in error_handler()
415 err_args->err_info->link_id = nla_get_u8(link_id); in error_handler()
418 err_args->err_info->link_id); in error_handler()
1069 u8 link_id; in get_mlo_info() local
1079 link_id = nla_get_u8(link_data[NL80211_ATTR_MLO_LINK_ID]); in get_mlo_info()
1080 if (link_id >= MAX_NUM_MLD_LINKS) in get_mlo_info()
1082 info->valid_links |= BIT(link_id); in get_mlo_info()
1083 os_memcpy(info->links[link_id].addr, in get_mlo_info()
1086 info->links[link_id].freq = in get_mlo_info()
1571 int link_id = -1; in nl80211_get_assoc_freq_handler() local
1575 link_id = nla_get_u8(bss[NL80211_BSS_MLO_LINK_ID]); in nl80211_get_assoc_freq_handler()
1577 if (link_id >= 0 && link_id < MAX_NUM_MLD_LINKS) { in nl80211_get_assoc_freq_handler()
1578 ctx->freq[link_id] = freq; in nl80211_get_assoc_freq_handler()
1581 link_id, ctx->freq[link_id]); in nl80211_get_assoc_freq_handler()
1585 drv->sta_mlo_info.assoc_link_id == link_id) { in nl80211_get_assoc_freq_handler()
1599 int link_id = -1; in nl80211_get_assoc_freq_handler() local
1603 link_id = nla_get_u8(bss[NL80211_BSS_MLO_LINK_ID]); in nl80211_get_assoc_freq_handler()
1605 if (link_id >= 0 && link_id < MAX_NUM_MLD_LINKS) { in nl80211_get_assoc_freq_handler()
1606 os_memcpy(ctx->bssid[link_id], bssid, ETH_ALEN); in nl80211_get_assoc_freq_handler()
1609 MACSTR, link_id, MAC2STR(bssid)); in nl80211_get_assoc_freq_handler()
1613 drv->sta_mlo_info.assoc_link_id == link_id) { in nl80211_get_assoc_freq_handler()
3080 int link_id) in wpa_driver_nl80211_del_beacon() argument
3084 struct i802_link *link = nl80211_get_link(bss, link_id); in wpa_driver_nl80211_del_beacon()
3099 if (link_id != NL80211_DRV_LINK_ID_NA) { in wpa_driver_nl80211_del_beacon()
3102 link_id); in wpa_driver_nl80211_del_beacon()
3104 if (nla_put_u8(msg, NL80211_ATTR_MLO_LINK_ID, link_id)) { in wpa_driver_nl80211_del_beacon()
3116 int link_id; in wpa_driver_nl80211_del_beacon_all() local
3118 for_each_link_default(bss->valid_links, link_id, NL80211_DRV_LINK_ID_NA) in wpa_driver_nl80211_del_beacon_all()
3119 wpa_driver_nl80211_del_beacon(bss, link_id); in wpa_driver_nl80211_del_beacon_all()
3460 int link_id = params->link_id; in wpa_driver_nl80211_set_key() local
3471 link_id); in wpa_driver_nl80211_set_key()
3598 if (link_id != -1) { in wpa_driver_nl80211_set_key()
3599 wpa_printf(MSG_DEBUG, "nl80211: Link ID %d", link_id); in wpa_driver_nl80211_set_key()
3600 if (nla_put_u8(msg, NL80211_ATTR_MLO_LINK_ID, link_id)) in wpa_driver_nl80211_set_key()
3666 if (link_id != -1) { in wpa_driver_nl80211_set_key()
3668 link_id); in wpa_driver_nl80211_set_key()
3669 if (nla_put_u8(msg, NL80211_ATTR_MLO_LINK_ID, link_id)) in wpa_driver_nl80211_set_key()
4005 p.link_id = -1; in wpa_driver_nl80211_authenticate()
4198 struct i802_link * nl80211_get_link(struct i802_bss *bss, s8 link_id) in nl80211_get_link() argument
4200 if (link_id < 0 || link_id >= MAX_NUM_MLD_LINKS) in nl80211_get_link()
4203 if (BIT(link_id) & bss->valid_links) in nl80211_get_link()
4204 return &bss->links[link_id]; in nl80211_get_link()
4210 static void nl80211_link_set_freq(struct i802_bss *bss, s8 link_id, int freq) in nl80211_link_set_freq() argument
4212 struct i802_link *link = nl80211_get_link(bss, link_id); in nl80211_link_set_freq()
4248 int link_id) in wpa_driver_nl80211_send_mlme() argument
4256 struct i802_link *link = nl80211_get_link(bss, link_id); in wpa_driver_nl80211_send_mlme()
4372 link_id == NL80211_DRV_LINK_ID_NA) in wpa_driver_nl80211_send_mlme()
4391 csa_offs, csa_offs_len, link_id); in wpa_driver_nl80211_send_mlme()
4393 drv->send_frame_link_id = link_id; in wpa_driver_nl80211_send_mlme()
4417 const int *basic_rates, int link_id) in nl80211_set_bss() argument
4434 (link_id != NL80211_DRV_LINK_ID_NA && in nl80211_set_bss()
4435 nla_put_u8(msg, NL80211_ATTR_MLO_LINK_ID, link_id))) { in nl80211_set_bss()
4892 int link_id) in qca_set_allowed_ap_freqs() argument
4910 if (link_id != NL80211_DRV_LINK_ID_NA && in qca_set_allowed_ap_freqs()
4911 nla_put_u8(msg, QCA_WLAN_VENDOR_ATTR_CONFIG_MLO_LINK_ID, link_id)) in qca_set_allowed_ap_freqs()
5504 if (nl80211_link_valid(bss->valid_links, freq->link_id)) { in nl80211_set_channel()
5506 freq->link_id); in nl80211_set_channel()
5508 if (nla_put_u8(msg, NL80211_ATTR_MLO_LINK_ID, freq->link_id)) { in nl80211_set_channel()
5516 nl80211_link_set_freq(bss, freq->link_id, freq->freq); in nl80211_set_channel()
6193 int no_encrypt, int link_id) in nl80211_tx_control_port() argument
6213 (link_id != NL80211_DRV_LINK_ID_NA && in nl80211_tx_control_port()
6214 nla_put_u8(msg, NL80211_ATTR_MLO_LINK_ID, link_id))) { in nl80211_tx_control_port()
6234 drv->eapol_tx_link_id = link_id; in nl80211_tx_control_port()
6274 int link_id) in wpa_driver_nl80211_hapd_send_eapol() argument
6290 link_id); in wpa_driver_nl80211_hapd_send_eapol()
6696 u8 link_id; in nl80211_connect_common() local
6711 for_each_link(mld_params->valid_links, link_id) { in nl80211_connect_common()
6717 link_id) || in nl80211_connect_common()
6719 mld_params->mld_links[link_id].bssid) || in nl80211_connect_common()
6721 mld_params->mld_links[link_id].freq) || in nl80211_connect_common()
6722 (mld_params->mld_links[link_id].disabled && in nl80211_connect_common()
6725 (mld_params->mld_links[link_id].ies && in nl80211_connect_common()
6726 mld_params->mld_links[link_id].ies_len && in nl80211_connect_common()
6728 mld_params->mld_links[link_id].ies_len, in nl80211_connect_common()
6729 mld_params->mld_links[link_id].ies))) in nl80211_connect_common()
6732 os_memcpy(drv->sta_mlo_info.links[link_id].bssid, in nl80211_connect_common()
6733 mld_params->mld_links[link_id].bssid, in nl80211_connect_common()
7294 err_info.link_id = i; in wpa_driver_nl80211_associate()
7305 if (err_info.link_id >= 0) { in wpa_driver_nl80211_associate()
7306 if (err_info.link_id >= MAX_NUM_MLD_LINKS || in wpa_driver_nl80211_associate()
7308 BIT(err_info.link_id))) { in wpa_driver_nl80211_associate()
7311 err_info.link_id); in wpa_driver_nl80211_associate()
7314 params->mld_params.mld_links[err_info.link_id].error = in wpa_driver_nl80211_associate()
7653 int idx, int link_id, u8 *seq) in i802_get_seqnum() argument
7664 (link_id != NL80211_DRV_LINK_ID_NA && in i802_get_seqnum()
7665 nla_put_u8(msg, NL80211_ATTR_MLO_LINK_ID, link_id)) || in i802_get_seqnum()
7676 link_id, idx, res, strerror(-res)); in i802_get_seqnum()
7739 static int i802_flush(void *priv, int link_id) in i802_flush() argument
7745 if (link_id == NL80211_DRV_LINK_ID_NA) in i802_flush()
7751 bss->ifname, link_id); in i802_flush()
7757 if (link_id >= 0 && (bss->valid_links & BIT(link_id)) && in i802_flush()
7758 nla_put_u8(msg, NL80211_ATTR_MLO_LINK_ID, link_id)) in i802_flush()
8117 int link_id) in i802_set_tx_queue_params() argument
8169 if (link_id != NL80211_DRV_LINK_ID_NA && in i802_set_tx_queue_params()
8170 nla_put_u8(msg, NL80211_ATTR_MLO_LINK_ID, link_id)) in i802_set_tx_queue_params()
8176 link_id, queue, aifs, cw_min, cw_max, burst_time, res); in i802_set_tx_queue_params()
8187 const char *ifname, int vlan_id, int link_id) in i802_set_sta_vlan() argument
8201 (link_id != NL80211_DRV_LINK_ID_NA && in i802_set_sta_vlan()
8202 nla_put_u8(msg, NL80211_ATTR_MLO_LINK_ID, link_id)) || in i802_set_sta_vlan()
8245 u16 reason, int link_id) in i802_sta_deauth() argument
8251 struct i802_link *link = nl80211_get_link(bss, link_id); in i802_sta_deauth()
8276 0, NULL, 0, 0, link_id); in i802_sta_deauth()
9038 size_t csa_offs_len, int link_id) in nl80211_send_frame_cmd() argument
9051 ((link_id != NL80211_DRV_LINK_ID_NA) && in nl80211_send_frame_cmd()
9052 nla_put_u8(msg, NL80211_ATTR_MLO_LINK_ID, link_id)) || in nl80211_send_frame_cmd()
9243 int link_id = -1; in nl80211_put_any_link_id() local
9255 link_id = i; in nl80211_put_any_link_id()
9261 if (link_id == -1) in nl80211_put_any_link_id()
9262 link_id = any_valid_link_id; in nl80211_put_any_link_id()
9264 if (link_id == -1) { in nl80211_put_any_link_id()
9270 wpa_printf(MSG_DEBUG, "nl80211: Add Link ID %d", link_id); in nl80211_put_any_link_id()
9271 return nla_put_u8(msg, NL80211_ATTR_MLO_LINK_ID, link_id); in nl80211_put_any_link_id()
9445 static int nl80211_remove_link(struct i802_bss *bss, int link_id) in nl80211_remove_link() argument
9454 bss->ifindex, link_id); in nl80211_remove_link()
9456 if (!(bss->valid_links & BIT(link_id))) { in nl80211_remove_link()
9462 link = &bss->links[link_id]; in nl80211_remove_link()
9464 wpa_driver_nl80211_del_beacon(bss, link_id); in nl80211_remove_link()
9467 bss->valid_links &= ~BIT(link_id); in nl80211_remove_link()
9490 nla_put_u8(msg, NL80211_ATTR_MLO_LINK_ID, link_id)) { in nl80211_remove_link()
9493 "nl80211: remove link (%d) failed", link_id); in nl80211_remove_link()
9501 link_id, ret, strerror(-ret)); in nl80211_remove_link()
9510 u8 link_id; in nl80211_remove_links() local
9512 for_each_link(bss->valid_links, link_id) { in nl80211_remove_links()
9513 ret = nl80211_remove_link(bss, link_id); in nl80211_remove_links()
9547 static int wpa_driver_nl80211_stop_ap(void *priv, int link_id) in wpa_driver_nl80211_stop_ap() argument
9555 if (link_id == -1) { in wpa_driver_nl80211_stop_ap()
9560 if (nl80211_link_valid(bss->valid_links, link_id)) { in wpa_driver_nl80211_stop_ap()
9561 wpa_driver_nl80211_del_beacon(bss, link_id); in wpa_driver_nl80211_stop_ap()
9758 int link_id; in get_links_channel_width() local
9766 link_id = nla_get_u8(tb2[NL80211_ATTR_MLO_LINK_ID]); in get_links_channel_width()
9767 if (link_id >= MAX_NUM_MLD_LINKS) in get_links_channel_width()
9772 mlo_sig->links[link_id].chanwidth = convert2width( in get_links_channel_width()
9775 mlo_sig->links[link_id].center_frq1 = in get_links_channel_width()
9778 mlo_sig->links[link_id].center_frq2 = in get_links_channel_width()
10495 int link_id) in nl80211_tdls_set_discovery_resp_link() argument
10502 link_id); in nl80211_tdls_set_discovery_resp_link()
10511 link_id)) { in nl80211_tdls_set_discovery_resp_link()
10532 size_t len, int link_id) in nl80211_send_tdls_mgmt() argument
10544 if (link_id >= 0 && in nl80211_send_tdls_mgmt()
10545 nl80211_tdls_set_discovery_resp_link(drv, link_id) < 0) in nl80211_send_tdls_mgmt()
10548 if (link_id < 0 && drv->sta_mlo_info.valid_links) in nl80211_send_tdls_mgmt()
10549 link_id = drv->sta_mlo_info.assoc_link_id; in nl80211_send_tdls_mgmt()
10556 (link_id >= 0 && in nl80211_send_tdls_mgmt()
10557 nla_put_u8(msg, NL80211_ATTR_MLO_LINK_ID, link_id)) || in nl80211_send_tdls_mgmt()
10743 const char *ifname, u8 link_id) in driver_nl80211_link_remove() argument
10749 !nl80211_link_valid(bss->valid_links, link_id)) in driver_nl80211_link_remove()
10754 bss->ifname, link_id, type, ifname, bss->valid_links); in driver_nl80211_link_remove()
10756 nl80211_remove_link(bss, link_id); in driver_nl80211_link_remove()
10812 int link_id) in driver_nl80211_send_mlme() argument
10817 csa_offs_len, no_encrypt, link_id); in driver_nl80211_send_mlme()
10830 int link_id) in driver_nl80211_set_sta_vlan() argument
10833 return i802_set_sta_vlan(bss, addr, ifname, vlan_id, link_id); in driver_nl80211_set_sta_vlan()
11225 settings->link_id, in nl80211_switch_channel()
11300 (settings->link_id != NL80211_DRV_LINK_ID_NA && in nl80211_switch_channel()
11301 nla_put_u8(msg, NL80211_ATTR_MLO_LINK_ID, settings->link_id))) in nl80211_switch_channel()
11424 if (nl80211_link_valid(bss->valid_links, settings->link_id)) { in nl80211_switch_color()
11427 settings->link_id); in nl80211_switch_color()
11430 settings->link_id)) { in nl80211_switch_color()
12550 (params->link_id != NL80211_DRV_LINK_ID_NA && in nl80211_qca_do_acs()
12552 params->link_id))) { in nl80211_qca_do_acs()
12562 params->edmg_enabled, params->link_id); in nl80211_qca_do_acs()
13857 static int nl80211_link_add(void *priv, u8 link_id, const u8 *addr, in nl80211_link_add() argument
13866 link_id, MAC2STR(addr)); in nl80211_link_add()
13875 if (link_id >= MAX_NUM_MLD_LINKS) { in nl80211_link_add()
13877 "nl80211: invalid link_id=%u", link_id); in nl80211_link_add()
13881 if (bss->valid_links & BIT(link_id)) { in nl80211_link_add()
13883 "nl80211: MLD: Link %u already set", link_id); in nl80211_link_add()
13897 nla_put_u8(msg, NL80211_ATTR_MLO_LINK_ID, link_id) || in nl80211_link_add()
13910 os_memcpy(bss->links[link_id].addr, addr, ETH_ALEN); in nl80211_link_add()
13914 bss->flink = &bss->links[link_id]; in nl80211_link_add()
13916 bss->valid_links |= BIT(link_id); in nl80211_link_add()
13917 bss->links[link_id].ctx = bss_ctx; in nl80211_link_add()
13926 static int wpa_driver_nl80211_link_sta_remove(void *priv, u8 link_id, in wpa_driver_nl80211_link_sta_remove() argument
13934 if (!(bss->valid_links & BIT(link_id))) in wpa_driver_nl80211_link_sta_remove()
13939 nla_put_u8(msg, NL80211_ATTR_MLO_LINK_ID, link_id)) { in wpa_driver_nl80211_link_sta_remove()
13948 link_id, MAC2STR(addr), bss->ifname, ret, strerror(-ret)); in wpa_driver_nl80211_link_sta_remove()