Lines Matching refs:wh

562 	struct ieee80211_frame *wh;
607 wh = mtod(m, struct ieee80211_frame *);
608 if ((wh->i_fc[0] & IEEE80211_FC0_VERSION_MASK) !=
611 if (m->m_pkthdr.len < ieee80211_anyhdrsize(wh))
615 switch (wh->i_fc[1] & IEEE80211_FC1_DIR_MASK) {
618 ni = ieee80211_find_txnode(vap, wh->i_addr1);
622 ni = ieee80211_find_txnode(vap, wh->i_addr3);
651 if (IEEE80211_IS_MULTICAST(wh->i_addr1)) {
696 #define WH4(wh) ((struct ieee80211_frame_addr4 *)wh)
699 struct ieee80211_frame *wh = mtod(m, struct ieee80211_frame *);
704 wh->i_fc[0] = IEEE80211_FC0_VERSION_0 | type;
708 wh->i_fc[1] = IEEE80211_FC1_DIR_TODS;
709 IEEE80211_ADDR_COPY(wh->i_addr1, bssid);
710 IEEE80211_ADDR_COPY(wh->i_addr2, sa);
711 IEEE80211_ADDR_COPY(wh->i_addr3, da);
715 wh->i_fc[1] = IEEE80211_FC1_DIR_NODS;
716 IEEE80211_ADDR_COPY(wh->i_addr1, da);
717 IEEE80211_ADDR_COPY(wh->i_addr2, sa);
718 IEEE80211_ADDR_COPY(wh->i_addr3, bssid);
721 wh->i_fc[1] = IEEE80211_FC1_DIR_FROMDS;
722 IEEE80211_ADDR_COPY(wh->i_addr1, da);
723 IEEE80211_ADDR_COPY(wh->i_addr2, bssid);
724 IEEE80211_ADDR_COPY(wh->i_addr3, sa);
727 wh->i_fc[1] = IEEE80211_FC1_DIR_DSTODS;
728 IEEE80211_ADDR_COPY(wh->i_addr1, da);
729 IEEE80211_ADDR_COPY(wh->i_addr2, vap->iv_myaddr);
730 IEEE80211_ADDR_COPY(wh->i_addr3, da);
731 IEEE80211_ADDR_COPY(WH4(wh)->i_addr4, sa);
736 wh->i_fc[1] = IEEE80211_FC1_DIR_FROMDS;
738 IEEE80211_ADDR_COPY(wh->i_addr1, da);
739 IEEE80211_ADDR_COPY(wh->i_addr2,
742 wh->i_fc[1] = IEEE80211_FC1_DIR_DSTODS;
743 IEEE80211_ADDR_COPY(wh->i_addr1, da);
744 IEEE80211_ADDR_COPY(wh->i_addr2,
746 IEEE80211_ADDR_COPY(wh->i_addr3, da);
747 IEEE80211_ADDR_COPY(WH4(wh)->i_addr4, sa);
755 wh->i_fc[1] = IEEE80211_FC1_DIR_NODS;
756 IEEE80211_ADDR_COPY(wh->i_addr1, da);
757 IEEE80211_ADDR_COPY(wh->i_addr2, sa);
760 IEEE80211_ADDR_COPY(wh->i_addr3, sa);
763 IEEE80211_ADDR_COPY(wh->i_addr3, bssid);
765 *(uint16_t *)&wh->i_dur[0] = 0;
777 *(uint16_t *)&wh->i_seq[0] =
782 if (IEEE80211_IS_MULTICAST(wh->i_addr1))
801 struct ieee80211_frame *wh;
824 wh = mtod(m, struct ieee80211_frame *);
829 IEEE80211_NOTE_MAC(vap, IEEE80211_MSG_AUTH, wh->i_addr1,
831 wh->i_fc[1] |= IEEE80211_FC1_PROTECTED;
843 ether_sprintf(wh->i_addr1),
882 struct ieee80211_frame *wh;
923 wh = mtod(m, struct ieee80211_frame *); /* NB: a little lie */
933 qos = ((struct ieee80211_qosframe_addr4 *) wh)->i_qos;
935 qos = ((struct ieee80211_qosframe *) wh)->i_qos;
950 wh->i_fc[1] |= IEEE80211_FC1_PWR_MGT;
968 wh->i_fc[1] & IEEE80211_FC1_PWR_MGT ? "ena" : "dis");
1218 #define WH4(wh) ((struct ieee80211_frame_addr4 *)(wh))
1228 struct ieee80211_frame *wh;
1414 wh = mtod(m, struct ieee80211_frame *);
1415 wh->i_fc[0] = IEEE80211_FC0_VERSION_0 | IEEE80211_FC0_TYPE_DATA;
1416 *(uint16_t *)wh->i_dur = 0;
1419 wh->i_fc[1] = IEEE80211_FC1_DIR_DSTODS;
1420 IEEE80211_ADDR_COPY(wh->i_addr1, ni->ni_macaddr);
1421 IEEE80211_ADDR_COPY(wh->i_addr2, vap->iv_myaddr);
1422 IEEE80211_ADDR_COPY(wh->i_addr3, eh.ether_dhost);
1423 IEEE80211_ADDR_COPY(WH4(wh)->i_addr4, eh.ether_shost);
1426 wh->i_fc[1] = IEEE80211_FC1_DIR_TODS;
1427 IEEE80211_ADDR_COPY(wh->i_addr1, ni->ni_bssid);
1428 IEEE80211_ADDR_COPY(wh->i_addr2, eh.ether_shost);
1429 IEEE80211_ADDR_COPY(wh->i_addr3, eh.ether_dhost);
1433 wh->i_fc[1] = IEEE80211_FC1_DIR_NODS;
1434 IEEE80211_ADDR_COPY(wh->i_addr1, eh.ether_dhost);
1435 IEEE80211_ADDR_COPY(wh->i_addr2, eh.ether_shost);
1440 IEEE80211_ADDR_COPY(wh->i_addr3, vap->iv_bss->ni_bssid);
1443 wh->i_fc[1] = IEEE80211_FC1_DIR_FROMDS;
1444 IEEE80211_ADDR_COPY(wh->i_addr1, eh.ether_dhost);
1445 IEEE80211_ADDR_COPY(wh->i_addr2, ni->ni_bssid);
1446 IEEE80211_ADDR_COPY(wh->i_addr3, eh.ether_shost);
1453 wh->i_fc[1] = dir;
1458 IEEE80211_ADDR_COPY(wh->i_addr1,
1460 IEEE80211_ADDR_COPY(wh->i_addr2,
1462 IEEE80211_ADDR_COPY(wh->i_addr3,
1464 IEEE80211_ADDR_COPY(WH4(wh)->i_addr4,
1467 wh)->i_qos;
1470 IEEE80211_ADDR_COPY(wh->i_addr1,
1472 IEEE80211_ADDR_COPY(wh->i_addr2,
1474 IEEE80211_ADDR_COPY(wh->i_addr3,
1477 wh)->i_qos;
1481 wh->i_fc[1] = IEEE80211_FC1_DIR_FROMDS;
1482 IEEE80211_ADDR_COPY(wh->i_addr1, eh.ether_dhost);
1483 IEEE80211_ADDR_COPY(wh->i_addr2, vap->iv_myaddr);
1484 IEEE80211_ADDR_COPY(wh->i_addr3, vap->iv_myaddr);
1488 qos = ((struct ieee80211_qosframe *) wh)->i_qos;
1492 IEEE80211_ADDR_COPY(wh->i_addr1, rt->rt_nexthop);
1493 IEEE80211_ADDR_COPY(wh->i_addr2, vap->iv_myaddr);
1494 IEEE80211_ADDR_COPY(wh->i_addr3, rt->rt_mesh_gate);
1495 IEEE80211_ADDR_COPY(WH4(wh)->i_addr4, vap->iv_myaddr);
1499 qos = ((struct ieee80211_qosframe_addr4 *) wh)->i_qos;
1515 wh->i_fc[1] |= IEEE80211_FC1_MORE_DATA;
1520 qos = ((struct ieee80211_qosframe_addr4 *) wh)->i_qos;
1523 qos = ((struct ieee80211_qosframe *) wh)->i_qos;
1536 wh->i_fc[0] |= IEEE80211_FC0_SUBTYPE_QOS;
1559 *(uint16_t *)wh->i_seq =
1565 *(uint16_t *)wh->i_seq =
1581 !IEEE80211_IS_MULTICAST(wh->i_addr1) &&
1594 wh->i_fc[1] |= IEEE80211_FC1_PROTECTED;
1611 if (IEEE80211_IS_MULTICAST(wh->i_addr1)) {
1655 struct ieee80211_frame *wh, *whf;
1672 wh = mtod(m0, struct ieee80211_frame *);
1674 wh->i_fc[1] |= IEEE80211_FC1_MORE_FRAG;
1696 memcpy(whf, wh, hdrsize);
1699 ieee80211_getqos(wh)[1] &= ~IEEE80211_QOS_MC;
3066 struct ieee80211_frame *wh;
3147 wh = mtod(m, struct ieee80211_frame *);
3148 wh->i_fc[0] = IEEE80211_FC0_VERSION_0 | IEEE80211_FC0_TYPE_MGT |
3150 wh->i_fc[1] = IEEE80211_FC1_DIR_NODS;
3151 *(uint16_t *)wh->i_dur = 0;
3152 IEEE80211_ADDR_COPY(wh->i_addr1, ifp->if_broadcastaddr);
3153 IEEE80211_ADDR_COPY(wh->i_addr2, vap->iv_myaddr);
3154 IEEE80211_ADDR_COPY(wh->i_addr3, ni->ni_bssid);
3155 *(uint16_t *)wh->i_seq = 0;
3171 struct ieee80211_frame *wh;
3204 wh = mtod(m, struct ieee80211_frame *);
3206 *(uint16_t *)&wh->i_seq[0] =