Lines Matching defs:vif
69 chanctx_conf = rcu_dereference(tx->sdata->vif.chanctx_conf);
154 if (tx->sdata->vif.bss_conf.basic_rates & BIT(i))
196 tx->sdata->vif.bss_conf.use_short_preamble,
206 tx->sdata->vif.bss_conf.use_short_preamble,
245 if (tx->sdata->vif.type != NL80211_IFTYPE_STATION)
319 if (tx->sdata->vif.type == NL80211_IFTYPE_OCB)
322 if (tx->sdata->vif.type == NL80211_IFTYPE_WDS)
368 if (sdata->vif.type == NL80211_IFTYPE_AP)
370 else if (ieee80211_vif_is_mesh(&sdata->vif))
421 if (tx->sdata->vif.type == NL80211_IFTYPE_AP ||
422 tx->sdata->vif.type == NL80211_IFTYPE_AP_VLAN) {
427 } else if (ieee80211_vif_is_mesh(&tx->sdata->vif)) {
442 info->hw_queue = tx->sdata->vif.cab_queue;
537 info->control.vif = &tx->sdata->vif;
695 txrc.bss_conf = &tx->sdata->vif.bss_conf;
704 txrc.bss = (tx->sdata->vif.type == NL80211_IFTYPE_AP ||
705 tx->sdata->vif.type == NL80211_IFTYPE_MESH_POINT ||
706 tx->sdata->vif.type == NL80211_IFTYPE_ADHOC ||
707 tx->sdata->vif.type == NL80211_IFTYPE_OCB);
715 info->control.use_cts_prot = tx->sdata->vif.bss_conf.use_cts_prot;
723 if (tx->sdata->vif.bss_conf.use_short_preamble &&
821 if (unlikely(info->control.vif->type == NL80211_IFTYPE_MONITOR))
1141 info->control.vif = &tx->sdata->vif;
1195 if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) {
1254 struct ieee80211_vif *vif,
1270 vif->type == NL80211_IFTYPE_STATION) &&
1285 } else if (vif) {
1286 txq = vif->txq;
1322 local = vif_to_sdata(txqi->txq.vif)->local;
1341 local = vif_to_sdata(txqi->txq.vif)->local;
1430 return info->control.vif == data;
1441 if (WARN_ON(sdata->vif.type != NL80211_IFTYPE_AP_VLAN))
1446 if (!ap->vif.txq)
1449 txqi = to_txq_info(ap->vif.txq);
1453 fq_tin_filter(fq, tin, fq_vlan_filter_func, &sdata->vif,
1469 txqi->txq.vif = &sdata->vif;
1472 sdata->vif.txq = &txqi->txq;
1480 if (sdata->vif.type == NL80211_IFTYPE_STATION) {
1608 struct ieee80211_vif *vif;
1612 sdata->vif.type == NL80211_IFTYPE_MONITOR)
1615 if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN)
1619 vif = &sdata->vif;
1620 txqi = ieee80211_get_txq(local, vif, sta, skb);
1633 struct ieee80211_vif *vif,
1695 info->control.vif = vif;
1714 struct ieee80211_vif *vif;
1725 sdata = vif_to_sdata(info->control.vif);
1729 switch (sdata->vif.type) {
1732 vif = &sdata->vif;
1737 vif = &sdata->vif;
1739 vif->hw_queue[skb_get_queue_mapping(skb)];
1744 vif = NULL;
1751 vif = &sdata->vif;
1755 result = ieee80211_tx_frags(local, vif, sta, skbs, txpending);
1858 struct ieee80211_vif *vif, struct sk_buff *skb,
1861 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif);
1870 info->control.vif = vif;
1871 info->hw_queue = vif->hw_queue[skb_get_queue_mapping(skb)];
1929 sdata->vif.hw_queue[skb_get_queue_mapping(skb)];
2018 info->control.vif = &sdata->vif;
2020 if (ieee80211_vif_is_mesh(&sdata->vif)) {
2326 if (tmp_sdata->vif.type == NL80211_IFTYPE_MONITOR ||
2327 tmp_sdata->vif.type == NL80211_IFTYPE_AP_VLAN ||
2328 tmp_sdata->vif.type == NL80211_IFTYPE_WDS)
2330 if (ether_addr_equal(tmp_sdata->vif.addr, hdr->addr2)) {
2336 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf);
2341 rcu_dereference(tmp_sdata->vif.chanctx_conf);
2368 sdata->vif.type))
2411 switch (sdata->vif.type) {
2569 switch (sdata->vif.type) {
2575 memcpy(hdr.addr2, sdata->vif.addr, ETH_ALEN);
2584 chanctx_conf = rcu_dereference(ap_sdata->vif.chanctx_conf);
2594 if (sdata->vif.type == NL80211_IFTYPE_AP)
2595 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf);
2603 memcpy(hdr.addr2, sdata->vif.addr, ETH_ALEN);
2612 memcpy(hdr.addr2, sdata->vif.addr, ETH_ALEN);
2654 if (ether_addr_equal(sdata->vif.addr, skb->data + ETH_ALEN) &&
2675 mesh_da, sdata->vif.addr);
2688 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf);
2719 memcpy(hdr.addr2, sdata->vif.addr, ETH_ALEN);
2731 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf);
2744 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf);
2757 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf);
2775 } else if (ieee80211_vif_is_mesh(&sdata->vif)) {
2790 if (unlikely(!ieee80211_vif_is_mesh(&sdata->vif) &&
2791 (sdata->vif.type != NL80211_IFTYPE_OCB) &&
2794 !ether_addr_equal(sdata->vif.addr, skb->data + ETH_ALEN)))) {
2959 sdata->vif.type == NL80211_IFTYPE_STATION)
2980 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf);
2990 switch (sdata->vif.type) {
3014 memcpy(hdr->addr2, sdata->vif.addr, ETH_ALEN);
3033 memcpy(hdr->addr2, sdata->vif.addr, ETH_ALEN);
3044 memcpy(hdr->addr2, sdata->vif.addr, ETH_ALEN);
3258 switch (sdata->vif.type) {
3264 bssid = sdata->vif.addr;
3458 info->hw_queue = sdata->vif.hw_queue[skb_get_queue_mapping(skb)];
3565 info->control.vif = &sdata->vif;
3608 if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN)
3613 ieee80211_tx_frags(local, &sdata->vif, sta, &tx.skbs, false);
3629 struct ieee80211_vif *vif = txq->vif;
3643 if (vif->txqs_stopped[txq->ac]) {
3666 tx.sdata = vif_to_sdata(info->control.vif);
3676 !ieee80211_vif_is_mesh(&tx.sdata->vif) &&
3677 tx.sdata->vif.type != NL80211_IFTYPE_OCB &&
3682 !ether_addr_equal(tx.sdata->vif.addr,
3741 switch (tx.sdata->vif.type) {
3744 vif = &tx.sdata->vif;
3749 vif = &tx.sdata->vif;
3751 vif->hw_queue[skb_get_queue_mapping(skb)];
3756 vif = NULL;
3764 vif = &tx.sdata->vif;
3769 info->control.vif = vif;
3771 if (vif &&
3776 airtime = ieee80211_calc_expected_tx_airtime(hw, vif, txq->sta,
4097 switch (sdata->vif.type) {
4285 info->hw_queue = sdata->vif.hw_queue[skb_get_queue_mapping(skb)];
4292 if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN)
4297 info->control.vif = &sdata->vif;
4422 sdata = vif_to_sdata(info->control.vif);
4425 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf);
4483 if (WARN_ON(!info->control.vif)) {
4525 ps->dtim_count = sdata->vif.bss_conf.dtim_period - 1;
4534 *pos++ = sdata->vif.bss_conf.dtim_period;
4606 switch (sdata->vif.type) {
4637 if (sdata->vif.type == NL80211_IFTYPE_AP && resp)
4653 u8 ieee80211_beacon_update_cntdwn(struct ieee80211_vif *vif)
4655 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif);
4661 if (sdata->vif.type == NL80211_IFTYPE_AP)
4663 else if (sdata->vif.type == NL80211_IFTYPE_ADHOC)
4665 else if (ieee80211_vif_is_mesh(&sdata->vif))
4679 void ieee80211_beacon_set_cntdwn(struct ieee80211_vif *vif, u8 counter)
4681 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif);
4686 if (sdata->vif.type == NL80211_IFTYPE_AP)
4688 else if (sdata->vif.type == NL80211_IFTYPE_ADHOC)
4690 else if (ieee80211_vif_is_mesh(&sdata->vif))
4704 bool ieee80211_beacon_cntdwn_is_complete(struct ieee80211_vif *vif)
4706 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif);
4716 if (vif->type == NL80211_IFTYPE_AP) {
4724 } else if (vif->type == NL80211_IFTYPE_ADHOC) {
4733 } else if (vif->type == NL80211_IFTYPE_MESH_POINT) {
4791 struct ieee80211_vif *vif,
4807 sdata = vif_to_sdata(vif);
4808 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf);
4816 if (sdata->vif.type == NL80211_IFTYPE_AP) {
4823 ieee80211_beacon_update_cntdwn(vif);
4861 } else if (sdata->vif.type == NL80211_IFTYPE_ADHOC) {
4886 } else if (ieee80211_vif_is_mesh(&sdata->vif)) {
4955 txrc.bss_conf = &sdata->vif.bss_conf;
4965 info->control.vif = vif;
4978 struct ieee80211_vif *vif,
4981 return __ieee80211_beacon_get(hw, vif, offs, true);
4986 struct ieee80211_vif *vif,
4990 struct sk_buff *bcn = __ieee80211_beacon_get(hw, vif, &offs, false);
5013 shift = ieee80211_vif_get_shift(vif);
5014 sband = ieee80211_get_sband(vif_to_sdata(vif));
5026 struct ieee80211_vif *vif)
5032 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif);
5034 if (sdata->vif.type != NL80211_IFTYPE_AP)
5060 struct ieee80211_vif *vif)
5064 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif);
5066 if (sdata->vif.type != NL80211_IFTYPE_AP)
5089 struct ieee80211_vif *vif)
5093 struct ieee80211_sub_if_data *sdata = vif_to_sdata(vif);
5095 if (sdata->vif.type != NL80211_IFTYPE_AP)
5117 struct ieee80211_vif *vif)
5125 if (WARN_ON(vif->type != NL80211_IFTYPE_STATION))
5128 sdata = vif_to_sdata(vif);
5141 pspoll->aid = cpu_to_le16(sdata->vif.bss_conf.aid);
5147 memcpy(pspoll->ta, vif->addr, ETH_ALEN);
5154 struct ieee80211_vif *vif,
5164 if (WARN_ON(vif->type != NL80211_IFTYPE_STATION))
5167 sdata = vif_to_sdata(vif);
5205 memcpy(nullfunc->addr2, vif->addr, ETH_ALEN);
5250 void ieee80211_rts_get(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
5259 rts->duration = ieee80211_rts_duration(hw, vif, frame_len,
5266 void ieee80211_ctstoself_get(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
5275 cts->duration = ieee80211_ctstoself_duration(hw, vif,
5283 struct ieee80211_vif *vif)
5293 sdata = vif_to_sdata(vif);
5296 chanctx_conf = rcu_dereference(sdata->vif.chanctx_conf);
5301 if (sdata->vif.type == NL80211_IFTYPE_AP) {
5309 } else if (ieee80211_vif_is_mesh(&sdata->vif)) {
5334 if (sdata->vif.type == NL80211_IFTYPE_AP)
5366 switch (sdata->vif.type) {
5402 queues = BIT(sdata->vif.hw_queue[ieee802_1d_to_ac[tid]]);
5427 switch (sdata->vif.type) {
5512 memcpy(ehdr->h_source, sdata->vif.addr, ETH_ALEN);