diff options
author | sam <sam@FreeBSD.org> | 2005-07-22 04:55:40 +0000 |
---|---|---|
committer | sam <sam@FreeBSD.org> | 2005-07-22 04:55:40 +0000 |
commit | 7c66d9190d5f4ebaf03e4b4cecbd543af5226238 (patch) | |
tree | 7a70be02a40bccc8fd435c8f6249855a0e7e8fc9 /sys/net80211 | |
parent | a596421faed3c4e9a6bfd1922c52d4812166deb9 (diff) | |
download | FreeBSD-src-7c66d9190d5f4ebaf03e4b4cecbd543af5226238.zip FreeBSD-src-7c66d9190d5f4ebaf03e4b4cecbd543af5226238.tar.gz |
use IF_HANDOFF when bridging frames internally so if_start gets
called; fixes communication between associated sta's
MFC after: 3 days
Diffstat (limited to 'sys/net80211')
-rw-r--r-- | sys/net80211/ieee80211_input.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/sys/net80211/ieee80211_input.c b/sys/net80211/ieee80211_input.c index 8bd202d..178c1e0 100644 --- a/sys/net80211/ieee80211_input.c +++ b/sys/net80211/ieee80211_input.c @@ -136,7 +136,7 @@ ieee80211_input(struct ieee80211com *ic, struct mbuf *m, struct ieee80211_frame *wh; struct ieee80211_key *key; struct ether_header *eh; - int len, hdrspace; + int hdrspace; u_int8_t dir, type, subtype; u_int8_t *bssid; u_int16_t rxseq; @@ -496,13 +496,8 @@ ieee80211_input(struct ieee80211com *ic, struct mbuf *m, ieee80211_free_node(ni1); } } - if (m1 != NULL) { - len = m1->m_pkthdr.len; - IF_ENQUEUE(&ifp->if_snd, m1); - if (m != NULL) - ifp->if_omcasts++; - ifp->if_obytes += len; - } + if (m1 != NULL) + IF_HANDOFF(&ifp->if_snd, m1, ifp); } if (m != NULL) { if (ni->ni_vlan != 0) { |