Lines Matching refs:wh

1145 	const struct ieee80211_frame *wh =
1162 IEEE80211_NOTE_FRAME(vap, IEEE80211_MSG_MESH, wh,
1168 IEEE80211_NOTE_FRAME(vap, IEEE80211_MSG_MESH, wh,
1175 IEEE80211_NOTE_FRAME(vap, IEEE80211_MSG_MESH, wh,
1181 mcopy = m_pullup(mcopy, ieee80211_hdrspace(ic, wh) +
1184 IEEE80211_NOTE_FRAME(vap, IEEE80211_MSG_MESH, wh,
1193 (mtod(mcopy, uint8_t *) + ieee80211_hdrspace(ic, wh));
1197 if (IEEE80211_IS_MULTICAST(wh->i_addr1)) {
1209 IEEE80211_NOTE_FRAME(vap, IEEE80211_MSG_MESH, wh,
1248 #define WHDIR(wh) ((wh)->i_fc[1] & IEEE80211_FC1_DIR_MASK)
1252 const struct ieee80211_qosframe_addr4 *wh;
1266 wh = (const struct ieee80211_qosframe_addr4 *)&b[0];
1268 KASSERT(WHDIR(wh) == IEEE80211_FC1_DIR_FROMDS ||
1269 WHDIR(wh) == IEEE80211_FC1_DIR_DSTODS,
1270 ("bogus dir, fc 0x%x:0x%x", wh->i_fc[0], wh->i_fc[1]));
1286 if (WHDIR(wh) == IEEE80211_FC1_DIR_FROMDS) {
1287 IEEE80211_ADDR_COPY(eh->ether_dhost, wh->i_addr1);
1289 IEEE80211_ADDR_COPY(eh->ether_shost, wh->i_addr3);
1295 (const struct ieee80211_frame *)wh, NULL,
1303 IEEE80211_ADDR_COPY(eh->ether_dhost, wh->i_addr3);
1304 IEEE80211_ADDR_COPY(eh->ether_shost, wh->i_addr4);
1310 (const struct ieee80211_frame *)wh, NULL,
1339 mesh_isucastforme(struct ieee80211vap *vap, const struct ieee80211_frame *wh,
1344 KASSERT((wh->i_fc[1] & IEEE80211_FC1_DIR_MASK) == IEEE80211_FC1_DIR_DSTODS,
1345 ("bad dir 0x%x:0x%x", wh->i_fc[0], wh->i_fc[1]));
1357 return IEEE80211_ADDR_EQ(wh->i_addr3, vap->iv_myaddr);
1368 struct ieee80211_frame *wh, const struct ieee80211_meshcntl *mc)
1377 qwh = (struct ieee80211_qosframe_addr4 *)wh;
1425 struct ieee80211_frame *wh, const struct ieee80211_meshcntl *mc)
1436 qwh = (struct ieee80211_qosframe_addr4 *)wh;
1493 struct ieee80211_frame *wh, const struct ieee80211_meshcntl *mc)
1532 struct ieee80211_frame *wh;
1562 wh = mtod(m, struct ieee80211_frame *);
1564 if ((wh->i_fc[0] & IEEE80211_FC0_VERSION_MASK) !=
1567 ni->ni_macaddr, NULL, "wrong version %x", wh->i_fc[0]);
1571 dir = wh->i_fc[1] & IEEE80211_FC1_DIR_MASK;
1572 type = wh->i_fc[0] & IEEE80211_FC0_TYPE_MASK;
1573 subtype = wh->i_fc[0] & IEEE80211_FC0_SUBTYPE_MASK;
1578 uint8_t tid = ieee80211_gettid(wh);
1580 if (IEEE80211_QOS_HAS_SEQ(wh) &&
1583 if (! ieee80211_check_rxseq(ni, wh, wh->i_addr1))
1595 if (vap->iv_acl != NULL && !vap->iv_acl->iac_check(vap, wh)) {
1597 wh, NULL, "%s", "disallowed by ACL");
1617 wh, "data", "incorrect dir 0x%x", dir);
1625 wh, "data", "incorrect subtype 0x%x", subtype);
1636 hdrspace = ieee80211_hdrspace(ic, wh);
1637 if (!IEEE80211_IS_MULTICAST(wh->i_addr1)) {
1644 wh = mtod(m, struct ieee80211_frame *); /* NB: after defrag */
1656 *(uint16_t *)qos = *(uint16_t *)ieee80211_getqos(wh);
1708 if (IEEE80211_IS_MULTICAST(wh->i_addr1))
1709 addr = wh->i_addr3;
1713 addr = ((struct ieee80211_qosframe_addr4 *)wh)->i_addr4;
1726 if (!IEEE80211_IS_MULTICAST(wh->i_addr1)) {
1727 if (IEEE80211_ADDR_EQ(vap->iv_myaddr, wh->i_addr3))
1729 mesh_recv_indiv_data_to_me(vap, m, wh, mc);
1730 else if (IEEE80211_IS_MULTICAST(wh->i_addr3))
1731 error = mesh_recv_group_data(vap, m, wh, mc);
1734 wh, mc);
1736 error = mesh_recv_group_data(vap, m, wh, mc);
1774 wh, "mgt", "incorrect dir 0x%x", dir);
1791 ether_sprintf(wh->i_addr2), rssi);
1794 if (wh->i_fc[1] & IEEE80211_FC1_PROTECTED) {
1796 wh, NULL, "%s", "WEP set but not permitted");
1808 wh, "bad", "frame type 0x%x", type);
1833 struct ieee80211_frame *wh;
1837 wh = mtod(m0, struct ieee80211_frame *);
1838 frm = (uint8_t *)&wh[1];
1881 ieee80211_add_scan(vap, rxchan, &scan, wh,
1896 wh, "beacon", "%s", "not a mesh sta");
1906 wh, "beacon", "%s", "not for our mesh");
1913 if (vap->iv_acl != NULL && !vap->iv_acl->iac_check(vap, wh)) {
1915 wh, NULL, "%s", "disallowed by ACL");
1922 if (!IEEE80211_ADDR_EQ(wh->i_addr2, ni->ni_macaddr)) {
1926 ni = ieee80211_add_neighbor(vap, wh, &scan);
1960 rt = ieee80211_mesh_rt_find(vap, wh->i_addr2);
1980 wh, NULL, "wrong state %s",
1985 if (IEEE80211_IS_MULTICAST(wh->i_addr2)) {
1988 wh, NULL, "%s", "not unicast");
2031 IEEE80211_NOTE_MAC(vap, IEEE80211_MSG_INPUT, wh->i_addr2,
2039 ieee80211_send_proberesp(vap, wh->i_addr2, 0);
2047 wh, NULL, "%s", "unknown node");
2049 } else if (!IEEE80211_ADDR_EQ(vap->iv_myaddr, wh->i_addr1) &&
2050 !IEEE80211_IS_MULTICAST(wh->i_addr1)) {
2052 wh, NULL, "%s", "not for us");
2056 wh, NULL, "wrong state %s",
2061 (void)ic->ic_recv_action(ni, wh, frm, efrm);
2075 wh, NULL, "%s", "not handled");
2081 wh, "mgt", "subtype 0x%x not handled", subtype);
2103 const struct ieee80211_frame *wh, /* XXX for VERIFY_LENGTH */
2162 wh, NULL, "%s", "MPM validation failed");
2170 wh, NULL, "%s", "not for our mesh");
2191 wh, NULL, "%s", "configuration missmatch");
2232 const struct ieee80211_frame *wh,
2242 meshpeer = mesh_parse_meshpeering_action(ni, wh, frm+2+2, efrm, &ie,
2380 const struct ieee80211_frame *wh,
2389 meshpeer = mesh_parse_meshpeering_action(ni, wh, frm+2+2+2+2, efrm, &ie,
2434 wh, NULL, "received confirm in invalid state %d",
2444 const struct ieee80211_frame *wh,
2452 meshpeer = mesh_parse_meshpeering_action(ni, wh, frm+2, efrm, &ie,
2498 const struct ieee80211_frame *wh,
2524 const struct ieee80211_frame *wh, /* XXX for VERIFY_LENGTH */
2557 const struct ieee80211_frame *wh,
2569 if (mesh_parse_meshgate_action(ni, wh, &ie, frm+2, efrm) != 0) {
3388 const struct ieee80211_frame *wh,