• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/net/mac80211/

Lines Matching defs:sdata

208 	struct ieee80211_sub_if_data *sdata;
282 list_for_each_entry_rcu(sdata, &local->interfaces, list) {
283 if (sdata->vif.type != NL80211_IFTYPE_MONITOR)
286 if (sdata->u.mntr_flags & MONITOR_FLAG_COOK_FRAMES)
289 if (!ieee80211_sdata_running(sdata))
300 prev_dev = sdata->dev;
301 sdata->dev->stats.rx_packets++;
302 sdata->dev->stats.rx_bytes += skb->len;
393 return ieee80211_scan_rx(rx->sdata, skb);
398 if (ieee80211_scan_rx(rx->sdata, skb) != RX_QUEUED)
463 char *dev_addr = rx->sdata->vif.addr;
510 mesh_rmc_check(hdr->addr3, msh_h_get(hdr, hdrlen), rx->sdata))
741 skb_queue_tail(&rx->sdata->skb_queue, skb);
742 ieee80211_queue_work(&local->hw, &rx->sdata->work);
793 if (ieee80211_vif_is_mesh(&rx->sdata->vif))
798 rx->sdata->vif.type != NL80211_IFTYPE_ADHOC &&
888 rx->key = rcu_dereference(rx->sdata->keys[mmie_keyidx]);
899 (key = rcu_dereference(rx->sdata->default_mgmt_key)))
901 else if ((key = rcu_dereference(rx->sdata->default_key)))
931 rx->key = rcu_dereference(rx->sdata->keys[keyidx]);
1010 ieee80211_send_pspoll(local, rx->sdata);
1017 struct ieee80211_sub_if_data *sdata = sta->sdata;
1018 struct ieee80211_local *local = sdata->local;
1020 atomic_inc(&sdata->bss->num_sta_ps);
1022 drv_sta_notify(local, sdata, STA_NOTIFY_SLEEP, &sta->sta);
1025 sdata->name, sta->sta.addr, sta->sta.aid);
1031 struct ieee80211_sub_if_data *sdata = sta->sdata;
1033 atomic_dec(&sdata->bss->num_sta_ps);
1039 sdata->name, sta->sta.addr, sta->sta.aid);
1045 sdata->name, sta->sta.addr, sta->sta.aid);
1069 if (rx->sdata->vif.type == NL80211_IFTYPE_ADHOC) {
1072 if (compare_ether_addr(bssid, rx->sdata->u.ibss.bssid) == 0)
1085 if (rx->sdata->vif.type == NL80211_IFTYPE_STATION)
1086 ieee80211_sta_rx_notify(rx->sdata, hdr);
1097 (rx->sdata->vif.type == NL80211_IFTYPE_AP ||
1098 rx->sdata->vif.type == NL80211_IFTYPE_AP_VLAN)) {
1132 (rx->sdata->vif.type == NL80211_IFTYPE_AP ||
1133 (rx->sdata->vif.type == NL80211_IFTYPE_AP_VLAN &&
1134 !rx->sdata->u.vlan.sta)))
1149 ieee80211_reassemble_add(struct ieee80211_sub_if_data *sdata,
1156 idx = sdata->fragment_next;
1157 entry = &sdata->fragments[sdata->fragment_next++];
1158 if (sdata->fragment_next >= IEEE80211_FRAGMENT_MAX)
1159 sdata->fragment_next = 0;
1168 sdata->name, idx,
1188 ieee80211_reassemble_find(struct ieee80211_sub_if_data *sdata,
1195 idx = sdata->fragment_next;
1203 entry = &sdata->fragments[idx];
1266 entry = ieee80211_reassemble_add(rx->sdata, frag, seq,
1285 entry = ieee80211_reassemble_find(rx->sdata, frag, seq, rx->queue, hdr);
1353 struct ieee80211_sub_if_data *sdata = rx->sdata;
1360 if ((sdata->vif.type != NL80211_IFTYPE_AP) &&
1361 (sdata->vif.type != NL80211_IFTYPE_AP_VLAN))
1422 (rx->key || rx->sdata->drop_unencrypted)))
1467 struct ieee80211_sub_if_data *sdata = rx->sdata;
1471 sdata->vif.type == NL80211_IFTYPE_AP_VLAN && !sdata->u.vlan.sta)
1475 ((sdata->vif.type == NL80211_IFTYPE_AP_VLAN && sdata->u.vlan.sta) ||
1476 (sdata->vif.type == NL80211_IFTYPE_STATION && sdata->u.mgd.use_4addr)))
1479 return ieee80211_data_to_8023(rx->skb, sdata->vif.addr, sdata->vif.type);
1496 (compare_ether_addr(ehdr->h_dest, rx->sdata->vif.addr) == 0 ||
1513 struct ieee80211_sub_if_data *sdata = rx->sdata;
1514 struct net_device *dev = sdata->dev;
1522 if ((sdata->vif.type == NL80211_IFTYPE_AP ||
1523 sdata->vif.type == NL80211_IFTYPE_AP_VLAN) &&
1524 !(sdata->flags & IEEE80211_SDATA_DONT_BRIDGE_PACKETS) &&
1526 (sdata->vif.type != NL80211_IFTYPE_AP_VLAN || !sdata->u.vlan.sta)) {
1537 dsta = sta_info_get(sdata, skb->data);
1597 struct net_device *dev = rx->sdata->dev;
1613 rx->sdata->vif.type == NL80211_IFTYPE_AP_VLAN &&
1614 !rx->sdata->u.vlan.sta)
1618 ((rx->sdata->vif.type == NL80211_IFTYPE_AP_VLAN &&
1619 rx->sdata->u.vlan.sta) ||
1620 (rx->sdata->vif.type == NL80211_IFTYPE_STATION &&
1621 rx->sdata->u.mgd.use_4addr)))
1631 rx->sdata->vif.type,
1659 struct ieee80211_sub_if_data *sdata = rx->sdata;
1686 mppath = mpp_path_lookup(proxied_addr, sdata);
1688 mpp_path_add(proxied_addr, mpp_addr, sdata);
1700 compare_ether_addr(sdata->vif.addr, hdr->addr3) == 0)
1707 IEEE80211_IFSTA_MESH_CTR_INC(&rx->sdata->u.mesh,
1717 sdata->name);
1722 memcpy(fwd_hdr->addr2, sdata->vif.addr, ETH_ALEN);
1726 info->control.vif = &rx->sdata->vif;
1728 ieee80211_select_queue(rx->sdata, fwd_skb));
1731 IEEE80211_IFSTA_MESH_CTR_INC(&sdata->u.mesh,
1741 err = mesh_nexthop_lookup(fwd_skb, sdata);
1748 IEEE80211_IFSTA_MESH_CTR_INC(&sdata->u.mesh,
1751 IEEE80211_IFSTA_MESH_CTR_INC(&sdata->u.mesh,
1759 sdata->dev->flags & IFF_PROMISC)
1769 struct ieee80211_sub_if_data *sdata = rx->sdata;
1771 struct net_device *dev = sdata->dev;
1787 sdata->vif.type == NL80211_IFTYPE_AP)
1868 static void ieee80211_process_sa_query_req(struct ieee80211_sub_if_data *sdata,
1872 struct ieee80211_local *local = sdata->local;
1876 if (compare_ether_addr(mgmt->da, sdata->vif.addr) != 0) {
1881 if (compare_ether_addr(mgmt->sa, sdata->u.mgd.bssid) != 0 ||
1882 compare_ether_addr(mgmt->bssid, sdata->u.mgd.bssid) != 0) {
1900 memcpy(resp->sa, sdata->vif.addr, ETH_ALEN);
1901 memcpy(resp->bssid, sdata->u.mgd.bssid, ETH_ALEN);
1911 ieee80211_tx_skb(sdata, skb);
1918 struct ieee80211_sub_if_data *sdata = rx->sdata;
1948 if (sdata->vif.type != NL80211_IFTYPE_STATION &&
1949 sdata->vif.type != NL80211_IFTYPE_AP_VLAN &&
1950 sdata->vif.type != NL80211_IFTYPE_AP)
1982 if (sdata->vif.type != NL80211_IFTYPE_STATION)
1994 ieee80211_process_measurement_req(sdata, mgmt, len);
2001 if (sdata->vif.type != NL80211_IFTYPE_STATION)
2004 if (memcmp(mgmt->bssid, sdata->u.mgd.bssid, ETH_ALEN))
2017 if (sdata->vif.type != NL80211_IFTYPE_STATION)
2019 ieee80211_process_sa_query_req(sdata, mgmt, len);
2025 if (!ieee80211_vif_is_mesh(&sdata->vif))
2038 if (sdata->vif.type == NL80211_IFTYPE_AP ||
2039 sdata->vif.type == NL80211_IFTYPE_AP_VLAN)
2050 if (cfg80211_rx_action(rx->sdata->dev, status->freq,
2066 memcpy(nmgmt->sa, rx->sdata->vif.addr, ETH_ALEN);
2070 ieee80211_tx_skb(rx->sdata, nskb);
2081 skb_queue_tail(&sdata->skb_queue, rx->skb);
2082 ieee80211_queue_work(&local->hw, &sdata->work);
2091 struct ieee80211_sub_if_data *sdata = rx->sdata;
2105 rxs = ieee80211_work_rx_mgmt(rx->sdata, rx->skb);
2111 if (!ieee80211_vif_is_mesh(&sdata->vif) &&
2112 sdata->vif.type != NL80211_IFTYPE_ADHOC &&
2113 sdata->vif.type != NL80211_IFTYPE_STATION)
2124 if (sdata->vif.type != NL80211_IFTYPE_STATION)
2130 if (sdata->vif.type != NL80211_IFTYPE_ADHOC)
2139 skb_queue_tail(&sdata->skb_queue, rx->skb);
2140 ieee80211_queue_work(&rx->local->hw, &sdata->work);
2170 if (rx->sdata->vif.type == NL80211_IFTYPE_AP && keyidx) {
2184 mac80211_ev_michael_mic_failure(rx->sdata, keyidx, hdr, NULL,
2192 struct ieee80211_sub_if_data *sdata;
2235 list_for_each_entry_rcu(sdata, &local->interfaces, list) {
2236 if (!ieee80211_sdata_running(sdata))
2239 if (sdata->vif.type != NL80211_IFTYPE_MONITOR ||
2240 !(sdata->u.mntr_flags & MONITOR_FLAG_COOK_FRAMES))
2251 prev_dev = sdata->dev;
2252 sdata->dev->stats.rx_packets++;
2253 sdata->dev->stats.rx_bytes += skb->len;
2270 static void ieee80211_invoke_rx_handlers(struct ieee80211_sub_if_data *sdata,
2281 rx->sdata = sdata;
2318 if (ieee80211_vif_is_mesh(&sdata->vif))
2336 I802_DEBUG_INC(sdata->local->rx_handlers_drop);
2344 I802_DEBUG_INC(sdata->local->rx_handlers_drop);
2350 I802_DEBUG_INC(sdata->local->rx_handlers_queued);
2358 static int prepare_for_handlers(struct ieee80211_sub_if_data *sdata,
2364 u8 *bssid = ieee80211_get_bssid(hdr, skb->len, sdata->vif.type);
2367 switch (sdata->vif.type) {
2369 if (!bssid && !sdata->u.mgd.use_4addr)
2372 compare_ether_addr(sdata->vif.addr, hdr->addr1) != 0) {
2373 if (!(sdata->dev->flags & IFF_PROMISC))
2384 else if (!ieee80211_bssid_match(bssid, sdata->u.ibss.bssid)) {
2389 compare_ether_addr(sdata->vif.addr,
2391 if (!(sdata->dev->flags & IFF_PROMISC))
2400 rx->sta = ieee80211_ibss_add_sta(sdata, bssid,
2406 compare_ether_addr(sdata->vif.addr,
2408 if (!(sdata->dev->flags & IFF_PROMISC))
2417 if (compare_ether_addr(sdata->vif.addr,
2421 sdata->vif.addr)) {
2430 if (compare_ether_addr(sdata->u.wds.remote_addr, hdr->addr2))
2454 struct ieee80211_sub_if_data *sdata;
2495 rx.sdata = sta->sdata;
2498 prepares = prepare_for_handlers(rx.sdata, &rx, hdr);
2504 prev = rx.sdata;
2509 list_for_each_entry_rcu(sdata, &local->interfaces, list) {
2510 if (!ieee80211_sdata_running(sdata))
2513 if (sdata->vif.type == NL80211_IFTYPE_MONITOR ||
2514 sdata->vif.type == NL80211_IFTYPE_AP_VLAN)
2524 prev = sdata;
2537 rx.sdata = prev;
2560 prev = sdata;