diff options
author | Sam Leffler <sam@FreeBSD.org> | 2009-04-27 22:06:49 +0000 |
---|---|---|
committer | Sam Leffler <sam@FreeBSD.org> | 2009-04-27 22:06:49 +0000 |
commit | 5d3220403f7da70891946d3f49af377540b8ee91 (patch) | |
tree | 063564bee5d9212bc88371c1aa4d02c13ea51222 /sys/net/if_bridge.c | |
parent | c39437eb4691fc481679e30c6d68a89eb8f3ea03 (diff) | |
download | src-5d3220403f7da70891946d3f49af377540b8ee91.tar.gz src-5d3220403f7da70891946d3f49af377540b8ee91.zip |
use if_transmit intead of direct frobbing of the if_snd q; this is no
longer allowed
Identified by: rwatson
Reviewed by: kmacy
Notes
Notes:
svn path=/head/; revision=191603
Diffstat (limited to 'sys/net/if_bridge.c')
-rw-r--r-- | sys/net/if_bridge.c | 13 |
1 files changed, 2 insertions, 11 deletions
diff --git a/sys/net/if_bridge.c b/sys/net/if_bridge.c index ef8cf5b41ac7..70db61456365 100644 --- a/sys/net/if_bridge.c +++ b/sys/net/if_bridge.c @@ -1761,24 +1761,15 @@ bridge_enqueue(struct bridge_softc *sc, struct ifnet *dst_ifp, struct mbuf *m) } if (err == 0) - IFQ_ENQUEUE(&dst_ifp->if_snd, m, err); + dst_ifp->if_transmit(dst_ifp, m); } if (err == 0) { - sc->sc_ifp->if_opackets++; sc->sc_ifp->if_obytes += len; - - dst_ifp->if_obytes += len; - - if (mflags & M_MCAST) { + if (mflags & M_MCAST) sc->sc_ifp->if_omcasts++; - dst_ifp->if_omcasts++; - } } - - if ((dst_ifp->if_drv_flags & IFF_DRV_OACTIVE) == 0) - (*dst_ifp->if_start)(dst_ifp); } /* |