Deleted Added
full compact
30c30
< * $FreeBSD: head/sys/net/if_var.h 203052 2010-01-27 00:30:07Z delphij $
---
> * $FreeBSD: head/sys/net/if_var.h 203834 2010-02-13 16:04:58Z mlaier $
606,611c606,607
< if (ifp != NULL && ALTQ_IS_ENABLED(&ifp->if_snd)) {
< while (!IFQ_IS_EMPTY(&ifp->if_snd)) {
< IFQ_DRV_DEQUEUE(&ifp->if_snd, m);
< m_freem(m);
< }
< }
---
> if (ifp != NULL && ALTQ_IS_ENABLED(&ifp->if_snd))
> IFQ_PURGE(&ifp->if_snd);
632c628
< IFQ_DRV_DEQUEUE(&ifp->if_snd, m);
---
> IFQ_DEQUEUE(&ifp->if_snd, m);
645,649c641,649
< /*
< * XXX need to evaluate / requeue
< */
< if (ALTQ_IS_ENABLED(&ifp->if_snd)) {
< IFQ_DRV_DEQUEUE(&ifp->if_snd, m);
---
> if (ALTQ_IS_ENABLED(&ifp->if_snd)) {
> IFQ_LOCK(&ifp->if_snd);
> IFQ_POLL_NOLOCK(&ifp->if_snd, m);
> if (m != NULL && func(m, arg) == 0) {
> IFQ_UNLOCK(&ifp->if_snd);
> return (NULL);
> }
> IFQ_DEQUEUE(&ifp->if_snd, m);
> IFQ_UNLOCK(&ifp->if_snd);
665c665
< return (IFQ_DRV_IS_EMPTY(&ifp->if_snd));
---
> return (IFQ_IS_EMPTY(&ifp->if_snd));
670a671,680
> drbr_needs_enqueue(struct ifnet *ifp, struct buf_ring *br)
> {
> #ifdef ALTQ
> if (ALTQ_IS_ENABLED(&ifp->if_snd))
> return (1);
> #endif
> return (!buf_ring_empty(br));
> }
>
> static __inline int