• 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 refs:sdata

96 	msecs_to_jiffies(sdata->u.mesh.mshcfg.min_discovery_timeout)
111 struct ieee80211_sub_if_data *sdata)
113 struct ieee80211_local *local = sdata->local;
132 memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN);
134 memcpy(mgmt->bssid, sdata->vif.addr, ETH_ALEN);
191 ieee80211_tx_skb(sdata, skb);
205 struct ieee80211_sub_if_data *sdata)
207 struct ieee80211_local *local = sdata->local;
226 memcpy(mgmt->sa, sdata->vif.addr, ETH_ALEN);
254 ieee80211_tx_skb(sdata, skb);
311 * @sdata: local mesh subif
324 static u32 hwmp_route_info_get(struct ieee80211_sub_if_data *sdata,
328 struct ieee80211_local *local = sdata->local;
339 sta = sta_info_get(sdata, mgmt->sa);
378 if (memcmp(orig_addr, sdata->vif.addr, ETH_ALEN) == 0) {
385 mpath = mesh_path_lookup(orig_addr, sdata);
401 mesh_path_add(orig_addr, sdata);
402 mpath = mesh_path_lookup(orig_addr, sdata);
434 mpath = mesh_path_lookup(ta, sdata);
442 mesh_path_add(ta, sdata);
443 mpath = mesh_path_lookup(ta, sdata);
469 static void hwmp_preq_frame_process(struct ieee80211_sub_if_data *sdata,
473 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
490 if (memcmp(target_addr, sdata->vif.addr, ETH_ALEN) == 0) {
496 net_traversal_jiffies(sdata)) ||
503 mpath = mesh_path_lookup(target_addr, sdata);
532 0, sdata);
557 sdata);
564 static void hwmp_prep_frame_process(struct ieee80211_sub_if_data *sdata,
583 if (memcmp(target_addr, sdata->vif.addr, ETH_ALEN) == 0)
589 sdata->u.mesh.mshstats.dropped_frames_ttl++;
594 mpath = mesh_path_lookup(target_addr, sdata);
617 0, sdata);
620 sdata->u.mesh.mshstats.fwded_unicast++;
621 sdata->u.mesh.mshstats.fwded_frames++;
626 sdata->u.mesh.mshstats.dropped_frames_no_route++;
629 static void hwmp_perr_frame_process(struct ieee80211_sub_if_data *sdata,
632 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
653 mpath = mesh_path_lookup(target_addr, sdata);
665 broadcast_addr, sdata);
672 static void hwmp_rann_frame_process(struct ieee80211_sub_if_data *sdata,
676 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
699 mpath = mesh_path_lookup(orig_addr, sdata);
701 mesh_path_add(orig_addr, sdata);
702 mpath = mesh_path_lookup(orig_addr, sdata);
705 sdata->u.mesh.mshstats.dropped_frames_no_route++;
717 0, sdata);
724 void mesh_rx_path_sel_frame(struct ieee80211_sub_if_data *sdata,
744 last_hop_metric = hwmp_route_info_get(sdata, mgmt, elems.preq,
747 hwmp_preq_frame_process(sdata, mgmt, elems.preq,
754 last_hop_metric = hwmp_route_info_get(sdata, mgmt, elems.prep,
757 hwmp_prep_frame_process(sdata, mgmt, elems.prep,
764 hwmp_perr_frame_process(sdata, mgmt, elems.perr);
767 hwmp_rann_frame_process(sdata, mgmt, elems.rann);
781 struct ieee80211_sub_if_data *sdata = mpath->sdata;
782 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
807 if (time_after(jiffies, ifmsh->last_preq + min_preq_int_jiff(sdata)))
808 ieee80211_queue_work(&sdata->local->hw, &sdata->work);
814 ifmsh->last_preq = jiffies - min_preq_int_jiff(sdata) - 1;
815 ieee80211_queue_work(&sdata->local->hw, &sdata->work);
818 min_preq_int_jiff(sdata));
824 * @sdata: local mesh subif
826 void mesh_path_start_discovery(struct ieee80211_sub_if_data *sdata)
828 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
837 min_preq_int_jiff(sdata))) {
849 mpath = mesh_path_lookup(preq_node->dst, sdata);
862 mpath->discovery_timeout = disc_timeout_jiff(sdata);
874 net_traversal_jiffies(sdata)) ||
877 sdata->u.mesh.last_sn_update = jiffies;
879 lifetime = default_lifetime(sdata);
880 ttl = sdata->u.mesh.mshcfg.dot11MeshTTL;
882 sdata->u.mesh.mshstats.dropped_frames_ttl++;
893 mesh_path_sel_frame_tx(MPATH_PREQ, 0, sdata->vif.addr,
897 cpu_to_le32(ifmsh->preq_id++), sdata);
909 * @sdata: network subif the frame will be sent through
917 struct ieee80211_sub_if_data *sdata)
926 mpath = mesh_path_lookup(target_addr, sdata);
929 mesh_path_add(target_addr, sdata);
930 mpath = mesh_path_lookup(target_addr, sdata);
932 sdata->u.mesh.mshstats.dropped_frames_no_route++;
941 msecs_to_jiffies(sdata->u.mesh.mshcfg.path_refresh_time)) &&
942 !memcmp(sdata->vif.addr, hdr->addr4, ETH_ALEN) &&
963 mesh_path_discard_frame(skb_to_free, sdata);
974 struct ieee80211_sub_if_data *sdata;
982 sdata = mpath->sdata;
984 if (sdata->local->quiescing) {
993 else if (mpath->discovery_retries < max_preq_retries(sdata)) {
1009 mesh_path_tx_root_frame(struct ieee80211_sub_if_data *sdata)
1011 struct ieee80211_if_mesh *ifmsh = &sdata->u.mesh;
1013 mesh_path_sel_frame_tx(MPATH_RANN, 0, sdata->vif.addr,
1016 0, MESH_TTL, 0, 0, 0, sdata);