Lines Matching defs:wh
1147 const struct ieee80211_frame *wh =
1164 IEEE80211_NOTE_FRAME(vap, IEEE80211_MSG_MESH, wh,
1170 IEEE80211_NOTE_FRAME(vap, IEEE80211_MSG_MESH, wh,
1177 IEEE80211_NOTE_FRAME(vap, IEEE80211_MSG_MESH, wh,
1183 mcopy = m_pullup(mcopy, ieee80211_hdrspace(ic, wh) +
1186 IEEE80211_NOTE_FRAME(vap, IEEE80211_MSG_MESH, wh,
1195 (mtod(mcopy, uint8_t *) + ieee80211_hdrspace(ic, wh));
1199 if (IEEE80211_IS_MULTICAST(wh->i_addr1)) {
1211 IEEE80211_NOTE_FRAME(vap, IEEE80211_MSG_MESH, wh,
1251 #define WHDIR(wh) ((wh)->i_fc[1] & IEEE80211_FC1_DIR_MASK)
1255 const struct ieee80211_qosframe_addr4 *wh;
1269 wh = (const struct ieee80211_qosframe_addr4 *)&b[0];
1271 KASSERT(WHDIR(wh) == IEEE80211_FC1_DIR_FROMDS ||
1272 WHDIR(wh) == IEEE80211_FC1_DIR_DSTODS,
1273 ("bogus dir, fc 0x%x:0x%x", wh->i_fc[0], wh->i_fc[1]));
1289 if (WHDIR(wh) == IEEE80211_FC1_DIR_FROMDS) {
1290 IEEE80211_ADDR_COPY(eh->ether_dhost, wh->i_addr1);
1292 IEEE80211_ADDR_COPY(eh->ether_shost, wh->i_addr3);
1298 (const struct ieee80211_frame *)wh, NULL,
1306 IEEE80211_ADDR_COPY(eh->ether_dhost, wh->i_addr3);
1307 IEEE80211_ADDR_COPY(eh->ether_shost, wh->i_addr4);
1313 (const struct ieee80211_frame *)wh, NULL,
1342 mesh_isucastforme(struct ieee80211vap *vap, const struct ieee80211_frame *wh,
1347 KASSERT((wh->i_fc[1] & IEEE80211_FC1_DIR_MASK) == IEEE80211_FC1_DIR_DSTODS,
1348 ("bad dir 0x%x:0x%x", wh->i_fc[0], wh->i_fc[1]));
1360 return IEEE80211_ADDR_EQ(wh->i_addr3, vap->iv_myaddr);
1371 struct ieee80211_frame *wh, const struct ieee80211_meshcntl *mc)
1380 qwh = (struct ieee80211_qosframe_addr4 *)wh;
1428 struct ieee80211_frame *wh, const struct ieee80211_meshcntl *mc)
1439 qwh = (struct ieee80211_qosframe_addr4 *)wh;
1496 struct ieee80211_frame *wh, const struct ieee80211_meshcntl *mc)
1535 struct ieee80211_frame *wh;
1565 wh = mtod(m, struct ieee80211_frame *);
1567 if (!IEEE80211_IS_FC0_CHECK_VER(wh, IEEE80211_FC0_VERSION_0)) {
1569 ni->ni_macaddr, NULL, "wrong version %x", wh->i_fc[0]);
1573 dir = wh->i_fc[1] & IEEE80211_FC1_DIR_MASK;
1574 type = wh->i_fc[0] & IEEE80211_FC0_TYPE_MASK;
1575 subtype = wh->i_fc[0] & IEEE80211_FC0_SUBTYPE_MASK;
1580 uint8_t tid = ieee80211_gettid(wh);
1582 if (IEEE80211_QOS_HAS_SEQ(wh) &&
1585 if (! ieee80211_check_rxseq(ni, wh, wh->i_addr1, rxs))
1597 if (vap->iv_acl != NULL && !vap->iv_acl->iac_check(vap, wh)) {
1599 wh, NULL, "%s", "disallowed by ACL");
1619 wh, "data", "incorrect dir 0x%x", dir);
1627 wh, "data", "incorrect subtype 0x%x", subtype);
1638 hdrspace = ieee80211_hdrspace(ic, wh);
1639 if (!IEEE80211_IS_MULTICAST(wh->i_addr1)) {
1646 wh = mtod(m, struct ieee80211_frame *); /* NB: after defrag */
1658 *(uint16_t *)qos = *(uint16_t *)ieee80211_getqos(wh);
1710 if (IEEE80211_IS_MULTICAST(wh->i_addr1))
1711 addr = wh->i_addr3;
1715 addr = ((struct ieee80211_qosframe_addr4 *)wh)->i_addr4;
1728 if (!IEEE80211_IS_MULTICAST(wh->i_addr1)) {
1729 if (IEEE80211_ADDR_EQ(vap->iv_myaddr, wh->i_addr3))
1731 mesh_recv_indiv_data_to_me(vap, m, wh, mc);
1732 else if (IEEE80211_IS_MULTICAST(wh->i_addr3))
1733 error = mesh_recv_group_data(vap, m, wh, mc);
1736 wh, mc);
1738 error = mesh_recv_group_data(vap, m, wh, mc);
1776 wh, "mgt", "incorrect dir 0x%x", dir);
1793 ether_sprintf(wh->i_addr2), rssi);
1796 if (IEEE80211_IS_PROTECTED(wh)) {
1798 wh, NULL, "%s", "WEP set but not permitted");
1810 wh, "bad", "frame type 0x%x", type);
1835 struct ieee80211_frame *wh;
1839 wh = mtod(m0, struct ieee80211_frame *);
1840 frm = (uint8_t *)&wh[1];
1883 ieee80211_add_scan(vap, rxchan, &scan, wh,
1898 wh, "beacon", "%s", "not a mesh sta");
1908 wh, "beacon", "%s", "not for our mesh");
1915 if (vap->iv_acl != NULL && !vap->iv_acl->iac_check(vap, wh)) {
1917 wh, NULL, "%s", "disallowed by ACL");
1924 if (!IEEE80211_ADDR_EQ(wh->i_addr2, ni->ni_macaddr)) {
1928 ni = ieee80211_add_neighbor(vap, wh, &scan);
1962 rt = ieee80211_mesh_rt_find(vap, wh->i_addr2);
1982 wh, NULL, "wrong state %s",
1987 if (IEEE80211_IS_MULTICAST(wh->i_addr2)) {
1990 wh, NULL, "%s", "not unicast");
2033 IEEE80211_NOTE_MAC(vap, IEEE80211_MSG_INPUT, wh->i_addr2,
2041 ieee80211_send_proberesp(vap, wh->i_addr2, 0);
2049 wh, NULL, "%s", "unknown node");
2051 } else if (!IEEE80211_ADDR_EQ(vap->iv_myaddr, wh->i_addr1) &&
2052 !IEEE80211_IS_MULTICAST(wh->i_addr1)) {
2054 wh, NULL, "%s", "not for us");
2058 wh, NULL, "wrong state %s",
2063 (void)ic->ic_recv_action(ni, wh, frm, efrm);
2077 wh, NULL, "%s", "not handled");
2083 wh, "mgt", "subtype 0x%x not handled", subtype);
2105 const struct ieee80211_frame *wh, /* XXX for VERIFY_LENGTH */
2164 wh, NULL, "%s", "MPM validation failed");
2172 wh, NULL, "%s", "not for our mesh");
2193 wh, NULL, "%s", "configuration mismatch");
2234 const struct ieee80211_frame *wh,
2244 meshpeer = mesh_parse_meshpeering_action(ni, wh, frm+2+2, efrm, &ie,
2382 const struct ieee80211_frame *wh,
2391 meshpeer = mesh_parse_meshpeering_action(ni, wh, frm+2+2+2+2, efrm, &ie,
2436 wh, NULL, "received confirm in invalid state %d",
2446 const struct ieee80211_frame *wh,
2454 meshpeer = mesh_parse_meshpeering_action(ni, wh, frm+2, efrm, &ie,
2500 const struct ieee80211_frame *wh,
2526 const struct ieee80211_frame *wh, /* XXX for VERIFY_LENGTH */
2559 const struct ieee80211_frame *wh,
2571 if (mesh_parse_meshgate_action(ni, wh, &ie, frm+2, efrm) != 0) {
3389 const struct ieee80211_frame *wh,