Lines Matching full:ni

65 static	int wds_input(struct ieee80211_node *ni, struct mbuf *m,
101 wds_flush(struct ieee80211_node *ni)
103 struct ieee80211com *ic = ni->ni_ic;
108 (void *)(uintptr_t) ieee80211_mac_hash(ic, ni->ni_macaddr));
112 IEEE80211_NOTE(ni->ni_vap, IEEE80211_MSG_WDS, ni,
114 ic->ic_node_getsignal(ni, &rssi, &nf);
118 ieee80211_input(ni, m, rssi, nf);
127 struct ieee80211_node *ni, *obss;
149 ni = ieee80211_find_node_locked(&ic->ic_sta, vap->iv_des_bssid);
150 if (ni == NULL) {
161 } else if (ni->ni_wdsvap != NULL) {
172 ni->ni_wdsvap->iv_ifp->if_xname);
178 obss = vap->iv_update_bss(vap, ni);
179 ni->ni_wdsvap = vap;
197 ni = ieee80211_node_create_wds(vap, vap->iv_des_bssid, chan);
198 if (ni != NULL) {
199 obss = vap->iv_update_bss(vap, ieee80211_ref_node(ni));
200 ni->ni_flags |= IEEE80211_NODE_AREF;
205 ic->ic_newassoc(ni, 1);
208 vap->iv_auth->ia_node_join(ni);
209 if (ni->ni_authmode != IEEE80211_AUTH_8021X)
210 ieee80211_node_authorize(ni);
212 ieee80211_notify_node_join(ni, 1 /*newassoc*/);
220 if (ni != NULL)
221 wds_flush(ni);
222 return (ni == NULL ? ENOENT : 0);
234 struct ieee80211_node *ni;
262 ni = ieee80211_find_txnode(vap, eh->ether_dhost);
263 if (ni == NULL) {
270 if (ieee80211_classify(ni, mcopy)) {
278 ieee80211_free_node(ni);
288 mcopy = ieee80211_encap(vap, ni, mcopy);
292 ieee80211_free_node(ni);
297 mcopy->m_pkthdr.rcvif = (void *) ni;
318 ieee80211_dwds_discover(struct ieee80211_node *ni, struct mbuf *m)
320 struct ieee80211com *ic = ni->ni_ic;
332 ieee80211_mac_hash(ic, ni->ni_macaddr);
334 ((ni->ni_intval * ic->ic_lintval) << 2) / 1024);
335 ieee80211_notify_wds_discover(ni);
407 wds_input(struct ieee80211_node *ni, struct mbuf *m,
410 struct ieee80211vap *vap = ni->ni_vap;
411 struct ieee80211com *ic = ni->ni_ic;
446 KASSERT(ni != NULL, ("null node"));
452 ni->ni_macaddr, NULL,
466 ni->ni_inact = ni->ni_inact_reload;
470 ni->ni_macaddr, NULL, "wrong version, fc %02x:%02x",
483 IEEE80211_MSG_ANY, ni->ni_macaddr, NULL,
497 IEEE80211_RSSI_LPF(ni->ni_avgrssi, rssi);
498 ni->ni_noise = nf;
504 if (! ieee80211_check_rxseq(ni, wh, wh->i_addr1, rxs))
513 ni->ni_macaddr, NULL,
540 ieee80211_ampdu_reorder(ni, m, rxs) != 0) {
562 IEEE80211_NODE_STAT(ni, rx_noprivacy);
565 if (ieee80211_crypto_decap(ni, m, hdrspace, &key) == 0) {
567 IEEE80211_NODE_STAT(ni, rx_wepfail);
590 m = ieee80211_defrag(ni, m, hdrspace, has_decrypted);
603 ni->ni_macaddr, "data", "%s", "demic error");
605 IEEE80211_NODE_STAT(ni, rx_demicfail);
625 ni->ni_macaddr, "data", "%s", "decap error");
627 IEEE80211_NODE_STAT(ni, rx_decap);
634 if (!ieee80211_node_is_authorized(ni)) {
646 ni->ni_macaddr, "data", "unauthorized or "
651 IEEE80211_NODE_STAT(ni, rx_unauth);
668 IEEE80211_NODE_STAT(ni, rx_unencrypted);
674 m = ieee80211_decap_amsdu(ni, m);
679 m = ieee80211_decap_fastframe(vap, ni, m);
684 ieee80211_deliver_data(vap, ni, m);
689 IEEE80211_NODE_STAT(ni, rx_mgmt);
698 ni->ni_macaddr, "mgt", "too short: len %u",
716 vap->iv_recv_mgmt(ni, m, subtype, rxs, rssi, nf);
721 IEEE80211_NODE_STAT(ni, rx_ctrl);
742 wds_recv_mgmt(struct ieee80211_node *ni, struct mbuf *m0, int subtype,
745 struct ieee80211vap *vap = ni->ni_vap;
746 struct ieee80211com *ic = ni->ni_ic;
756 if (ni == vap->iv_bss) {
771 if (ieee80211_parse_action(ni, m0) == 0)
772 (void)ic->ic_recv_action(ni, wh, frm, efrm);