Lines Matching refs:wh

1176 	const struct ieee80211_frame *wh =  in mesh_forward()  local
1193 IEEE80211_NOTE_FRAME(vap, IEEE80211_MSG_MESH, wh, in mesh_forward()
1199 IEEE80211_NOTE_FRAME(vap, IEEE80211_MSG_MESH, wh, in mesh_forward()
1206 IEEE80211_NOTE_FRAME(vap, IEEE80211_MSG_MESH, wh, in mesh_forward()
1212 mcopy = m_pullup(mcopy, ieee80211_hdrspace(ic, wh) + in mesh_forward()
1215 IEEE80211_NOTE_FRAME(vap, IEEE80211_MSG_MESH, wh, in mesh_forward()
1224 (mtod(mcopy, uint8_t *) + ieee80211_hdrspace(ic, wh)); in mesh_forward()
1228 if (IEEE80211_IS_MULTICAST(wh->i_addr1)) { in mesh_forward()
1240 IEEE80211_NOTE_FRAME(vap, IEEE80211_MSG_MESH, wh, in mesh_forward()
1279 #define WHDIR(wh) ((wh)->i_fc[1] & IEEE80211_FC1_DIR_MASK) in mesh_decap() argument
1283 const struct ieee80211_qosframe_addr4 *wh; in mesh_decap() local
1297 wh = (const struct ieee80211_qosframe_addr4 *)&b[0]; in mesh_decap()
1299 KASSERT(WHDIR(wh) == IEEE80211_FC1_DIR_FROMDS || in mesh_decap()
1300 WHDIR(wh) == IEEE80211_FC1_DIR_DSTODS, in mesh_decap()
1301 ("bogus dir, fc 0x%x:0x%x", wh->i_fc[0], wh->i_fc[1])); in mesh_decap()
1317 if (WHDIR(wh) == IEEE80211_FC1_DIR_FROMDS) { in mesh_decap()
1318 IEEE80211_ADDR_COPY(eh->ether_dhost, wh->i_addr1); in mesh_decap()
1320 IEEE80211_ADDR_COPY(eh->ether_shost, wh->i_addr3); in mesh_decap()
1326 (const struct ieee80211_frame *)wh, NULL, in mesh_decap()
1334 IEEE80211_ADDR_COPY(eh->ether_dhost, wh->i_addr3); in mesh_decap()
1335 IEEE80211_ADDR_COPY(eh->ether_shost, wh->i_addr4); in mesh_decap()
1341 (const struct ieee80211_frame *)wh, NULL, in mesh_decap()
1370 mesh_isucastforme(struct ieee80211vap *vap, const struct ieee80211_frame *wh, in mesh_isucastforme() argument
1375 KASSERT((wh->i_fc[1] & IEEE80211_FC1_DIR_MASK) == IEEE80211_FC1_DIR_DSTODS, in mesh_isucastforme()
1376 ("bad dir 0x%x:0x%x", wh->i_fc[0], wh->i_fc[1])); in mesh_isucastforme()
1388 return IEEE80211_ADDR_EQ(wh->i_addr3, vap->iv_myaddr); in mesh_isucastforme()
1399 struct ieee80211_frame *wh, const struct ieee80211_meshcntl *mc) in mesh_recv_indiv_data_to_fwrd() argument
1408 qwh = (struct ieee80211_qosframe_addr4 *)wh; in mesh_recv_indiv_data_to_fwrd()
1461 struct ieee80211_frame *wh, const struct ieee80211_meshcntl *mc) in mesh_recv_indiv_data_to_me() argument
1472 qwh = (struct ieee80211_qosframe_addr4 *)wh; in mesh_recv_indiv_data_to_me()
1536 struct ieee80211_frame *wh, const struct ieee80211_meshcntl *mc) in mesh_recv_group_data() argument
1575 struct ieee80211_frame *wh; in mesh_input() local
1605 wh = mtod(m, struct ieee80211_frame *); in mesh_input()
1607 if ((wh->i_fc[0] & IEEE80211_FC0_VERSION_MASK) != in mesh_input()
1610 ni->ni_macaddr, NULL, "wrong version %x", wh->i_fc[0]); in mesh_input()
1614 dir = wh->i_fc[1] & IEEE80211_FC1_DIR_MASK; in mesh_input()
1615 type = wh->i_fc[0] & IEEE80211_FC0_TYPE_MASK; in mesh_input()
1616 subtype = wh->i_fc[0] & IEEE80211_FC0_SUBTYPE_MASK; in mesh_input()
1621 uint8_t tid = ieee80211_gettid(wh); in mesh_input()
1623 if (IEEE80211_QOS_HAS_SEQ(wh) && in mesh_input()
1626 if (! ieee80211_check_rxseq(ni, wh, wh->i_addr1)) in mesh_input()
1638 if (vap->iv_acl != NULL && !vap->iv_acl->iac_check(vap, wh)) { in mesh_input()
1640 wh, NULL, "%s", "disallowed by ACL"); in mesh_input()
1660 wh, "data", "incorrect dir 0x%x", dir); in mesh_input()
1668 wh, "data", "incorrect subtype 0x%x", subtype); in mesh_input()
1679 hdrspace = ieee80211_hdrspace(ic, wh); in mesh_input()
1680 if (!IEEE80211_IS_MULTICAST(wh->i_addr1)) { in mesh_input()
1687 wh = mtod(m, struct ieee80211_frame *); /* NB: after defrag */ in mesh_input()
1699 if (IEEE80211_IS_DSTODS(wh)) in mesh_input()
1701 ((struct ieee80211_qosframe_addr4 *)wh)->i_qos; in mesh_input()
1704 ((struct ieee80211_qosframe *)wh)->i_qos; in mesh_input()
1756 if (IEEE80211_IS_MULTICAST(wh->i_addr1)) in mesh_input()
1757 addr = wh->i_addr3; in mesh_input()
1761 addr = ((struct ieee80211_qosframe_addr4 *)wh)->i_addr4; in mesh_input()
1774 if (!IEEE80211_IS_MULTICAST(wh->i_addr1)) { in mesh_input()
1775 if (IEEE80211_ADDR_EQ(vap->iv_myaddr, wh->i_addr3)) in mesh_input()
1777 mesh_recv_indiv_data_to_me(vap, m, wh, mc); in mesh_input()
1778 else if (IEEE80211_IS_MULTICAST(wh->i_addr3)) in mesh_input()
1779 error = mesh_recv_group_data(vap, m, wh, mc); in mesh_input()
1782 wh, mc); in mesh_input()
1784 error = mesh_recv_group_data(vap, m, wh, mc); in mesh_input()
1822 wh, "mgt", "incorrect dir 0x%x", dir); in mesh_input()
1839 ether_sprintf(wh->i_addr2), rssi); in mesh_input()
1842 if (wh->i_fc[1] & IEEE80211_FC1_PROTECTED) { in mesh_input()
1844 wh, NULL, "%s", "WEP set but not permitted"); in mesh_input()
1856 wh, "bad", "frame type 0x%x", type); in mesh_input()
1882 struct ieee80211_frame *wh; in mesh_recv_mgmt() local
1886 wh = mtod(m0, struct ieee80211_frame *); in mesh_recv_mgmt()
1887 frm = (uint8_t *)&wh[1]; in mesh_recv_mgmt()
1930 ieee80211_add_scan(vap, rxchan, &scan, wh, in mesh_recv_mgmt()
1945 wh, "beacon", "%s", "not a mesh sta"); in mesh_recv_mgmt()
1955 wh, "beacon", "%s", "not for our mesh"); in mesh_recv_mgmt()
1962 if (vap->iv_acl != NULL && !vap->iv_acl->iac_check(vap, wh)) { in mesh_recv_mgmt()
1964 wh, NULL, "%s", "disallowed by ACL"); in mesh_recv_mgmt()
1971 if (!IEEE80211_ADDR_EQ(wh->i_addr2, ni->ni_macaddr)) { in mesh_recv_mgmt()
1975 ni = ieee80211_add_neighbor(vap, wh, &scan); in mesh_recv_mgmt()
2009 rt = ieee80211_mesh_rt_find(vap, wh->i_addr2); in mesh_recv_mgmt()
2030 wh, NULL, "wrong state %s", in mesh_recv_mgmt()
2035 if (IEEE80211_IS_MULTICAST(wh->i_addr2)) { in mesh_recv_mgmt()
2038 wh, NULL, "%s", "not unicast"); in mesh_recv_mgmt()
2082 IEEE80211_NOTE_MAC(vap, IEEE80211_MSG_INPUT, wh->i_addr2, in mesh_recv_mgmt()
2090 ieee80211_send_proberesp(vap, wh->i_addr2, 0); in mesh_recv_mgmt()
2098 wh, NULL, "%s", "unknown node"); in mesh_recv_mgmt()
2100 } else if (!IEEE80211_ADDR_EQ(vap->iv_myaddr, wh->i_addr1) && in mesh_recv_mgmt()
2101 !IEEE80211_IS_MULTICAST(wh->i_addr1)) { in mesh_recv_mgmt()
2103 wh, NULL, "%s", "not for us"); in mesh_recv_mgmt()
2107 wh, NULL, "wrong state %s", in mesh_recv_mgmt()
2112 (void)ic->ic_recv_action(ni, wh, frm, efrm); in mesh_recv_mgmt()
2126 wh, NULL, "%s", "not handled"); in mesh_recv_mgmt()
2132 wh, "mgt", "subtype 0x%x not handled", subtype); in mesh_recv_mgmt()
2154 const struct ieee80211_frame *wh, /* XXX for VERIFY_LENGTH */ in mesh_parse_meshpeering_action() argument
2214 wh, NULL, "%s", "MPM validation failed"); in mesh_parse_meshpeering_action()
2222 wh, NULL, "%s", "not for our mesh"); in mesh_parse_meshpeering_action()
2243 wh, NULL, "%s", "configuration missmatch"); in mesh_parse_meshpeering_action()
2284 const struct ieee80211_frame *wh, in mesh_recv_action_meshpeering_open() argument
2294 meshpeer = mesh_parse_meshpeering_action(ni, wh, frm+2+2, efrm, &ie, in mesh_recv_action_meshpeering_open()
2432 const struct ieee80211_frame *wh, in mesh_recv_action_meshpeering_confirm() argument
2441 meshpeer = mesh_parse_meshpeering_action(ni, wh, frm+2+2+2+2, efrm, &ie, in mesh_recv_action_meshpeering_confirm()
2486 wh, NULL, "received confirm in invalid state %d", in mesh_recv_action_meshpeering_confirm()
2496 const struct ieee80211_frame *wh, in mesh_recv_action_meshpeering_close() argument
2504 meshpeer = mesh_parse_meshpeering_action(ni, wh, frm+2, efrm, &ie, in mesh_recv_action_meshpeering_close()
2550 const struct ieee80211_frame *wh, in mesh_recv_action_meshlmetric() argument
2576 const struct ieee80211_frame *wh, /* XXX for VERIFY_LENGTH */ in mesh_parse_meshgate_action() argument
2609 const struct ieee80211_frame *wh, in mesh_recv_action_meshgate() argument
2621 if (mesh_parse_meshgate_action(ni, wh, &ie, frm+2, efrm) != 0) { in mesh_recv_action_meshgate()
2717 struct ieee80211_frame *wh; in mesh_send_action() local
2738 wh = mtod(m, struct ieee80211_frame *); in mesh_send_action()
3468 const struct ieee80211_frame *wh, in ieee80211_mesh_init_neighbor() argument