Lines Matching refs:params

1374 		result->params[parse.idx].cipher = parse.p.cipher;
1375 result->params[parse.idx].key_len = parse.p.key_len;
1376 result->params[parse.idx].key = result->data[parse.idx];
3668 struct vif_params *params)
3678 &params->flags);
3685 if (params->flags & MONITOR_FLAG_ACTIVE &&
3707 params->vht_mumimo_groups = mumimo_groups;
3720 params->vht_mumimo_follow_addr =
3757 struct vif_params params;
3763 memset(&params, 0, sizeof(params));
3794 params.use_4addr = !!nla_get_u8(info->attrs[NL80211_ATTR_4ADDR]);
3796 err = nl80211_valid_4addr(rdev, dev, params.use_4addr, ntype);
3800 params.use_4addr = -1;
3803 err = nl80211_parse_mon_options(rdev, ntype, info, &params);
3810 err = cfg80211_change_iface(rdev, dev, ntype, &params);
3814 if (!err && params.use_4addr != -1)
3815 dev->ieee80211_ptr->use_4addr = params.use_4addr;
3829 struct vif_params params;
3838 memset(&params, 0, sizeof(params));
3852 nla_memcpy(params.macaddr, info->attrs[NL80211_ATTR_MAC],
3854 if (!is_valid_ether_addr(params.macaddr))
3859 params.use_4addr = !!nla_get_u8(info->attrs[NL80211_ATTR_4ADDR]);
3860 err = nl80211_valid_4addr(rdev, NULL, params.use_4addr, type);
3865 if (!cfg80211_iftype_allowed(&rdev->wiphy, type, params.use_4addr, 0))
3868 err = nl80211_parse_mon_options(rdev, type, info, &params);
3878 NET_NAME_USER, type, &params);
3969 static void get_key_callback(void *c, struct key_params *params)
3974 if ((params->key &&
3976 params->key_len, params->key)) ||
3977 (params->seq &&
3979 params->seq_len, params->seq)) ||
3980 (params->cipher &&
3982 params->cipher)))
3989 if ((params->key &&
3991 params->key_len, params->key)) ||
3992 (params->seq &&
3994 params->seq_len, params->seq)) ||
3995 (params->cipher &&
3997 params->cipher)))
4965 struct cfg80211_ap_settings *params)
4969 struct cfg80211_fils_discovery *fd = &params->fils_discovery;
4996 struct cfg80211_ap_settings *params)
5001 &params->unsol_bcast_probe_resp;
5022 static void nl80211_check_ap_rate_selectors(struct cfg80211_ap_settings *params,
5032 params->ht_required = true;
5034 params->vht_required = true;
5036 params->he_required = true;
5045 static void nl80211_calculate_ap_params(struct cfg80211_ap_settings *params)
5047 const struct cfg80211_beacon_data *bcn = &params->beacon;
5054 nl80211_check_ap_rate_selectors(params, rates);
5057 nl80211_check_ap_rate_selectors(params, rates);
5060 if (cap && cap[1] >= sizeof(*params->ht_cap))
5061 params->ht_cap = (void *)(cap + 2);
5063 if (cap && cap[1] >= sizeof(*params->vht_cap))
5064 params->vht_cap = (void *)(cap + 2);
5066 if (cap && cap[1] >= sizeof(*params->he_cap) + 1)
5067 params->he_cap = (void *)(cap + 3);
5069 if (cap && cap[1] >= sizeof(*params->he_oper) + 1)
5070 params->he_oper = (void *)(cap + 3);
5074 struct cfg80211_ap_settings *params)
5087 params->chandef = wdev->preset_chandef;
5152 struct cfg80211_ap_settings params;
5165 memset(&params, 0, sizeof(params));
5173 err = nl80211_parse_beacon(rdev, info->attrs, &params.beacon);
5177 params.beacon_interval =
5179 params.dtim_period =
5183 params.beacon_interval);
5195 params.ssid = nla_data(info->attrs[NL80211_ATTR_SSID]);
5196 params.ssid_len =
5198 if (params.ssid_len == 0)
5203 params.hidden_ssid = nla_get_u32(
5206 params.privacy = !!info->attrs[NL80211_ATTR_PRIVACY];
5209 params.auth_type = nla_get_u32(
5211 if (!nl80211_valid_auth_type(rdev, params.auth_type,
5215 params.auth_type = NL80211_AUTHTYPE_AUTOMATIC;
5217 err = nl80211_crypto_settings(rdev, info, &params.crypto,
5225 params.inactivity_timeout = nla_get_u16(
5232 params.p2p_ctwindow =
5234 if (params.p2p_ctwindow != 0 &&
5245 params.p2p_opp_ps = tmp;
5246 if (params.p2p_opp_ps != 0 &&
5252 err = nl80211_parse_chandef(rdev, info, &params.chandef);
5256 params.chandef = wdev->preset_chandef;
5257 } else if (!nl80211_get_ap_channel(rdev, &params))
5260 if (!cfg80211_reg_can_beacon_relax(&rdev->wiphy, &params.chandef,
5267 &params.beacon_rate,
5272 err = validate_beacon_tx_rate(rdev, params.chandef.chan->band,
5273 &params.beacon_rate);
5279 params.smps_mode =
5281 switch (params.smps_mode) {
5298 params.smps_mode = NL80211_SMPS_OFF;
5301 params.pbss = nla_get_flag(info->attrs[NL80211_ATTR_PBSS]);
5302 if (params.pbss && !rdev->wiphy.bands[NL80211_BAND_60GHZ])
5306 params.acl = parse_acl_data(&rdev->wiphy, info);
5307 if (IS_ERR(params.acl))
5308 return PTR_ERR(params.acl);
5311 params.twt_responder =
5317 &params.he_obss_pd);
5325 &params.he_bss_color);
5333 &params);
5341 &params);
5346 nl80211_calculate_ap_params(&params);
5349 params.flags |= AP_SETTINGS_EXTERNAL_AUTH_SUPPORT;
5352 err = rdev_start_ap(rdev, dev, &params);
5354 wdev->preset_chandef = params.chandef;
5355 wdev->beacon_interval = params.beacon_interval;
5356 wdev->chandef = params.chandef;
5357 wdev->ssid_len = params.ssid_len;
5358 memcpy(wdev->ssid, params.ssid, wdev->ssid_len);
5366 kfree(params.acl);
5376 struct cfg80211_beacon_data params;
5389 err = nl80211_parse_beacon(rdev, info->attrs, &params);
5394 err = rdev_change_beacon(rdev, dev, &params);
5419 struct station_parameters *params)
5434 params->sta_flags_mask = sta_flags->mask;
5435 params->sta_flags_set = sta_flags->set;
5436 params->sta_flags_set &= params->sta_flags_mask;
5437 if ((params->sta_flags_mask |
5438 params->sta_flags_set) & BIT(__NL80211_STA_FLAG_INVALID))
5462 params->sta_flags_mask = BIT(NL80211_STA_FLAG_AUTHORIZED) |
5469 params->sta_flags_mask = BIT(NL80211_STA_FLAG_AUTHORIZED) |
5473 params->sta_flags_mask = BIT(NL80211_STA_FLAG_AUTHENTICATED) |
5483 params->sta_flags_set |= (1<<flag);
5913 struct station_parameters *params,
5916 if (params->listen_interval != -1 &&
5920 if (params->support_p2p_ps != -1 &&
5924 if (params->aid &&
5925 !(params->sta_flags_set & BIT(NL80211_STA_FLAG_TDLS_PEER)) &&
5940 if (params->sta_flags_mask &
5948 if (!(params->sta_flags_set & BIT(NL80211_STA_FLAG_TDLS_PEER)))
5951 params->sta_flags_mask &= ~BIT(NL80211_STA_FLAG_TDLS_PEER);
5955 if (params->plink_action != NL80211_PLINK_ACTION_NO_ACTION)
5957 if (params->local_pm)
5959 if (params->sta_modify_mask & STATION_PARAM_APPLY_PLINK_STATE)
5966 if (params->sta_flags_set & BIT(NL80211_STA_FLAG_TDLS_PEER))
5973 params->sta_flags_mask &= ~BIT(NL80211_STA_FLAG_TDLS_PEER);
5979 if (params->sta_modify_mask & STATION_PARAM_APPLY_UAPSD)
5981 if (params->sta_modify_mask & STATION_PARAM_APPLY_CAPABILITY)
5983 if (params->supported_rates)
5985 if (params->ext_capab || params->ht_capa || params->vht_capa ||
5986 params->he_capa)
5992 if (params->vlan)
5999 if (!(params->sta_flags_mask & BIT(NL80211_STA_FLAG_AUTHORIZED)))
6005 if (params->sta_flags_mask &
6016 params->sta_flags_mask &
6024 if (params->sta_flags_mask & ~BIT(NL80211_STA_FLAG_AUTHORIZED))
6029 if (params->sta_flags_mask & ~(BIT(NL80211_STA_FLAG_AUTHORIZED) |
6033 if (params->sta_flags_set & BIT(NL80211_STA_FLAG_AUTHORIZED) &&
6034 !params->supported_rates)
6041 if (params->sta_modify_mask & STATION_PARAM_APPLY_PLINK_STATE)
6045 if (params->plink_action != NL80211_PLINK_ACTION_NO_ACTION &&
6046 params->plink_action != NL80211_PLINK_ACTION_BLOCK)
6058 params->opmode_notif_used = false;
6111 struct station_parameters *params)
6129 params->uapsd_queues = nla_get_u8(
6131 if (params->uapsd_queues & ~IEEE80211_WMM_IE_STA_QOSINFO_AC_MASK)
6135 params->max_sp = nla_get_u8(tb[NL80211_STA_WME_MAX_SP]);
6137 if (params->max_sp & ~IEEE80211_WMM_IE_STA_QOSINFO_SP_MASK)
6140 params->sta_modify_mask |= STATION_PARAM_APPLY_UAPSD;
6146 struct station_parameters *params)
6149 params->supported_channels =
6151 params->supported_channels_len =
6158 if (params->supported_channels_len % 2)
6163 params->supported_oper_classes =
6165 params->supported_oper_classes_len =
6172 struct station_parameters *params)
6177 params->aid = nla_get_u16(info->attrs[NL80211_ATTR_PEER_AID]);
6179 params->ht_capa =
6182 params->vht_capa =
6185 params->he_capa =
6187 params->he_capa_len =
6191 err = nl80211_parse_sta_channel_info(info, params);
6195 return nl80211_parse_sta_wme(info, params);
6199 struct station_parameters *params)
6211 params->txpwr.type = nla_get_u8(info->attrs[idx]);
6213 if (params->txpwr.type == NL80211_TX_POWER_LIMITED) {
6217 params->txpwr.power =
6222 params->sta_modify_mask |= STATION_PARAM_APPLY_STA_TXPOWER;
6232 struct station_parameters params;
6236 memset(&params, 0, sizeof(params));
6247 params.aid = nla_get_u16(info->attrs[NL80211_ATTR_STA_AID]);
6250 params.vlan_id = nla_get_u16(info->attrs[NL80211_ATTR_VLAN_ID]);
6253 params.listen_interval =
6256 params.listen_interval = -1;
6259 params.support_p2p_ps =
6262 params.support_p2p_ps = -1;
6270 params.supported_rates =
6272 params.supported_rates_len =
6277 params.capability =
6279 params.sta_modify_mask |= STATION_PARAM_APPLY_CAPABILITY;
6283 params.ext_capab =
6285 params.ext_capab_len =
6289 if (parse_station_flags(info, dev->ieee80211_ptr->iftype, &params))
6293 params.plink_action =
6297 params.plink_state =
6300 params.peer_aid = nla_get_u16(
6302 params.sta_modify_mask |= STATION_PARAM_APPLY_PLINK_STATE;
6306 params.local_pm = nla_get_u32(
6310 params.opmode_notif_used = true;
6311 params.opmode_notif =
6316 params.he_6ghz_capa =
6320 params.airtime_weight =
6323 if (params.airtime_weight &&
6328 err = nl80211_parse_sta_txpower_setting(info, &params);
6333 err = nl80211_set_station_tdls(info, &params);
6337 params.vlan = get_vlan(info, rdev);
6338 if (IS_ERR(params.vlan))
6339 return PTR_ERR(params.vlan);
6356 err = rdev_change_station(rdev, dev, mac_addr, &params);
6359 if (params.vlan)
6360 dev_put(params.vlan);
6370 struct station_parameters params;
6375 memset(&params, 0, sizeof(params));
6394 params.supported_rates =
6396 params.supported_rates_len =
6398 params.listen_interval =
6402 params.vlan_id = nla_get_u16(info->attrs[NL80211_ATTR_VLAN_ID]);
6405 params.support_p2p_ps =
6412 params.support_p2p_ps =
6417 params.aid = nla_get_u16(info->attrs[NL80211_ATTR_PEER_AID]);
6419 params.aid = nla_get_u16(info->attrs[NL80211_ATTR_STA_AID]);
6422 params.capability =
6424 params.sta_modify_mask |= STATION_PARAM_APPLY_CAPABILITY;
6428 params.ext_capab =
6430 params.ext_capab_len =
6435 params.ht_capa =
6439 params.vht_capa =
6443 params.he_capa =
6445 params.he_capa_len =
6450 params.he_6ghz_capa =
6454 params.opmode_notif_used = true;
6455 params.opmode_notif =
6460 params.plink_action =
6464 params.airtime_weight =
6467 if (params.airtime_weight &&
6472 err = nl80211_parse_sta_txpower_setting(info, &params);
6476 err = nl80211_parse_sta_channel_info(info, &params);
6480 err = nl80211_parse_sta_wme(info, &params);
6484 if (parse_station_flags(info, dev->ieee80211_ptr->iftype, &params))
6492 if (!(params.sta_flags_set & BIT(NL80211_STA_FLAG_WME))) {
6493 params.ht_capa = NULL;
6494 params.vht_capa = NULL;
6497 if (params.he_capa_len || params.he_6ghz_capa)
6502 if (params.he_6ghz_capa && (params.ht_capa || params.vht_capa))
6514 !(params.sta_flags_set & BIT(NL80211_STA_FLAG_WME)))
6515 params.sta_modify_mask &= ~STATION_PARAM_APPLY_UAPSD;
6518 if ((params.sta_flags_set & BIT(NL80211_STA_FLAG_TDLS_PEER)) ||
6522 params.sta_flags_mask &= ~BIT(NL80211_STA_FLAG_TDLS_PEER);
6527 params.sta_flags_mask & auth_assoc)
6540 if (!(params.sta_flags_mask & auth_assoc)) {
6541 params.sta_flags_mask |= auth_assoc;
6542 params.sta_flags_set |= auth_assoc;
6546 params.vlan = get_vlan(info, rdev);
6547 if (IS_ERR(params.vlan))
6548 return PTR_ERR(params.vlan);
6552 params.sta_modify_mask &= ~STATION_PARAM_APPLY_UAPSD;
6555 if (params.sta_flags_mask & BIT(NL80211_STA_FLAG_ASSOCIATED))
6558 if ((params.sta_flags_set & BIT(NL80211_STA_FLAG_TDLS_PEER)) ||
6565 params.sta_modify_mask &= ~STATION_PARAM_APPLY_UAPSD;
6568 if (params.sta_flags_mask &
6573 if (!(params.sta_flags_set & BIT(NL80211_STA_FLAG_TDLS_PEER)))
6585 params.sta_flags_mask &= ~BIT(NL80211_STA_FLAG_AUTHORIZED);
6591 /* be aware of params.vlan when changing code here */
6593 err = rdev_add_station(rdev, dev, mac_addr, &params);
6595 if (params.vlan)
6596 dev_put(params.vlan);
6604 struct station_del_parameters params;
6606 memset(&params, 0, sizeof(params));
6609 params.mac = nla_data(info->attrs[NL80211_ATTR_MAC]);
6632 params.subtype =
6634 if (params.subtype != IEEE80211_STYPE_DISASSOC >> 4 &&
6635 params.subtype != IEEE80211_STYPE_DEAUTH >> 4)
6639 params.subtype = IEEE80211_STYPE_DEAUTH >> 4;
6643 params.reason_code =
6645 if (params.reason_code == 0)
6649 params.reason_code = WLAN_REASON_PREV_AUTH_NOT_VALID;
6652 return rdev_del_station(rdev, dev, &params);
6970 struct bss_parameters params;
6973 memset(&params, 0, sizeof(params));
6975 params.use_cts_prot = -1;
6976 params.use_short_preamble = -1;
6977 params.use_short_slot_time = -1;
6978 params.ap_isolate = -1;
6979 params.ht_opmode = -1;
6980 params.p2p_ctwindow = -1;
6981 params.p2p_opp_ps = -1;
6984 params.use_cts_prot =
6987 params.use_short_preamble =
6990 params.use_short_slot_time =
6993 params.basic_rates =
6995 params.basic_rates_len =
6999 params.ap_isolate = !!nla_get_u8(info->attrs[NL80211_ATTR_AP_ISOLATE]);
7001 params.ht_opmode =
7007 params.p2p_ctwindow =
7009 if (params.p2p_ctwindow != 0 &&
7020 params.p2p_opp_ps = tmp;
7021 if (params.p2p_opp_ps &&
7034 err = rdev_change_bss(rdev, dev, &params);
7293 /* Fill in the params struct */
9001 struct cfg80211_csa_settings params;
9043 memset(&params, 0, sizeof(params));
9044 params.beacon_csa.ftm_responder = -1;
9061 params.count = cs_count;
9066 err = nl80211_parse_beacon(rdev, info->attrs, &params.beacon_after);
9076 err = nl80211_parse_beacon(rdev, csa_attrs, &params.beacon_csa);
9087 params.n_counter_offsets_beacon = len / sizeof(u16);
9089 (params.n_counter_offsets_beacon >
9093 params.counter_offsets_beacon =
9097 for (i = 0; i < params.n_counter_offsets_beacon; i++) {
9098 u16 offset = params.counter_offsets_beacon[i];
9100 if (offset >= params.beacon_csa.tail_len)
9103 if (params.beacon_csa.tail[offset] != params.count)
9112 params.n_counter_offsets_presp = len / sizeof(u16);
9114 (params.n_counter_offsets_presp >
9118 params.counter_offsets_presp =
9122 for (i = 0; i < params.n_counter_offsets_presp; i++) {
9123 u16 offset = params.counter_offsets_presp[i];
9125 if (offset >= params.beacon_csa.probe_resp_len)
9128 if (params.beacon_csa.probe_resp[offset] !=
9129 params.count)
9135 err = nl80211_parse_chandef(rdev, info, &params.chandef);
9139 if (!cfg80211_reg_can_beacon_relax(&rdev->wiphy, &params.chandef,
9144 &params.chandef,
9150 params.radar_required = true;
9158 params.block_tx = true;
9161 err = rdev_channel_switch(rdev, dev, &params);
11179 struct cfg80211_mgmt_tx_params params = {
11210 params.wait = nla_get_u32(info->attrs[NL80211_ATTR_DURATION]);
11216 if (params.wait < NL80211_MIN_REMAIN_ON_CHANNEL_TIME ||
11217 params.wait > rdev->wiphy.max_remain_on_channel_duration)
11221 params.offchan = info->attrs[NL80211_ATTR_OFFCHANNEL_TX_OK];
11223 if (params.offchan && !(rdev->wiphy.flags & WIPHY_FLAG_OFFCHAN_TX))
11226 params.no_cck = nla_get_flag(info->attrs[NL80211_ATTR_TX_NO_CCK_RATE]);
11238 if (!chandef.chan && params.offchan)
11242 if (params.offchan && !cfg80211_off_channel_oper_allowed(wdev)) {
11248 params.buf = nla_data(info->attrs[NL80211_ATTR_FRAME]);
11249 params.len = nla_len(info->attrs[NL80211_ATTR_FRAME]);
11258 params.n_csa_offsets = len / sizeof(u16);
11259 params.csa_offsets =
11263 for (i = 0; i < params.n_csa_offsets; i++) {
11264 if (params.csa_offsets[i] >= params.len)
11269 if (!params.dont_wait_for_ack) {
11282 params.chan = chandef.chan;
11283 err = cfg80211_mlme_mgmt_tx(rdev, wdev, &params, &cookie);
14199 struct cfg80211_external_auth_params params;
14215 memset(&params, 0, sizeof(params));
14218 params.ssid.ssid_len = nla_len(info->attrs[NL80211_ATTR_SSID]);
14219 if (params.ssid.ssid_len == 0)
14221 memcpy(params.ssid.ssid,
14223 params.ssid.ssid_len);
14226 memcpy(params.bssid, nla_data(info->attrs[NL80211_ATTR_BSSID]),
14229 params.status = nla_get_u16(info->attrs[NL80211_ATTR_STATUS_CODE]);
14232 params.pmkid = nla_data(info->attrs[NL80211_ATTR_PMKID]);
14234 return rdev_external_auth(rdev, dev, &params);
17767 struct cfg80211_external_auth_params *params,
17788 nla_put_u32(msg, NL80211_ATTR_AKM_SUITES, params->key_mgmt_suite) ||
17790 params->action) ||
17791 nla_put(msg, NL80211_ATTR_BSSID, ETH_ALEN, params->bssid) ||
17792 nla_put(msg, NL80211_ATTR_SSID, params->ssid.ssid_len,
17793 params->ssid.ssid))