The net80211 stack currently displays every received control frame
as "discarded input control packet" in netstat(1).

We do in fact process "power saving poll" and "block ack request" frames.
Such frames should not be counted as discarded.

ok?

(diff uses 5 context lines for easier review)

diff refs/heads/master refs/heads/rxctl
blob - 6e192cfb3abd2224f7c1ae81c4fa43dbab8e9cb7
blob + 3f38859dde5810fd0a4bef6781d0a6c4b2e60b78
--- sys/net80211/ieee80211_input.c
+++ sys/net80211/ieee80211_input.c
@@ -533,21 +533,21 @@ ieee80211_inputm(struct ifnet *ifp, struct mbuf *m, st
                (*ic->ic_recv_mgmt)(ic, m, ni, rxi, subtype);
                m_freem(m);
                return;
 
        case IEEE80211_FC0_TYPE_CTL:
-               ic->ic_stats.is_rx_ctl++;
                switch (subtype) {
 #ifndef IEEE80211_STA_ONLY
                case IEEE80211_FC0_SUBTYPE_PS_POLL:
                        ieee80211_recv_pspoll(ic, m, ni);
                        break;
 #endif
                case IEEE80211_FC0_SUBTYPE_BAR:
                        ieee80211_recv_bar(ic, m, ni);
                        break;
                default:
+                       ic->ic_stats.is_rx_ctl++;
                        break;
                }
                goto out;
 
        default:

Reply via email to