Date: Sun, 26 Apr 2009 21:03:29 +0000 (UTC) From: Sam Leffler <sam@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r191534 - head/sys/net80211 Message-ID: <200904262103.n3QL3T4h094544@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: sam Date: Sun Apr 26 21:03:29 2009 New Revision: 191534 URL: http://svn.freebsd.org/changeset/base/191534 Log: o use shared code to handle bpf tap and mbuf cleanup o swap conditional order to put the cheapest first Modified: head/sys/net80211/ieee80211_adhoc.c head/sys/net80211/ieee80211_hostap.c head/sys/net80211/ieee80211_sta.c Modified: head/sys/net80211/ieee80211_adhoc.c ============================================================================== --- head/sys/net80211/ieee80211_adhoc.c Sun Apr 26 21:03:27 2009 (r191533) +++ head/sys/net80211/ieee80211_adhoc.c Sun Apr 26 21:03:29 2009 (r191534) @@ -637,11 +637,8 @@ adhoc_input(struct ieee80211_node *ni, s vap->iv_stats.is_rx_mgtdiscard++; /* XXX */ goto out; } - if (bpf_peers_present(vap->iv_rawbpf)) - bpf_mtap(vap->iv_rawbpf, m); vap->iv_recv_mgmt(ni, m, subtype, rssi, noise, rstamp); - m_freem(m); - return IEEE80211_FC0_TYPE_MGT; + goto out; case IEEE80211_FC0_TYPE_CTL: vap->iv_stats.is_rx_ctl++; @@ -657,7 +654,7 @@ err: ifp->if_ierrors++; out: if (m != NULL) { - if (bpf_peers_present(vap->iv_rawbpf) && need_tap) + if (need_tap && bpf_peers_present(vap->iv_rawbpf)) bpf_mtap(vap->iv_rawbpf, m); m_freem(m); } Modified: head/sys/net80211/ieee80211_hostap.c ============================================================================== --- head/sys/net80211/ieee80211_hostap.c Sun Apr 26 21:03:27 2009 (r191533) +++ head/sys/net80211/ieee80211_hostap.c Sun Apr 26 21:03:29 2009 (r191534) @@ -831,11 +831,8 @@ hostap_input(struct ieee80211_node *ni, wh = mtod(m, struct ieee80211_frame *); wh->i_fc[1] &= ~IEEE80211_FC1_WEP; } - if (bpf_peers_present(vap->iv_rawbpf)) - bpf_mtap(vap->iv_rawbpf, m); vap->iv_recv_mgmt(ni, m, subtype, rssi, noise, rstamp); - m_freem(m); - return IEEE80211_FC0_TYPE_MGT; + goto out; case IEEE80211_FC0_TYPE_CTL: vap->iv_stats.is_rx_ctl++; @@ -859,7 +856,7 @@ err: ifp->if_ierrors++; out: if (m != NULL) { - if (bpf_peers_present(vap->iv_rawbpf) && need_tap) + if (need_tap && bpf_peers_present(vap->iv_rawbpf)) bpf_mtap(vap->iv_rawbpf, m); m_freem(m); } Modified: head/sys/net80211/ieee80211_sta.c ============================================================================== --- head/sys/net80211/ieee80211_sta.c Sun Apr 26 21:03:27 2009 (r191533) +++ head/sys/net80211/ieee80211_sta.c Sun Apr 26 21:03:29 2009 (r191534) @@ -866,11 +866,8 @@ sta_input(struct ieee80211_node *ni, str wh = mtod(m, struct ieee80211_frame *); wh->i_fc[1] &= ~IEEE80211_FC1_WEP; } - if (bpf_peers_present(vap->iv_rawbpf)) - bpf_mtap(vap->iv_rawbpf, m); vap->iv_recv_mgmt(ni, m, subtype, rssi, noise, rstamp); - m_freem(m); - return IEEE80211_FC0_TYPE_MGT; + goto out; case IEEE80211_FC0_TYPE_CTL: vap->iv_stats.is_rx_ctl++; @@ -886,7 +883,7 @@ err: ifp->if_ierrors++; out: if (m != NULL) { - if (bpf_peers_present(vap->iv_rawbpf) && need_tap) + if (need_tap && bpf_peers_present(vap->iv_rawbpf)) bpf_mtap(vap->iv_rawbpf, m); m_freem(m); }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200904262103.n3QL3T4h094544>